[#45298] グローバルにdefしたメソッドのスコープ — "takeru sasaki" <sasaki.takeru@...>
佐々木と申します。
10 messages
2008/08/06
[#45299] Re: グローバルにdefしたメソッドのスコープ
— rubikitch@...
2008/08/06
From: "takeru sasaki" <sasaki.takeru@gmail.com>
[#45318] Windows コマンドプロンプトで UTF-8を出力するには — Yuumi Yoshida <yuumi3@...>
おつかれさまです、 Yuumi3です。
11 messages
2008/08/08
[#45323] Re: Windows コマンドプロンプトで UTF-8を出力するには
— Yuumi Yoshida <yuumi3@...>
2008/08/08
こんばんは、Yuumi3です。
[#45324] tracer の出力が1.8,1.9では異なる。 — Kouya <kouyataifu4@...>
こんにちは、kouya です。
6 messages
2008/08/09
[#45334] def meth(*args, &block) の「*」「&」の呼び名は? — take_tk <ggb03124@...>
たけ(tk)です。
5 messages
2008/08/10
[#45356] nil.size — "ARAI Shunichi" <arai@...>
こんにちは、Rubyist九州の新井です。
9 messages
2008/08/19
[#45365] cygwinでRabyが動作しない。 — Kura syuu <kurasyuu@...>
初めまして 蔵修と申します。
11 messages
2008/08/22
[#45377] [ANN] REXMLのDoS脆弱性 — Shugo Maeda <shugo@...>
前田です。
5 messages
2008/08/23
[#45379] Design Patterns in Ruby — あひる <ahirusan@...>
あひる@Ducksysです。はじめまして。
5 messages
2008/08/23
[#45387] OpenSSL::CipherでのDESのやり方 — "Hideo Yamamoto" <deoohi@...>
はじめまして、山本と申します。
6 messages
2008/08/25
[#45393] JRubyについて&rubygemについて&RDTについて — Akira Hayakawa <ruby@...>
夜分遅くすいません。Akiraと申します。
10 messages
2008/08/25
[#45396] Re: JRubyについて&rubygemについて&RDTについて
— rubikitch@...
2008/08/25
From: Akira Hayakawa <ruby@i-mail.jp>
[#45397] Re: JRubyについて&rubygemについて&RDTについて
— Akira Hayakawa <ruby@...>
2008/08/25
ありがとうございます。
[#45398] Re: JRubyについて&rubygemについて&RDTについて
— rubikitch@...
2008/08/25
From: Akira Hayakawa <ruby@i-mail.jp>
[#45399] Re: JRubyについて&rubygemについて&RDTについて
— Akira Hayakawa <ruby@...>
2008/08/25
On Tue, 26 Aug 2008 08:27:24 +0900
[#45400] Re: JRubyについて&rubygemについて&RDTについて
— rubikitch@...
2008/08/26
From: Akira Hayakawa <ruby@i-mail.jp>
[#45406] Ruby1.9のインストールに失敗しました — Akira Hayakawa <ruby@...>
環境はUbuntu Linuxです。
7 messages
2008/08/27
[#45414] This is TestMail (テストメール) — "masataka kobayashi" <hotopoppo1@...>
I'm sorry . This is Test Mail
5 messages
2008/08/28
[#45427] Dir[] with **/ — Nobuhiro IMAI <nov@...>
いまいです。
8 messages
2008/08/29
[#45438] assert_equalの挙動について — Akira Hayakawa <ruby@...>
こんばんわ。Akiraです。
7 messages
2008/08/30
[#45447] sudo: gem: command not found — Akira Hayakawa <ruby@...>
EclipseのRDTはバグが多すぎて、DLTKはまだ開発途中
7 messages
2008/08/31
[#45448] Re: sudo: gem: command not found
— rubikitch@...
2008/08/31
From: Akira Hayakawa <ruby@i-mail.jp>
[#45449] やっぱりrubygemの仕組みがいまいち分かりません — Akira Hayakawa <ruby@...>
初期条件として、
8 messages
2008/08/31
[#45451] Re: やっぱりrubygemの仕組みがいまいち分かりません
— rubikitch@...
2008/08/31
From: Akira Hayakawa <ruby@i-mail.jp>
[#45454] Re: やっぱりrubygemの仕組みがいまいち分かりません
— Akira Hayakawa <ruby@...>
2008/08/31
On Sun, 31 Aug 2008 13:16:54 +0900
[ruby-list:45302] Re: グローバルにdefしたメソッドのスコープ
From:
take_tk <ggb03124@...>
Date:
2008-08-06 11:52:02 UTC
List:
ruby-list #45302
たけ(tk)です
こんなふうに考えてもよいでしょうか?
> f2.baz # => "Poo.bar(7,8)"
の時点でレシーバを指定して呼び出したので、レシーバが f2(#<Foo:0x82da890>)
に変わる。
> def baz
> hello(3,4) # => "Foo#bar(3,4)"
では、レシーバは #<Foo:0x82da890> のままで、そこには helloメソッドは見つ
からないので、グローバルな hello が呼び出される。しかし、レシーバを省略
して hello を呼び出したので、レシーバは変わらない。
> def hello(c,d)
> # globalのbarではなくFoo#barが呼ばれる
> # Object#helloは二度呼ばれているので「=> 1回目の値, 2回目の値」と注釈されている
> self # => #<Foo:0x82da890>, main
> bar(c,d) # => "Foo#bar(3,4)", "global bar(1,2)"
> end
グローバルな helloの内部でのレシーバも、 #<Foo:0x82da890> のままである。
#<Foo:0x82da890> の内部で bar メソッドを捜すと Foo#bar が見つかるので、
それが呼ばれる。
それに対して、
> def baz
> hello(3,4) # => "Foo#bar(3,4)"
> Poo.hello(7,8) # => "Poo.bar(7,8)"
の2番目の Poo.hello では、レシーバつきで呼び出しているので、レシーバは
Poo クラスに変更される。
> class Poo
> def self.bar(i,j)
> "Poo.bar(#{i},#{j})"
> end
> def self.hello(g,h)
> # Poo.barが呼ばれる
> bar(g,h) # => "Poo.bar(7,8)"
> end
> end
レシーバである Pooクラスの中から bar メソッドを捜すと見つかるので、それ
(Poo.bar)を呼び出す。
Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武