站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Ruby一个简单的例子
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="text-align:center; border:1px solid #000; float:right; padding:6px;"><strong>导航:</strong> [[Ruby学习教程#Ruby学习教程|上一页]] | {{template:开发语言导航}}</span> <div style="clear:both;"></div> 让我们写一个计算阶乘的函数.对于阶乘的数学定义如下: <br> n! = 1 (当 n==0 时) <br> = n * (n-1)! (其它情况)<br> 在Ruby里,可以这样来写:<br> def fact(n)<br> if n == 0<br> 1<br> else<br> n * fact(n-1) <br> end<br> end <br> 你可能会发现 end 的反复出现,正因为如此,Ruby被叫做"类Algol"语言.(实际上,Ruby的语法更像Eiffel).同时,你也可能会发现这段函数缺少return语句.在这里是可以用return的,但却不是必须的,因为一个Ruby的函数会自动返回它所最后赋值的元素.<br> 让我们来试试我们的阶乘函数.加入一行代码会使它成为一个可工作的程序:<br> # Program to find the factorial of a number<br> # Save this as fact.rb<br> def fact(n) <br> if n == 0 <br> 1 <br> else <br> n * fact(n-1) <br> end<br> end<br> print fact(ARGV[0].to_i), "\n" <br> 这里,ARGV是一个包含命令行参数的数组,to_i将字符串转化为整数.<br> % ruby fact.rb 1<br> 1<br> % ruby fact.rb 5<br> 120 <br> 当参数为40时它可以工作吗?它将使你的计算器产生溢出(overflow)...<br> % ruby fact.rb 40 <br> 815915283247897734345611269596115894272000000000 <br> 它确实算出来了.实际上,Ruby能处理任何你机器的内存所允许的整数.实际上400!也可以:<br> % ruby fact.rb 400<br> 64034522846623895262347970319503005850702583026002959458684<br> 44594280239716918683143627847864746326467629435057503585681<br> 08482981628835174352289619886468029979373416541508381624264<br> 61942352307046244325015114448670890662773914918117331955996<br> 44070954967134529047702032243491121079759328079510154537266<br> 72516278778900093497637657103263503315339653498683868313393<br> 52024373788157786791506311858702618270169819740062983025308<br> 59129834616227230455833952075961150530223608681043329725519<br> 48526744322324386699484224042325998055516106359423769613992<br> 31917134063858996537970147827206606320217379472010321356624<br> 61380907794230459736069956759583609615871512991382228657857<br> 95493616176544804532220078258184008484364155912294542753848<br> 03558374518022675900061399560145595206127211192918105032491<br> 00800000000000000000000000000000000000000000000000000000000<br> 0000000000000000000000000000000000000000000 <br> 我们不能一眼看出是否算对了,但我想应该是对的吧. :-)<br> 输入/求值循环<br> 当你不带参数启动Ruby的时候,Ruby会从标准输入读入命令并在输入结束后再执行:<br> % ruby<br> print "hello world\n"<br> print "good-bye world\n"<br> ^D<br> hello world<br> good-bye world <br> Ruby还包含了一个名为eval.rb的程序,它可以令到你在一个交互式的循环中输入Ruby代码并随之显示结果.在后面的教程里将广泛使用这个程序.<br> 如果你有一个ANSI兼容(ANSI-compliant)的终端(如果你正运行着一个UNIX变种,一般都是的);在DOS下,你需要安装ANSI.SYS和ANSI.COM;然后就可以使用这个支持可视化缩排,警告提示,彩色高亮度显示的增强eval.rb了.不行的话,试试Ruby发行版里sample目录下的那个非ANSI版本,它可以运行于所有的控制台.这是一个简短的eval.rb对话:<br> % ruby eval.rb<br> ruby> print "Hello, world.\n"<br> Hello, world.<br> nil<br> ruby> exit <br> hello world 由 print 打印出来.下一行 nil 报告最后计算出来的值;Ruby并不区分语法和表达式,因此计算一段代码从根本上说和执行它是一回事.在这里,nil的意思是print并未返回一个有意义的值.注意:可以用exit或^D离开这个循环的解释器.<br> 在整个教程里,'ruby>'表示我们这个非常有用却很小的eval.rb程序的命令提示符 <br> [[category:Ruby学习教程]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:开发语言导航
(
编辑
)