From: Yukihiro Matsumoto Date: 2008-12-11T00:04:33+09:00 Subject: [ruby-dev:37351] Re: [Feature #841] Object#self まつもと ゆきひろです 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 # => # | |# ブロック {|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という名前は ふさわしくないと思います。さらに言えばわかりやすさが増してな い(っていうかむしろ意図がわかりにくい)割にバイト数すら減って ないし。