当前位置:文档之家› Ruby的简单实例

Ruby的简单实例

Ruby的简单实例
✓出处:站长百科
✓原文地址:/wiki/Ruby的简单实例
✓本电子书整理自站长百科Ruby简单实例词条,查看内容请访问网站。

让我们写一个计算阶乘的函数.对于阶乘的数学定义如下:
n! = 1 (当 n==0 时)
= n * (n-1)! (其它情况)
在Ruby里,可以这样来写:
def fact(n)
if n == 0
1
else
n * fact(n-1)
end
end
✓出处:站长百科
你可能会发现 end 的反复出现,正因为如此,Ruby被叫做"类Algol"语言.(实际上,Ruby的语法更像Eiffel).同时,你也可能会发现这段函数缺少 return语句.在这里是可以用return的,但却不是必须的,因为一个Ruby的函数会自动返回它所最后赋值的元素.
让我们来试试我们的阶乘函数.加入一行代码会使它成为一个可工作的程序:
# Program to find the factorial of a number
# Save this as fact.rb
def fact(n)
if n == 0
1
else
n * fact(n-1)
end
end
print fact(ARGV[0].to_i), "\n"
✓出处:站长百科
这里,ARGV是一个包含命令行参数的数组,to_i将字符串转化为整数.
% ruby fact.rb 1
1
% ruby fact.rb 5
120
当参数为40时它可以工作吗?它将使你的计算器产生溢出(overflow)...
% ruby fact.rb 40
815915283247897734345611269596115894272000000000
它确实算出来了.实际上,Ruby能处理任何你机器的内存所允许的整数.实际上400!也可以:
% ruby fact.rb 400
6403452284662389526234797031950300585070258302600295945 8684
4459428023971691868314362784786474632646762943505750358✓出处:站长百科
5681
0848298162883517435228961988646802997937341654150838162 4264
6194235230704624432501511444867089066277391491811733195 5996
4407095496713452904770203224349112107975932807951015453 7266
7251627877890009349763765710326350331533965349868386831 3393
5202437378815778679150631185870261827016981974006298302 5308
5912983461622723045583395207596115053022360868104332972 5519
4852674432232438669948422404232599805551610635942376961 3992
3191713406385899653797014782720660632021737947201032135 6624
✓出处:站长百科
6138090779423045973606995675958360961587151299138222865 7857
9549361617654480453222007825818400848436415591229454275 3848
0355837451802267590006139956014559520612721119291810503 2491
0080000000000000000000000000000000000000000000000000000 0000
0000000000000000000000000000000000000000000
我们不能一眼看出是否算对了,但我想应该是对的吧. :-)
输入/求值循环
当你不带参数启动Ruby的时候,Ruby会从标准输入读入命令并在输入结束后再执行:
% ruby
✓出处:站长百科
print "hello world\n"
print "good-bye world\n"
^D
hello world
good-bye world
Ruby还包含了一个名为eval.rb的程序,它可以令到你在一个交互式的循环中输入Ruby代码并随之显示结果.在后面的教程里将广泛使用这个程序.
如果你有一个ANSI兼容(ANSI-compliant)的终端(如果你正运行着一个UNIX变种,一般都是的);在DOS下,你需要安装ANSI.SYS和;然后就可以使用这个支持可视化缩排,警告提示,彩色高亮度显示的增强eval.rb了.不行的话,试试Ruby发行版里sample目录下的那个非ANSI版本,它可以运行于所有的控制台.这是一个简短的eval.rb对话:
% ruby eval.rb
ruby> print "Hello, world.\n"
Hello, world.
✓出处:站长百科
nil
ruby> exit
hello world 由 print 打印出来.下一行 nil 报告最后计算出来的值;Ruby并不区分语法和表达式,因此计算一段代码从根本上说和执行它是一回事.在这里,nil的意思是print并未返回一个有意义的值.注意:可以用exit或^D离开这个循环的解释器.
在整个教程里,'ruby>'表示我们这个非常有用却很小的eval.rb 程序的命令提示符
更多电子书
SEO方面的知识有很多,对于新手来说,如果你不知道,不清楚这方面的知识,那么,你可以看看这两部搜索引擎指南:
SEO搜索引擎优化基础教程:/thread-9952-1-1.html
SEO搜索引擎优化高级教程:/thread-12692-1-1.html
wordpress的中文翻译文档:/codex.html,wordpress 开发的相关知识都有,对WordPress开发感兴趣的博主会有一定的用处。

WordPress免费主题:/theme.html
WordPress免费插件:/plugin.html
WordPress主题制作电子书:/thread-9954-1-1.html
✓出处:站长百科
Apache2.2中文文档电子书:/thread-9955-1-1.html
IXWeHosting控制面板使用手册(在线版+PDF电子书):
/thread-9953-1-1.html 更多电子书下载:/ebook/
视频教程:
1.美国主机IXWebHosting使用视频教程(在线观看及下载)
/thread-47008-1-1.html
2.Godaddy主机及域名使用视频教程(在线观看及下载)
/thread-50005-1-1.html
如果您有站长类电子书,请到这里与我们分享:
/forum-69-1.html
详情见:/thread-23156-1-1.html
站长百科感谢您下载阅读,多谢支持!✓出处:站长百科。

相关主题