[#37248] [Feature:1.9] Enumerator#inspect — "Yusuke ENDOH" <mame@...>

遠藤です。

12 messages 2008/12/02

[#37337] [Feature #841] Object#self — "rubikitch ." <redmine@...>

Feature #841: Object#self

13 messages 2008/12/09

[#37513] Current status of 1.9.1 RC1's issues — "Yugui (Yuki Sonoda)" <yugui@...>

Hi, folks

14 messages 2008/12/20
[#37516] Re: Current status of 1.9.1 RC1's issues — Masatoshi SEKI <m_seki@...> 2008/12/20

咳といいます。

[#37576] [BUG:trunk] encoding for stdio's — "Yugui (Yuki Sonoda)" <yugui@...>

Yuguiです。

11 messages 2008/12/24

[ruby-dev:37347] Re: [Feature #841] Object#self

From: rubikitch@...
Date: 2008-12-10 12:06:23 UTC
List: ruby-dev #37347
From: Yukihiro Matsumoto <matz@ruby-lang.org>
Subject: [ruby-dev:37342] Re: [Feature #841] Object#self
Date: Wed, 10 Dec 2008 15:18:29 +0900

> |自分自身を返すメソッドがあってもいいんじゃないでしょうか?
> |名前はRuby的にはself、Lispに倣うならばidentityとか。
> 
> どういう風に使うんですか?


class Object
  def self() self; end
end

# 自分自身を返すメソッドを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"]]

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/

In This Thread