ruby 如何确定数据类型

Python012

ruby 如何确定数据类型,第1张

可以用class来做。

value.class

可以返回对象类型。  然后可以用。

value.is_a?  类型(String, Integer 等等)

来查看具体类型。

在Java中,对于字面量的字符串,jvm内部维持一张表,因此如果在Java中,str1和str2是同一个String对象。而在Ruby中, str1和str2是完全不同的对象。同样,在java中对于String对象的操作都将产生一个新的对象,而Ruby则是操纵同一个对象,比如:

str="abc"

str.concat("cdf")

此时str就是"abccdf"。Ruby对String是怎么处理的呢?我们只谈谈c ruby中的实现,有兴趣的先看看这篇文章《管窥Ruby——对象基础》。在ruby.h中我们可以看到String对象的结构,Ruby中的对象(包括类也是对象)都是一个一个的struct,String也不能例外:

struct RString {

struct RBasic basic

long len

char *ptr

union {

long capa

VALUE shared

Python和Ruby都是解释性语言,语法简洁明了,类型无需专门定义,例如int char等都不用声明,一般java ,C 等需要用10~30行代码量,python,ruby只需要几行就搞掂:

C语言

HELLO WORLD程序如下:

#include <stdio.h>

main()

{printf("Hello World!\n")

}

python:

print "Hello World!"

ruby:

puts "Hello World!" / print "Hello World!" 都可以!兼容性很好控制语句也是,C习惯也可以兼容,也可以for ...i ...in range()

ruby和python差不多,代码编写速度会快很多,用来实现程序逻辑测试,开发速度飞快;但是执行速度就差了,因为不定义类型的原因,这就只是个人的理解了;更多的,你可以多看看网上的专题,那会更详细。