[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/16 20:51 / Filesize : 256 KB / Number-of Response : 901
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Ruby 初心者スレッド Part 22



745 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 05:33:04 ]
forは内部的にeachを呼び出すそうだから、速度差など無いに等しい。
どうしても気になるなら一億回くらい空ループ回して計ってみるといい。

まぁ、仮に10倍の速度差があったとしても、今は気にする必要ない。
プログラムの高速化はまず何よりもアルゴリズムが最優先。
小手先の最適化に手をつけるのはその後だね。


breakは単に使い方が悪い。
>>677の最初の2つは先にreturnするので、絶対に到達しない。
最後のはbreak後returnしかしていないので、returnで置き換え可能。
breakせずに抜けるパターンの場合、必ず範囲外アクセスで落ちる。
つまりすべての箇所で何の役にも立っていないというわけ。


異常入力にマジックナンバーを返すのもありだけど、発生頻度が低く
検査箇所が多いようなら例外(Exception)を発生させたほうがいいよ。
コードの見通しがまるで違ってくるから。


VLOOKUPは検査値に対応する行と指定した列が交差するセルの値を
返すのに対し、MATCHは検査値に対応する値の位置を返す。
VLOOKUPでは検索範囲が左端の列で、かつ対応する値の列の高さと
縦位置が完全に一致しなければいけない。

MATCHとINDEXまたはOFFSETとの組み合わせなら、検査列に対応
する値の列が左にあってもよいし、縦にずれていてもよいし、列でなく
行(対応する値が横に並ぶ)でもよい。
その気になれば対応する値をnマスおきに飛び飛びにだってできる。
それに比べると列指定不可のVLOOKUPなんてあまりに不便すぎる。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<256KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef