- ベストアンサー
初心者によるrubyプログラムのエラー解説
- プログラミング初心者が参考書のソースコードを実行した際にエラーが出てしまいました。エラーが発生する原因を解説します。
- エラー内容はinvalid multibyte charとsyntax errorです。これらのエラーが発生する理由と解決法をご紹介します。
- Windows7の環境でrubyのバージョン1.92を使用していました。ソースコード中のエンコーディング指定と特殊文字の利用が問題の原因でした。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- Ruby1.9.2でマジックコメントが反映されない
基本的な質問になるのですが、 CentOS5.5でRuby1.9.2を利用しているのですが、スクリプト中に、マジックコメントを 入れているにも関わらず、「invalid multibyte char」エラーが返ってきます。 追加で設定する情報があるのでしょうか。 お手数お掛けしますが、ご存知の方がいらっしゃれば、ご教示ください。 # ruby -v ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux] # cat hello.rb # -*- encoding: utf-8 -*- puts 'こんにちは' # ruby -v hello.rb ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux] hello.rb:2: invalid multibyte char (UTF-8) hello.rb:2: invalid multibyte char (UTF-8) # ruby -Ks hello.rb hello.rb:2: invalid multibyte char (UTF-8) hello.rb:2: invalid multibyte char (UTF-8)
- ベストアンサー
- Ruby
- 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
- プログラミング ruby について
悩んだ挙句、尋ねる相手もいないため、質問させてください。 テキストエディタに "puts 1+2" として、「calc.rb」と名前をつけて保存。その後コマンド プロンプトで"ruby calc.rb"で実行とすると、"3"と出力するはずのところ、"ruby: No such file or directory -- calc.rb (LoadEroor)"とでます。 何が原因でしょうか? ちなみに、テキストエディタとして、メモ帳 or SciTEを使用。 また、"ruby -v"の実行は、うまく表示されました
- ベストアンサー
- Ruby
- 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 このエラーはどういう意味なのでしょうか? よろしくお願いします。
- 締切済み
- Ruby
- rubyのmygameライブラリが動かない!!
rubyのmygameライブラリがうまく動作しません。 mygame使っている方に教えていただけると幸いです。 実行環境 OS:windos vista rubyバージョン:Active script ruby1.8.5.2 rubyのmygameライブラリ(SDL同梱)をダウンロードしました。 インストーラがうまく動作しなかったので手動でやりました。 確認のコマンド(ruby -r mygame/boot -e "")では、うまく動作しました。 しかし、いざソースファイルを書いて実行してみると次のようなエラーメッセージが 出てきて実行できません。 hello.rb:1: Invalid char `\377' in expression hello.rb:1 Invalid char `\376' in expression ちなみに、ソースコードは require 'mygame/boot' Font.render 'Hello World'
- 締切済み
- その他(プログラミング・開発)
- エラー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の使用方法を学ぶべく勉強しております。
- 締切済み
- Ruby
- engawa.rb:17: syntax error, unexpec
engawa.rb:17: syntax error, unexpected tGVAR, expecting $end str1 = "縁側でお茶が飲みたい" と文字列に日本語を代入しただけでエラーが出るのですが、これはなぜなんでしょうか? よろしくお願いいたします。 環境のせいかもしれませんので書いておきます。 Linux,UTF-8,Ruby1.8です。
- ベストアンサー
- Ruby
- Rubyプログラムヘッダ部分の書き方
度々すみませんが、他人のRubyプログラムを試しながら勉強しているのです。 今回の質問はプログラムの先頭の書き方です。ご存知の方にご教示を頂きたいのです。 ついでに、こちらの動作環境はLinux-Mint、Ruby1.9.3です。 次のはサンプルプログラムの先頭の5行です。 1 #!/usr/bin/env ruby 2 # -*- mode:ruby; coding:utf-8 -*- 3 require 'kconv' 4 require 'moji' 5 Encoding.default_external = "utf-8" 質問1: 2行目は処理する文字コードがUTF-8の指定に見えます。どんな場合に必要ですか。 実はあるプログラムをUTF-8のデータを処理するときに、2行目があると invalid multibyte char (UTF-8) のエラーが出ました。抜いたら正常処理します。 質問2: 3、4行目は、日本語処理のクラスを利用するためのライブラリ指定ですが、 使い分けがよく分からないのです。 質問3: 5行目はどんな場合に必要でしょうか。2行目と同じような役割に見えますが.... 初歩的な質問ばかりですが、どうぞよろしくお願いいたします。
- ベストアンサー
- 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"> というエラーが生じてしまいました。 どなたか解決方法をご存知でしたら、教えてください。 よろしくお願いします。
- 締切済み
- その他(プログラミング・開発)
お礼
エディッタにはSciTEを使用しております。 文字コードはcode page property になっており、よくわからなかったので、助言いただいた通りUTF-8を選択しマジックコメントを書き直したらプログラムが通りました。 本当にありがとうございました!