文章摘要
Ruby是如何来的
Ruby 的发明者松本行弘 Yukihiro “matz” Matsumoto,混合了他喜欢的语言(Perl、 Smalltalk、 Eiffel、 Ada 和 Lisp ) 产生了一种具有函数式及指令程序设计特性的新语言。他常说,他是“试着让 Ruby 更自然,而不是简单,就像生活一样”。
除此之外,他还提到:Ruby 就像人的身体一样,表面上看来简单,但是内部却相当的复杂.
在 1993 年,没有人会相信一个由日本业余语言设计者创建的面向对象的语言,能最终在世界范围内被广泛使用并且变得几乎像 Perl 那样流行。自从 1995 年 Ruby 公开发表以来,Ruby 在全球吸引了许多忠实的程序设计员。在 2006 年,Ruby 被广泛接受。在各大城市都有活跃的使用者并通过社区举办许许多多场场爆满的研讨会。
在 TIOBE, 最流行的开发语言排名调查中, Ruby 排名为全球第 11 位。 根据这样的成长情况,他们预测“在半年之中 Ruby 将会进入最受欢迎开发语言的前 10 名。”有越来越多受欢迎的软件如 Ruby on Rails web framework 是使用 Ruby 撰写而成,也是造成 Ruby 如此快速成长的原因。
Ruby 是开源软件。 不只是免费,而且可以自由的使用、复制、修改与发布。
准备
首先下载安装Ruby http://www.ruby-lang.org/en/downloads/
安装后,在命令行ruby -v 检查是否安装正确
ruby提供了很好的irb的环境,直接在命令行敲入irb就可以,然后可以直接运行ruby 语句,这对实验ruby是非常好的环境,比如我就经常拿它来当计算器
ScreenShot
1. 一切皆是对象
#一切皆是对象 puts 1.class puts 0.1.class puts true.class puts false.class puts nil.class
从上图可以看出,从简单类型,到真、假、空都是对象,方法调用参数也是可选的
2.语句块和迭代器
#语句块&迭代器 3.times{puts "Happy SiQi~"} 1.upto(10){puts "Hello world~"}
上面两张图可以看出ruby操作循环的便利
#map a=[1,2,3,4] b=a.map{|x| x*2} c=a.select{|x| x%2==0}
上图显示的是处理集合的威力
#hash h={ :one=>1, :two=>2 } h[:one] h[:two] h.each do |key,value| print "#{value}:#{key}" end
上图显示Hash处理的展示
3.表达式和操作符
#表达式和操作符 puts 1+2 puts 1*2 puts 1+2==3 puts "Hello"+" World!" puts "Happy New Year"*3 puts "%s %d %s" % ["Jack",20,"cool"]
4. 方法
a.自定义方法
#方法 #自定义方法 def SayHello(name=siqi) puts name 3.times{puts "你好!"} end SayHello("Jack")
b.为已有的类添加方法
#为已有的类添加方法 def Math.AddTwo(x) x+2 end puts Math.AddTwo(5)
#赋值语句 x=1 y=10 x+=1 puts "x=#{x}" y-=1 puts "y=#{y}" a,b=1,2 puts "a=#{a},b=#{b}" a,b=b,a puts "a=#{a},b=#{b}" x,y,z=[1,2,3] puts "x=#{x},y=#{y},z=#{z}"
为多个变量赋值是比较便利的
下图展示方法是可以返回多个值的
#可以返回多个值的 def LoveMovieAndSport(name) [name+" Love StarWar", name+" Love FootBar"] end movie,sport=LoveMovieAndSport("Jack") puts movie puts sport
6.后缀
?检查方法结果是否为真,!立即改变当前对象
#后缀 #?检查方法结果是否为真,!立即改变当前对象 a=[4,2,1,3,7] puts a.empty? puts a.sort puts a a.sort! puts a
7. Class 和 Module
#Class 和 Module class Animal def GetLeg 4000 end end animal=Animal.new() puts animal.GetLeg
上图展示如何用module来组织类,是不是像.Net的命名空间?实际不是,这个我们后面会说到。
8. gem包管理
ruby的第三方插件是用gem方式来管理,这是一个非常容易发布和共享,一个简单的命令就可以安装上第三方的扩展库
gem install rails 安装ruby on rails
gem list 列出所有安装的ruby 包
gem enviroment 显示gem的配置
gem update rails 更新指定的包
gem update 更新所有的包
gem update --system 更新gem自身
gem uninstall rails 卸载指定的包