dby*_*rne 32
A core principle of Ruby is that all data should be represented as objects. Other languages such as Smalltalk follow a similar paradigm.
The benefit of this design is that it makes Ruby more elegant and easier to learn. The rules applying to objects are consistently applied to all of Ruby.
例如,当初学者首次学习Java时,基本类型int和包装类Integer之间的区别可能会令人困惑.通过自动装箱这两者之间有时令人困惑的隐含转换加剧了这种混乱.
那么为什么像Java或C#这样的语言会受到原始类型的困扰?答案是表现.与基元相比,创建对象会产生额外的开销.
Ste*_*fan 15
Ruby中没有原始数据类型.每个值都是一个对象,甚至文字都变成了对象:
nil.class #=> NilClass
true.class #=> TrueClass
'foo'.class #=> String
100.class #=> Integer
0x1a.class #=> Integer
0b11010.class #=> Integer
123.4.class #=> Float
1.234e2.class #=> Float
Run Code Online (Sandbox Code Playgroud)
这允许您编写漂亮的代码:
3.times do
puts "Hello from Ruby"
end
Run Code Online (Sandbox Code Playgroud)