20

私は現在、「Ruby を難しい方法で学ぶ」のレッスン 9 を受講しています。

指示どおりに行番号 6 を入力しましたが、実行中にエラーが発生します。

それは言います:

Syntax error, unexpected tCONSTANT, expecting $end
puts " Here ^ are the days : ", days 
4

2 に答える 2

26

前の行の文字列を閉じるのを忘れました。再現された問題は次のとおりです。

paul@paulbookpro ~ ⸩ ruby     
days = "abc
puts "Here are the days"
-:2: syntax error, unexpected tCONSTANT, expecting $end
puts "Here are the days"
          ^

「Here」という単語の前の二重引用符を前の行の文字列の終了引用符として扱い、Here という定数 (大文字で始まるトークン) を使用している理由が不思議です。

于 2011-09-06T09:07:46.187 に答える
6

このエラー メッセージは、Ruby パーサーが予期しない定数 (つまり、大文字で始まる識別子) に遭遇したことを意味します (具体的には、パーサーはファイルがその時点で終了することを予期していました)。

表示されたコードには定数さえ含まれていないため、問題はコードの別の部分が原因である可能性があります。

于 2011-09-06T09:04:22.793 に答える