2012-03-19 83 views
0
puts <<PARAGRAPH 
There's somthing going on here. 
With the PARAGRAPH thing 
We'll be able to type as much as we like. 
Even 4 lines if we want, or 5, or 6 . 
PARAGRAPH 

這可以正常工作,使用記事本++紅寶石放<<段落

但爲什麼不能工作?

puts <<PARAGRAPH 
aaaa Aa 
aaa 
AA 
PARAGRAPH 

test.rb:1:語法錯誤,意想不到的tCONSTANT,期待$結束

謝謝!

+2

無論你的片段爲我工作。 – 2012-03-19 15:49:07

回答

2

我的猜測是,在你的第二個片段PARAGRAPH是不是在行的乞討。

紅寶石中的多行字符串,奇怪的是這種方式。終止字符(無論它可能是什麼)必須是終止字符串的第一行,否則您經常會看到語法錯誤。

1

確保確保PARAGRAPH(第二實例)一)拼寫相同作爲第一個實例,以及b)在該行的開始處,或更改您的代碼:

def go 
    puts <<-PARAGRAPH # hyphen allows the end marker to be indented 
    Hi mom! 
    PARAGRAPH 
end 

有關詳細信息,閱讀intro to Stringsfull description

1

該代碼適用於我。一種方式我把它弄壞了被< <

之間和段落

puts << PARAGRAPH 
PARAGRAPH 
增加空間這是從下面的例子不同。

puts <<PARAGRAPH 
PARAGRAPH 

編輯:當我繼續玩它,我發現PARAGRAPH就像任何地方的持有人。你可以做到以下幾點,你仍然會得到一個段落中的字符串

puts <<ANYTHING_YOU_WANT 
ANYTHING_YOU_WANT 

我認爲這是很酷的,它並不僅限於這個詞的段落。我不知道。

0

我可以通過在最後的PARAGRAPH之後添加額外的空格來使版本出錯。

確保關閉PARAGRAPH確實是一個新行(每diedthreetimes的回答),並沒有尾隨字符(即空格,製表符等)