Ruby 初心者スレッド Part 30at TECHRuby 初心者スレッド Part 30 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト567:デフォルトの名無しさん 09/09/03 13:46:07 Cの標準ライブラリにあるqsortも、「比較方法」だけを別関数で 作っておいて、その関数(のポインタ)を引数として渡すような造りになっている。 Strategyパターンですかな。 568:デフォルトの名無しさん 09/09/03 13:50:31 判断基準を別に設けると、ひとつの枠組みを用意するだけで好きに扱えるからいいよね。 人間配列.sort{|a,b| a.身長 <=> b.身長}だとか、体重に変えてみるとか、逆順にソートしてみるとか。 569:デフォルトの名無しさん 09/09/03 14:18:53 >>566 (a.身長 <=> b.身長).nonzero? or (a.体重 <=> b.体重) 570:デフォルトの名無しさん 09/09/03 14:43:53 変数に型がない言語の場合、""や0が偽じゃないことで得られる恩恵の方が多い気がするな 無効値は偽であってほしいけど、正常値を数値や文字列で返す関数などは 0や""も正常値として扱うケースが多い。なので、これらが偽だと、戻り値をそのままブール式につかえない Perlなんかだと、0も""も偽だから、これらも正常値として返す関数の戻り値をチェックするときは、 die "エラ~" unless defined get_string() とかやって、""のケースを除外しなくちゃならない。|| とか && も有効活用できないし 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch