エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
CRuby の hash.c を一部読んだ - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
ツイッターで「Ruby の Hash のキーにするオブジェクトに hash と eql? を定義しないといけないのなんで... ツイッターで「Ruby の Hash のキーにするオブジェクトに hash と eql? を定義しないといけないのなんでなんだろう」という話題が出て、「おそらく Hash の名前の通り、Hash テーブルを lookup するのにキーの hash 値を計算するのに使ってるんだろうね」という話になったのだけれど、「じゃあhash.c 読んでみようぜ」って感じになって、一部読んだ。2.0.0-p0のコードです。 (一部markdownが注釈と解釈されておかしなことになってるの防ぐためにスペースを余分に入れてある) まずは、Hash#[ ] の実装がどこにあるのか見る。 hash.c の 3448 行目見るとわかる。 rb_define_method(rb_cHash,"[ ]", rb_hash_aref, 1); Hash#[ ] の実体は rb_hash_aref というCの関数である。じ
2017/03/25 リンク