[#46595] nokogiriがインストールできない — Soichi Ishida <zau_777_emacs@...>
7 messages
2009/12/02
[#46602] プログラミング学習について — 清重 愛一郎 <loveone6@...>
初めまして、清重愛一郎と申します。大学生です。
10 messages
2009/12/03
[#46608] Ruby Shoesはどこからdownloadできますか? — 島村竜一 <shimamura@...>
はじめまして
6 messages
2009/12/05
[#46621] エラー([BUG])の追いかけ方 — "(株)ネットフォレスト 植田裕之" <ueda@...>
植田と申します。
6 messages
2009/12/07
[#46639] 動的HTMLからデータを取得 — Soichi Ishida <zau_777_emacs@...>
7 messages
2009/12/16
[#46647] RubyでWindowsの常駐サービスプログラムを作る方法 — kouichi_someya@...
はじめまして。
12 messages
2009/12/16
[#46649] Re: RubyでWindowsの常駐サービスプログラムを作る方法
— "U.Nakamura" <usa@...>
2009/12/17
こんにちは、なかむら(う)です。
[#46651] Re: RubyでWindowsの常駐サービスプログラムを作る方法
— 田口 浩 <h-taguchi@...>
2009/12/17
田口と申します。
[#46650] xpathについて — Soichi Ishida <zau_777_emacs@...>
6 messages
2009/12/17
[#46666] TCPSocket#peeraddr に時間がかかる。 — "5.5" <5.5@...>
5.5 です。
6 messages
2009/12/19
[#46667] Ruby/TkのTkHTMLを扱う際にsegmentation fault — 上野宏法 <ronor.u@...>
はじめまして。Ronorと申します。
5 messages
2009/12/19
[#46673] Ruby/GTK2でキー入力イベントをソフトウェア的に発生できません。 — Tomokiyo Nomura <tnomura@...>
野村@延岡です。
4 messages
2009/12/20
[#46674] 子プロセスを kill する方法は? — "Hideo Konami" <konami@...>
小波です。
7 messages
2009/12/21
[#46690] Float::INFINITY — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
きしもとです
10 messages
2009/12/22
[ruby-list:46585] Re: ActiveRecordとArrayのchoiceメソッドでエラー(1.8.7)
From:
Gen Ito <it0gn.25@...>
Date:
2009-12-01 05:22:03 UTC
List:
ruby-list #46585
itogです。
> さくさん
ありがとうございます。
> 1.8.7 には Array#choice は定義されているような。
ほんとだ、、、choiceがないのは1.8.6までですね。
choiceを置き換えなければそもそも発生しない問題でした。
1.8.6でもKernel.rand()で明示的に組み込みメソッドを呼べば
いいんですね。
重ね重ね、ありがとうございます。
----
itog
2009/12/1 OZAWA Sakuro <sakuro@2238club.org>:
> さくです。
>
> 2009年12月1日12:47 Gen Ito <it0gn.25@gmail.com>:
>
>> Ruby 1.8.7で、Array:choiceを使うため、逆引きRubyに載っている
>> 方法を使っているのですが、
>
> 1.8.7 には Array#choice は定義されているような。
>
> $ ruby -ve 'p 20.times.map { [1,2,3].choice }'
> ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9]
> [1, 2, 3, 2, 2, 1, 2, 3, 3, 3, 1, 3, 2, 2, 2, 3, 3, 1, 2, 2]
>
>> このchoiceメソッドを、ActiveRecordと一緒に使った場合に
>> エラーになってしまいます(コードは後述)。
>
>> in `rand': wrong number of arguments (1 for 0) (ArgumentError)
>
> active_recordがactive_supportを使用していますが、active_supportで
> choiceと同等の動作をする Array#rand (引数なし) が定義されています。
> active_support/core_ext/array/random_access.rb
>
> レシーバを略すと self(=Array)#rand が使われてしまうので、
> Array#choiceを自分で定義する場合は Kernel.rand を使う必要があります。
>
> --
> OZAWA Sakuro
>
> "The future will be better tomorrow." --Dan Quayle
>
>