エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Ruby のメソッド引数の初期値は実行時に評価される - きりかノート
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Ruby のメソッド引数の初期値は実行時に評価される - きりかノート
こないだ書いたように、lib/resolv.rb の作業をしていたのだけど、そのとき気づいたのが、Ruby のメソッ... こないだ書いたように、lib/resolv.rb の作業をしていたのだけど、そのとき気づいたのが、Ruby のメソッド引数の初期値は実行時に評価されるということ。 今までなんとなく def の実行時(スクリプトの読み込み時)に評価されると思い込んでいたよ。C 側で実装するときのことを思い出してみれば当たり前なのだけど、なぜ気づかなかったのだろう? いくつか例を def sender(msg, data, queue, host=@host, port=@port) インスタンス変数を初期値に def initialize(id = (@@identifier += 1) & 0xffff) クラス変数に1加算して、4バイトに。最初見たときナニゴトかと思った。式が書けるのだから、演算したっていいわけだ。 で、「他にはどんなのがあるだろう?」と Google Code Searchで探してみた