
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ここにツイート内容が記載されますhttps://b.hatena.ne.jp/URLはspanで囲んでください
Twitterで共有ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

ふと「Array#mapって、戻り値となる配列の要素数はレシーバの要素数と等しいな」と思った。 「Array#map...ふと「Array#mapって、戻り値となる配列の要素数はレシーバの要素数と等しいな」と思った。 「Array#mapはおそらくCで書いてあるだろう」 「ということは、戻り値となる新たな配列はレシーバの要素数を使ってnewしているに違いない」と思った。 確かめてみよう…と思ったらソースがなかった。Rubyのサイトからソースを入手。 展開。mapをgrepする。 見つけた。 static VALUE rb_ary_collect(ary) VALUE ary; { long i; VALUE collect; if (!rb_block_given_p()) { return rb_ary_new4(RARRAY(ary)->len, RARRAY(ary)->ptr); } collect = rb_ary_new2(RARRAY(ary)->len); for (i = 0; i <

