• 締切済み

rubyの配列について

~kane_controller.rb~ def kane @youbi = %w[日 月 火 水 木 金 土] end ~kane.rhtml~ <%= @youbi[0] %>  ※今は「日」を取得するために「0」を代入しています。 上記のように記述して曜日を取得するプログラムを設計しています。 しかしうまくできません。 「0」を指定した場合、「日 月 火 水」とでます。 どのように記述したら曜日をうまく取得することができるでしょうか?

みんなの回答

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.4

何度も申し訳ありません。 エラーメッセージでは、スクリプトの18行目でエラーが出ています。 提示してくださったスクリプトの18行目はどれですか? 行数が合わないようなのですけれど。

noname#53923
質問者

補足

すいません。空行ありましたの削除していました。 ~エラー行(18行目)  @youbi = ['日','月','火','水','木','金','土']

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.3

> C:/aptana/kakeibo/app/controllers/kane_controller.rb:18: unterminated string meets end of file > C:/aptana/kakeibo/app/controllers/kane_controller.rb:18: syntax error, unexpected $end, expecting kEND このエラーが出たときのkane_controller.rbを すべて見せていただくことは可能ですか?

noname#53923
質問者

補足

はい、可能です。 ちょっと関係ないのもはいっていますが、気にしないでください。 ~ソース class KaneController < ApplicationController def index  kane  render :action => 'kane' end def kane  hiduke = Date.today  @hiduketd = hiduke  @hiduke = Date.new(hiduke.year, hiduke.month, -1)  @youbi = ['日','月','火','水','木','金','土'] end end

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

> 文字コードは全て「shift_jis」を指定しております。 > 一番初めは「utf8」を指定しておりましたが、文字化けするので「shift_jis」に変更しました。 この指定を行っているのは作ろうとしているプロダクトの envrionment.rb で間違いないですか? つぎに、 ~kane_controller.rb~ def kane @youbi = %w[日 月 火 水 木 金 土] end この kane_controller.rb の中にある kane メソッドを切り出して (文字コードを変えないように注意してください)、 def kane %w[日 月 火 水 木 金 土][0] end p kane #インスタンス変数への代入をせず、配列の先頭要素を返し #それを出力する というスクリプトを実行するとなにが出力されますか? それが面倒なら、もとの kane メソッドでの配列の作成を @youbi = ['日', '月', '火', '水', '木', '金', '土'] でやってみるとか。

noname#53923
質問者

補足

envrionment.rbで間違いないです。 「@youbi = ['日', '月', '火', '水', '木', '金', '土']」でやってみましたが、エラーが出ました。「%w」がないとどうやら構文エラーになるみたいです。 ~エラー内容(一部抜粋) C:/aptana/kakeibo/app/controllers/kane_controller.rb:18: unterminated string meets end of file C:/aptana/kakeibo/app/controllers/kane_controller.rb:18: syntax error, unexpected $end, expecting kEND

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

rhtmlということはRoRですね。 文字コードの設定はどうなっていますか? またスクリプトを記述するのに使っているコードは? それから、日から水までの間の空白が実は全角空白だったり することはありませんか?

noname#53923
質問者

補足

そうです。「ruby on rails」です。記述するのを忘れていました。すいません。 文字コードは全て「shift_jis」を指定しております。 一番初めは「utf8」を指定しておりましたが、文字化けするので「shift_jis」に変更しました。 全角空白はありませんでした。全て半角空白でした。

関連するQ&A