タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

to_procに関するk10i_sheepのブックマーク (2)

  • Rubyでメタプログラミング 〜暗黙的に呼ばれるto_procメソッド - (゚∀゚)o彡 sasata299's blog

    2011年01月08日23:09 Ruby Rubyでメタプログラミング 〜暗黙的に呼ばれるto_procメソッド 先日、こんな感じの処理に遭遇しました。はて、、何じゃこりゃ・・(´・ω・`) ポカーン (1..5).each(&method(:puts)) と思って調べたのでまとめておきます。この処理が理解できれば一人前です。きっと。 ブロックはオブジェクトではない Ruby では大抵のものがオブジェクトですが、オブジェクトではないものも一部あります。ブロックがその一つです。 例えばこんな風にブロックを定義することは出来ません。 block = { "test" } # in:1: odd number list for Hash そもそも Ruby の構文ではハッシュとして扱われるためブロックを直接生成することは出来ません。Block.new みたいな構文も無いので、ブロックは ti

  • RubyのSymbol#to_procを考えた人になってみる - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 RubyのSymbol#to_procを考えた人になってみる : melborne.github.com Rubyのメソッドはブロックを取れる ブロックはコードの塊だから その内容に応じてメソッドの挙動を 大きく変化させることができるんだ 例えばinjectメソッドはリストタイプのオブジェクトに対して たたみこみ演算を実行するものだけれど これに加算を行うコードブロックを渡せば injectメソッドはたたみこみ加算器となり (1..10).inject(5) { |mem, var| mem + var } # => 60 一方乗算を行うコードブロックを渡せば たたみこみ乗算器となるんだ (1..5).inject(2) { |mem, var| mem * v

    RubyのSymbol#to_procを考えた人になってみる - hp12c
    k10i_sheep
    k10i_sheep 2011/06/28
    どのように作られたか(想像上)とても良い。
  • 1