まつもと ゆきひろです In message "Re: [ruby-dev:37347] Re: [Feature #841] Object#self" on Wed, 10 Dec 2008 21:06:23 +0900, rubikitch / ruby-lang.org writes: |> どういう風に使うんですか? |# 自分自身を返すメソッドをaliasで作成する |class Test | alias foo self |end |Test.new.foo # => #<Test:0x91aa1b8> | |# ブロック {|x| x } を &:self と記述する |require 'scanf' |"abcd".scanf('%c%c') # => ["a", "b"] |"abcd".scanf('%c%c'){|a| a} # => [["a", "b"], ["c", "d"]] |"abcd".scanf('%c%c', &:self) # => [["a", "b"], ["c", "d"]] 前者はまったく必要性が理解できません。後者はselfという名前は ふさわしくないと思います。さらに言えばわかりやすさが増してな い(っていうかむしろ意図がわかりにくい)割にバイト数すら減って ないし。