Ruby简单使用
Ruby代码很大一部分都似乎涉及对象、类别和方法、创建和控制。该语言有许多内置程度,而且Ruby极大程度地允许你随意创建、修正或取消对象、类别和方法,这也就赋予了该语言强大的功能性和灵活性。
Ruby的官方文件包含所有可用对象和方法的明细表。看一眼就有种崩溃的感觉,但是你无须全部使用它们。绝大多数现在都是可以忽略的。你只需在必要的时候选择使用。
该文件还有另外一个优点:当你试图运行Ruby无法理解的事情,显示的错误消息会告诉你哪个程序出了问题。
假设我们要运行这个程序:
animal = “Zebra”(动物=“斑马”)
number = 7(数字=7)
puts animal + number(字符串输出动物+数字)
命令puts(字符串输出)是表示print(打印输出)的另一种方式。我们只是想要程序显示它认为animal(动物)+number(数字)的意思是什么。
当我运行这个程序的时候,输出结果如下:
TypeError:can’t convert Fixnum into String from program.
(错误类型:无法将固定数字从程序转化为字符串)
rb:3:in ‘+’
在非计算机语言中,你不可以使用算术来把一个数字加上一个单词从而使其在某种程度上存在合理性,所以计算机显示了一条错误消息。这就好像用某个数字去除以0,你无法做到,故程序停止运行。
为了解决这一问题,我们需要把数字转化为字符串,以便“+”法连接两个变量,而不是通过算术或者修正这个程序去做其他事情。
修正后的程序如下:
animal = “Zebra”(动物=“斑马”)
number = 7.to_s(数字=7.to_s)
puts animal + number(字符串输出动物+数字)
当我们运行这个程序时,得到输出“Zebra7”(“斑马7”)。内置的方法.to_s将数字7转换为一个字符串,所以Ruby可以使用连接。
我们也可以做完全不同的事情,比如:
animal = “Zebra”(动物=“斑马”)
number = 7(数字=7)
number.times { puts “#{animal}” }(数字.次数{字符串输出“#{动物}”})
输出如下:
Zebra
Zebra
Zebra
Zebra
Zebra
Zebra
Zebra
我们只使用了一个内置于Ruby的基本条件循环:数字.次数的意思是“执行这个程序X次,这里的X等于数字变量值。”如果我们改变动物或数字的值,输出也将改变。(是的,你可以通过修改这个程序来输出“wombat<袋熊>”10亿次,如果你真想那么干的话。)