Spring 2.0+ JRuby 快速入门二(Ruby快速入门)

Ruby快速入门

  Ruby无疑是受到关注最多的动态语言, JRuby是用Java代码实现的Ruby解释器,是Ruby到Java的字节码编译器。2006年9月,Sun收购了JRuby,JRuby的核心成员Charles Nutter和Thomas Enobo也加入了Sun公司。从这次收购行为中可以看出Ruby 在Sun 战略中的地位,Ruby 很有可能成为JVM第一个支持的动态语言。

  系统学习Ruby的语言已经远远超出了本文的范畴,在这一小节里,我们将通过一些零散的小段代码感受一下Ruby语言,或许这对于Ruby入门有一定的引导作用。

  对于初学者来说,我们推荐安装Ruby Entry Package for Win32版本的Ruby,它是由马康弘先生在Cygwin版Ruby的基础上添加了安装程序后制作而成的,特别适合初学者安装使用。你可以从http://homepage1.nifty.com/arima/ruby获取安装程序。

  在安装完成后,打开DOS窗口,输入以下的命令以测试Ruby是否安装成功:

D:/>ruby -v
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]

  如果安装成功,将如上所示打出Ruby的版本号信息。通过开始菜单->程序->Ruby-xx-yy->fxri打开Ruby的交互式窗口开始体验Ruby的魅力:

按此在新窗口浏览图片

图 1 fxri界面

  Hello World

  通过puts打印出“Hello World”:

irb(main):001:0> puts "Hello World"
Hello World
=> nil

  puts在Ruby中是一个简单的打印输出命令。后面的“=> nil”表示表达式的结果。Puts总是返回nil,相当于Java的null。

  即时计算器

irb(main):006:0> 10+2
=> 12
irb(main):007:0> 3*4
=> 12
irb(main):008:0> 3**3
=> 27
irb(main):009:0> Math.sqrt(16)
=> 4.0

  正如你所看到的,你只要输入运算式并回车就可以立即得到运行结果,这相当于计算器的功能。“**”表示进行幂运算,而Math.sqrt()表示进行平方运算。Math是Ruby内建的数学模块。在Ruby中,模块将类似的方法聚集在同一个“家族”的名下。因此,Math也包括sin()、cos(攀?畱瑯?? ?o??ū)这样的方法。计算器只能打出结果,那么我们如果引用这些结果呢?这需要使用到变量。

  将结果赋值给变量

irb(main):011:0> a = 3*5
=> 15
irb(main):012:0> b =2+3
=> 5
irb(main):013:0> Math.sqrt(a+b)
=> 4.47213595499958

  上面的代码定义了两个变量,第三行代码引用变量进行计算。

  定义方法

irb(main):015:0> def greeting_1
irb(main):016:1> puts "How are you!"
irb(main):017:1> end
=> nil

  上面的代码中第1行“def greeting”标志着方法定义的开始。它告诉Ruby当前正在定义一个名为greeting的方法。下面一行是方法体:puts "How are you!"。最后,也就是第3行“end”通知Ruby已经完成了方法的定义。Ruby通过 “=> nil”进行回应,说明已经正确定义了一个方法。

  下面的代码定义了一个带参的方法:

irb(main):021:0> def greeting_2(name)
irb(main):022:1> puts "How are you,#{name}"
irb(main):023:1> end

  “#{name}”是Ruby在某个字符串中引用变量的方法,相当于Java的"How are you"+name,你也可以为入参指定一个默认值:

irb(main):024:0> def greeting_3(name = "John")
irb(main):025:1> puts "How are you,#{name}"
irb(main):026:1> end
=> nil

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值