• 締切済み

rubyの配列について

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

みんなの回答

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

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

noname#53923
質問者

補足

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

全文を見る
すると、全ての回答が全文表示されます。
  • asuncion
  • ベストアンサー率33% (2126/6288)
回答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

  • Rubyでの配列データの表示

    NetBeansを使ってRubyの勉強をしています。 PHPのprint_rのように配列のデータ構造などを画面に表示させたいのですが、 Rubyの場合は、pやppというのを使うと検索して知りました。 サイトの説明の通りに、test.rbというコントローラとtest.rhtmlというビューを用意して test.rbに以下のコードを記述したのですが、表示されません。 def test require 'pp' profile = {"last_name" => "yamada", 'first_name' => "takesi", 'addres' => 'Tokyo', 'old' => 28, 'height' => 172, "weight" => 65} p profile print "\n" pp profile end どうすれば、配列データをブラウザで表示することができるのでしょうか。 どうかご教示いただけますよう宜しくお願い致します。

  • Ruby での日付のあらわし方について

    Rubyで日付をかくと、 youbi = %w[日 月 火 水 木 金 土] t = Time.now puts "%s年 %s月 %s日 %s曜日" % [t.year, t.month, t.day, (youbi[t.wday])] 実行すると今日の日付がでますが、これを 例えば、現在の日時ではなくて、毎週水曜日の日付を表示したい場合はどのように書いたらよいですか? そして次の週がくれば、自動的に次の週の水曜日の日付をあらわすようなプログラムです。 教えてください。よろしくおねがいします。

    • ベストアンサー
    • Ruby
  • 共通で使う配列について

    外部ファイル(複数のページからインクルードされる)に、 配列を定義するのって普通なのでしょうか。 例えば、曜日関係の処理をする場合、 $days = Array(0=>'日', 1=>'月', 2=>'火', 3=>'水', 4=>'木', 5=>'金', 6=>'土'); と言う配列を用意すれば、曜日の一覧を表示することも、 番号に対応する曜日名を取得することもできます。 でも、定数でもないのに、別のファイルで定義された変数を使うのって何だか違和感があります・・・。 (配列が定数として使えれば一番良いんですが) そこで、「曜日の配列を返す関数」を用意すると言う方法(下記参照)も考えました。 function get_days(){ return Array(0=>'日', 1=>'月', 2=>'火', 3=>'水', 4=>'木', 5=>'金', 6=>'土'); } // 特定の曜日名を取得する場合 $days = get_days(); print $days[$number]; 結局やっていることは同じなのですが、関数を呼び出す手間がかかってしまうのもどうなんだろう・・・と思ってしまいます。 みなさんはこのような場合、どういった方法を使っていますか? また、この2つならどちらの方が分かりやすいですか?

    • ベストアンサー
    • PHP
  • Railsで500サーバーエラー

    Railsでコントローラーをつかわずにtest_controler.rbとindex.rhtmlを作成して各ディレクトリに置きました。コントローラーはdef index endだけのシンプルなものです。インデックスは空ページです。これでアクセスしたところ500エラーになりました。ジェネレータから作成しなければいけないのでしょうか よろしくお願いします。

    • ベストアンサー
    • Ruby
  • 曜日別

    エクセルで例えば 月 25 火 30 水 19 木 18 金 25 土 35 日 19 月 31 火 30 水 15 木 18 金 91 土 35 日 19 という表があります この表から 曜日別に 月 合計 火 合計 水 合計 という風にするにはどうすればいいのでしょうか? 祝祭日も加えたいです あと、曜日別に並べ替えたいです 月 25   31 火 30   30 という風に 教えてください   

  • 曜日の順番

    曜日の順番は、何故、日、月、火、水、木、金、土?太陽系でなら、日、水、金、火、月、木、土になりますが、何故ですか?

  • 曜日を日本語表示にする方法は?

    こんにちは、いつもお世話になっています。 以前どこかのサイトから、記憶(memo)とっていて、現在もそれを使っていたのですが、 何故か、本日(土)だけ、文字化けすることに気がつきました。 +-----------ここから----------------------- $youbi = array('日','月','火','水','木','金','土'); $gmt = time()+9*3600; $now = gmdate("Y/m/d(".$youbi[gmdate("w",$gmt)].") H:i:s", $gmt); +------------------------------ここまで--------- コードは、このように書いています。 それで、帰ってくる値は、「2004/05/15(?4) 03:46:44」となります。 文字化けさせないで、曜日を日本語にするには、どうしたら良いのでしょうか? 教えて下さい。よろしく、おねがいします。

    • ベストアンサー
    • PHP
  • エクセル関数の問題を教えください

    問題 関数を使用し、下記の例題のような予定表の日、曜日を表示させてください (1)2011年2月の予定表を作成してください (2)2011年3月の予定表を作成してください (月末の日が月により変わりますので、その部分を関数で作成してください) (曜日部分は全て関数で作成してください) 例題 3 月予定表 日 曜日 予定 1 火 2 水 3 木 4 金 5 土 6 日 7 月 8 火 9 水 10 木 11 金 12 土 13 日 14 月 15 火 16 水 17 木 18 金 19 土 20 日 21 月 22 火 23 水 24 木 25 金 26 土 27 日 28 月 29 火 30 水 31 木

  • java プログラム

    今日が月曜日として、3日ごとの曜日を 次のように100日後まで出力するプログラム 月、木、日、水、土、火、金、月、木、日、水、土、火、金、......

  • ユダヤの曜日

    曜日のことなのですが、天動説のプトレマイオス体系で、地球から近い順番で、月-水-金-日(太陽)-火-木-土 となり、ここから、土-日-月-火-水-木-金 が出てくるのは分るのですが、これから、どうして、日-月-火-水-木-金-土 となるかと云うことの質問です。 ユダヤ人は、エジプトかカルデアにいじめられたので、土曜を後ろに回した、とよく書いてあるのですが、ユダヤの曜日は、数字の順番で、最後がサバット(安息日)となっているだけで、planetary にはなっていません。 サバットを土曜に当てはめれば、サバットは7日目の日だから、日-月-火-水-木-金-土 の順番は出てきますが、それでは、なぜ、サバットが土曜になったのでしょうか?