我是一名刚刚开始学习Ruby的Java开发人员。Ruby有没有原始类型?我好像找不到他们的名单。若否,原因为何?
发布于 2013-09-13 23:52:02
Ruby的一个核心原则是所有数据都应该表示为对象。Smalltalk等其他语言也遵循类似的范例。
这种设计的好处是它使Ruby更优雅,更容易学习。应用于对象的规则将一致地应用于所有Ruby。
例如,当初学者刚开始学习Java时,原始类型int和包装器类Integer之间的区别可能会令人困惑。通过自动装箱,两者之间有时会出现令人困惑的隐式转换,这加剧了这种混乱。
那么,像Java或C#这样的语言为什么要为原始类型而烦恼呢?答案是性能。与原语相比,创建对象会带来额外的开销。
发布于 2013-09-14 01:08:32
Ruby中没有原始数据类型。每个值都是一个对象,即使是文字也会变成对象:
nil.class #=> NilClass
true.class #=> TrueClass
'foo'.class #=> String
:bar.class #=> Symbol
100.class #=> Integer
0x1a.class #=> Integer
0b11010.class #=> Integer
123.4.class #=> Float
1.234e2.class #=> Float
这可以让你写出漂亮的代码,比如:
3.times do
puts "Hello from Ruby"
end
发布于 2021-02-12 20:02:20
ruby中没有原始数据类型。因为ruby是一种纯面向对象的语言。基本上,有像其他语言一样的数据类型,但这些数据类型是像java中的集合一样的类。
如果你像"Akshay“一样定义任何字符串值,那么它就是一个对象。您可以查看下面的图片,其中"Akshay“有object_id 30300。请单击链接以检查rails控制台上的对象。从图像中的更多示例中,我们可以确定除了关键字之外,所有内容都是ruby中的对象。
因此,我们可以在这里得出结论,ruby将这些原始数据类型转换为类。
https://stackoverflow.com/questions/18790442
复制相似问题