« GIMP | メイン | How to do case-insensitive searching with Postgresql »

Ruby 擬似変数

以下のようなコードがある。

---------------------------------


class Point
def hello
z = "test"
self
end
end

p0 = Point.new
p p0.hello.class


---------------------------------

#selfがあると => Point
#selfがないと => String

selfがあるとないとでは、大違いですね。


今日、
「selfがあるのとないのとでどう違うの?」
と言う質問をうけて即答できなかった・・・。Rubyの基礎が足りませんね・・・。
「たのしいRuby」を今週は読み込もうと思います。


self は「擬似変数」


擬似変数は変数のように参照することができますが、いずれも値を設定することはできません。
代入を行うとエラーになります。



● 擬似変数●

通常の変数以外に擬似変数と呼ばれる特殊な変数があります。

self
現メソッドのオブジェクトそのもの
nil
NilClass?クラスの唯一のインスタンス
true
TrueClass?クラスの唯一のインスタンス。真の代表値
false
FalseClass?クラスの唯一のインスタンス。偽を表す
__FILE__
現在のソースファイル名を表す
__LINE__
現在のソースファイル中の行番号を表す



トラックバック

このエントリーのトラックバックURL:
http://synth.jp/pg/mt-tb.cgi/180

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

カレンダー


2007年06月
Su Mo Tu We Th Fr Sa
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Map

About

2007年04月10日 01:48に投稿されたエントリーのページです。

ひとつ前の投稿は「GIMP」です。

次の投稿は「How to do case-insensitive searching with Postgresql」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。