
夠用的 Ruby
|
9
>> "hello #{'dlrow'.reverse}"
=> "hello world"
如果內插的運算式傳回的物件並非字串,則會自動傳送 to_s 訊息給該物件,並且預期
傳回的字串能用在它的位置。我們能以此來控制內插的物件會如何呈現:
>> o = Object.new
=> #<Object>
>> def o.to_s
'a new object'
end
=> nil
>> "here is #{o}"
=> "here is a new object"
檢閱物件
只要 IRB 需要顯示物件,以下類似的情況就會發生:
inspect
訊息會傳給此物件,而
且應該會傳回它自己的字串表示法。Ruby 裡的所有物件都能判斷
#inspect
的預設實作
物,但藉由提供我們自己的定義,我們可以控制物件在主控台的顯示方式:
>> o = Object.new
=> #<Object>
>> def o.inspect
'[my object]'
end
=> nil
>> o
=> [my object]
列印字串
每個 Ruby 物件(包括
main
)皆可使用
#puts
方法,而且它可以將字串列印到標準輸
出:
>> x = 128
=> 128
>> wh ile x < 1000
puts "x is #{x}"
x = x * 2
end
x is 128
x is 256
x is 512
=> nil