• ベストアンサー

engawa.rb:17: syntax error, unexpec

engawa.rb:17: syntax error, unexpected tGVAR, expecting $end str1 = "縁側でお茶が飲みたい" と文字列に日本語を代入しただけでエラーが出るのですが、これはなぜなんでしょうか? よろしくお願いいたします。 環境のせいかもしれませんので書いておきます。 Linux,UTF-8,Ruby1.8です。

  • LLR4
  • お礼率54% (12/22)
  • Ruby
  • 回答数3
  • ありがとう数10

質問者が選んだベストアンサー

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

ubuntu 9.10, locale ja_JP.UTF-8 ですが、 下記のように問題なく動作します。 $ cat engawa.rb str1 = "縁側でお茶が飲みたい" puts str1 $ ruby --version ruby 1.8.7 (2009-06-12 patchlevel 174) [i486-linux] $ ruby engawa.rb 縁側でお茶が飲みたい 他の部分に文法エラーがあるのではないでしょうか。

LLR4
質問者

お礼

お騒がせるしました。split(//u)のuを指定していなかったせいらしいです。 uを付けたらちゃんと表示されました。ありがとうございました。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.3

#2 です。 unexpected tGVAR というエラーなので、スクリプトがJISコード(ISO-2022-JP)で書かれてしまっているのではないでしょうか。 nkf --guess ファイル名 で、文字コードを調べられます。

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

他の部分に問題がないとすると、その文字列がUTF-8で書かれているのに、rubyの起動時オプションで、-Ku 以外が指定されているのでしょう。-Ks とか。 環境変数 RUBYOPT で指定しているのかも。

関連するQ&A

  • エラー2401.rb:5: syntax erro

    エラー2401.rb:5: syntax error, unexpected '<', expecting end-of-input <% require 'date' % >の原因がわかりません 2401.rbというプログラムを作成し、実行を致しました。 ---------------------------- # coding: utf-8 require'erb' <% require 'date' % > <h1>ERB Test Page.</h1> <p>今日の日付は: <%= Date.today %></p> ---------------------------- ターミナルで実行したのですが、 下記のエラーが発生しました。 2401.rb:5: syntax error, unexpected '<', expecting end-of-input <% require 'date' % > 何度見なおしても原因がわからなく困っております。 このエラーは何を指しているのかわかりますでしょうか? 宜しくお願いします。 必要な情報は都度教えて頂ければ、追記します。 尚、macで開発しております。 RubyのERBの使用方法を学ぶべく勉強しております。

  • Sinatra syntax error

    あるコードの一部なんですがエラーが出てしまいます。 どのように解決すればいいでしょうか よろしくお願いします。 a.rb:5: syntax error, unexpected ',', expecting tASSOC @defeat = {rock::scissors, paper::rock, scissors::paper} ^ a.rb:5: syntax error, unexpected '}', expecting '='

    • ベストアンサー
    • Ruby
  • エラー文の意味

    エラー文の意味 ご質問させていただきます。 Macからターミナルを使ってRubyを動かしているのですが、変数を含んだファイルを実行しようとすると、エラーが出てしまいます。 例えば、 a = 3 print "私はリンゴを", a, "個持っています。" というファイルをapple.rbという名前で保存し、ターミナルから ruby apple.rb で実行すると、以下のようなエラー文が出ます。 apple.rb:1: syntax error, unexpected tIDENTIFIER, expecting $end このエラーはどういう意味なのでしょうか? よろしくお願いします。

  • REXMLについて教えてください2

    http://japan.internet.com/developer/20070703/27.htmlの doc.elements.each("guitars/make/model/color") { |element| puts element.text } を実行したら C:/DOCUME~1/.....: syntax error, unexpected '|', expecting '}' { |element| puts element.text } ^ C:/DOCUME~1/.......: syntax error, unexpected tIDENTIFIER, expecting kDO or '{' or '(' { |element| puts element.text } ^ C:/DOCUME~1/Hideyuki/LOCALS~1/Temp/rb22C.tmp:7: syntax error, unexpected '}', expecting $end Complete(1) とエラーが出ます。 サイトのプログラムそのままなのですが、何か勘違いしてますか? Rubyのバージョンとかが関係あるのでしょうか?

    • ベストアンサー
    • Ruby
  • syntax error 一行で書くと

    複数行で記述してあった箇所を、試しに一行にしてみたら、syntax errorとなりました。 改行した方が見やすいとは思うのですが、一行で書くときは、どうやればよいのでしょうか。 ■正常に動く class Foo __def print3 ____yield(1,2) __end end foo=Foo.new foo.print3{|x,y //この部分を一行にしてみたかったのですが、 __print x,"\n" __print y,"\n" } ■エラーとなる class Foo __def print3 (略) foo.print3{|x,y|print x,"\n" print y,"\n"} //←この行を直したいのですが、 (irb): syntax error, unexpected tIDENTIFIER, expecting '}'

    • ベストアンサー
    • Ruby
  • macでのhomebrewのインストールについて

    MacOSX10.8.5にてhomebrewをインストールしたいです。 調べたところ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" とターミナル上でコマンドを打てばインストール可能とのことでしたので、実行してみました。 ところが、 $ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" -e:4: syntax error, unexpected '<' <!DOCTYPE html> ^ -e:5: syntax error, unexpected '<' <html> ^ -e:7: syntax error, unexpected '<' <meta charset='utf-8'> ^ -e:8: syntax error, unexpected '<' <meta http-equiv="X-UA-Compatible" content="IE=edge"> ^ -e:8: syntax error, unexpected tIDENTIFIER, expecting $end <meta http-equiv="X-UA-Compatible" content="IE=edge"> というエラーが生じてしまいました。 どなたか解決方法をご存知でしたら、教えてください。 よろしくお願いします。

  • rubyのプログラム

    プログラミング初心者です。参考書のソースコードをそのままコピペして実行したのですが、エラーが出てしまいます。どこが間違っているのかご指摘いただけると助かります。 ソースコード #encoding: cp932 # うるう年かどうかによって時間数は変わります puts 24*365 puts " (#{24*366}になる場合もある) " 実行結果 >ruby calc.rb calc.rb:4: invalid multibyte char (Windows-31J) calc.rb:4: syntax error, unexpected tIDENTIFIER, expecting $end puts "(#{24*366}になる場合もある)" ^ >Exit code: 1 パソコンOS Windows7 rubyのバージョン 1.92

    • ベストアンサー
    • Ruby
  • Parse error: syntax error

    Parse error: syntax error, unexpected $end in ...on line 19について wordpressの方で、functions.phpに書いたものが、前に一度機能していたはずのソースが他の記述を加えたりしていたらエラーになってしまいました。今は下記だけです。どこが間違っているのでしょうか?前と同じソースをコピペしているので、原因がわかりません。 <?php function replaceImagePath($arg) { $content = str_replace('"images/', '"' . get_bloginfo('template_directory') . '/images/', $arg); return $content; } add_filter('the_content', 'replaceImagePath');

    • 締切済み
    • PHP
  • 文法エラーが解決出来ません・・

    phpでパースエラーが出るのですが、ドコが間違っているのかが解りません。 ============エラー文========================================= Parse error: syntax error, unexpected T_CHARACTER, expecting T_STRING or T_VARIABLE or T_NUM_STRING on line 296 ============================================================= ============エラーのソース(左の数字が行番号)================= 295|$str = " 296|//<form method=\"post\" action=\"$SERVER[\"PHP_SELF\"]\" enctype=\"multipart/form-data\" > ・ ・ 472|</html>"; 473|$str = mb_convert_encoding($str, "SJIS", "EUC-JP"); 474|echo $str; ============================================================= 295行目の$strに296行目から472行目までのHTML記述を代入して最後の行で出力しようとしているものです。 ちなみに、296行目のエスケープ(//)は、エスケープしてもしなくても296行目にエラーが出ます。 どなたか心当たりありましたらご意見宜しくお願いします!

    • ベストアンサー
    • PHP
  • configureでsyntax errorとなる

    さくらインターネットのレンタルサーバー(スタンダードプラン)でWEBサイトを構築しようとtidyのインストールで試行錯誤しています。 OSは FreeBSD 8.1-RELEASE-p13 amd64 です。 http://www.ebisawa.co.jp/wiki/index.php?WP%2FHTMLTidy#m55edd07 のサイトを参考にtidyのインストールに挑戦していたのですが、 # wget http://tidy.sourceforge.net/src/tidy_src.tgz # tar -xzvf tidy_src.tgz # cd tidy # sh ./build/gnuauto/setup.sh # ./configure # make # make install のconfigureをしようとしたら、syntax errorが出てきて先に進むことができません。 % ./configure % ./configure: 2410: Syntax error: word unexpected (expecting ")") とのエラーが出てきてしまいます。 FreeBSDに詳しくないので原因がなかなか特定できません。 よろしくお願いいたします。