• 締切済み

RubyのDateクラスのメソッドが見つからない

先日よりRubyでのプログラミングを始めてみたのですが DateクラスのDate::MOTHNAMESを参照しようとしたところ undefined method `MOTHNAMES' for Date:Class (NoMethodError) と返ってきてしまいました。 ほかにもDate::exist?メソッドもためしてみましたが、同じ様なコメントが 返ってきました。 undefined method `exist?' for Date:Class (NoMethodError) なお、 Date.newなどはつかえています どういった問題でどのように解決すれば良いのか、ご教示願えればと思います。 バージョンは ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0] で、Mac OSX Lionで動かしています。

みんなの回答

  • siffon9
  • ベストアンサー率64% (136/211)
回答No.4

Date::MOTHNAMESではなくて、Date.MOTHNAMESで実行されたのではないでしょうか? MOTHNAMESはメソッドではなく定数なのでエラーになるのだと思います。 D:\>irb irb(main):001:0> require 'date' => true irb(main):002:0> Date::MONTHNAMES => [nil, "January", "February", "March", "April", "May", "June", "July", "August ", "September", "October", "November", "December"] irb(main):003:0> Date.MONTHNAMES NoMethodError: undefined method `MONTHNAMES' for Date:Class from (irb):3 from D:/Ruby193/bin/irb:12:in `<main>' irb(main):004:0> Date.constants => [:MONTHNAMES, :ABBR_MONTHNAMES, :DAYNAMES, :ABBR_DAYNAMES, :ITALY, :ENGLAND, :JULIAN, :GREGORIAN, :Infinity] irb(main):005:0> Date.methods => 表示省略

dcprg24
質問者

お礼

ご親切にありがとうございます。 しかし、Date::MOTHNAMESで実行していました。。

dcprg24
質問者

補足

ruby含め環境を再インストールしたら以上のように表示され、正常にうごきました。 なんだったんでしょうか・・・ 皆様、ご回答ありがとうございました。

すると、全ての回答が全文表示されます。
  • koko_u_u
  • ベストアンサー率18% (216/1139)
回答No.3

多分、Dateクラスに exist? なるメソッドはない。 MONTHNAMES はある $ irb 001:> require 'date' => true 002:> Date::MONTHNAMES => [nil, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]

dcprg24
質問者

お礼

そうでしたか、なにか勘違いしてました。 ありがとうございます。

すると、全ての回答が全文表示されます。
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.2

Mac OSX Lionの環境は当方にないので、推測ですが require 'date' はされていますか?

dcprg24
質問者

補足

はい、require 'date' をいれています。

すると、全ての回答が全文表示されます。
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

MONTHNAMESではなくて? 月(month)の名前(name)ですよね?

dcprg24
質問者

補足

あ、すみません、単に質問書くときにスペルミスしていました。MONTHNAMESでも同様の状態です。

すると、全ての回答が全文表示されます。

関連するQ&A