在Ruby Language - About我們可以發現這樣一句話:條件語句是Ruby中的對象嗎?
「 在Ruby中,一切都是對象的信息和代碼的每一位都可以給出自己的屬性和行爲」
它是相當困難的瞭解限制的地方。我們不能說條件性陳述是對象,我們可以嗎?如果沒有,那麼「每一點信息」在這裏意味着什麼?
在Ruby Language - About我們可以發現這樣一句話:條件語句是Ruby中的對象嗎?
「 在Ruby中,一切都是對象的信息和代碼的每一位都可以給出自己的屬性和行爲」
它是相當困難的瞭解限制的地方。我們不能說條件性陳述是對象,我們可以嗎?如果沒有,那麼「每一點信息」在這裏意味着什麼?
這句話有些誇張。 Ruby中的每個數據項目是對象(或更確切地說是對象的後代),並且Proc
是也是對象的一小段代碼的一個示例。但Ruby中有許多不是對象的概念,例如關鍵字,任意語句等。
但是,完整的語句總是將評估爲到一個對象中。我認爲作者的意圖是要大幅描述沒有任何價值,原始的或其他的,這不是語言中的對象。
# Data items are all objects.
1.class # => Fixnum
(2 ** 64).class # => Bignum
"a".class # => String
{}.class # => Hash
nil.class # => NilClass
lambda {|x| x}.class # => Proc
# Statements, including conditionals, *evaluate* to objects.
(true ? "a" : 1).class # => String
(false ? "a" : 1).class # => Fixnum
(if true; 'a'; else; 1; end).class # => String
(if false; 'a'; else; 1; end).class # => Fixnum
(while true; break; end).class # => NilClass
關鍵字不是對象。 – 2012-01-09 16:45:01
相關問題:http://stackoverflow.com/questions/3429553/is-everything-an-object-in-ruby – 2012-01-09 21:45:34