Ruby 初心者スレッド Part 30at TECHRuby 初心者スレッド Part 30 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト170:デフォルトの名無しさん 09/08/17 20:35:18 Array#include?だと指定した値と等しい要素がある場合trueを返しますけど、 等しい要素数を返すにはselectで条件を満たす要素だけとりだしてそれのsizeを調べるしかないでしょうか? 171:デフォルトの名無しさん 09/08/17 20:52:31 >>170 その通りです。 便乗して質問させて下さい。 include? ってなんで Array で再定義してるんでしょうか? Enumerable#include? とは違う実装になってるんでしょうか? 172:デフォルトの名無しさん 09/08/17 20:53:08 まあ基本的にはそう grepしてもいいが、「一致する要素の数」というのを直接返すメソッドはない というかもしあったとしても内部でfind_allしてsize求めるはず 173:デフォルトの名無しさん 09/08/17 20:58:51 例として非nilを数える場合 [true,false,1, "a",nil,nil].inject(0){|r, i| r += (!i.nil?) ? 1 : 0} 書いてみたはいいけど汚いなぁ 174:デフォルトの名無しさん 09/08/17 21:11:12 >>171 rb_ary_includesが遅いと困るからきちんと作ったのだと推測 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch