开源、跨平台(windows、linux、unix等)
脚本语言(效率较低)、无需编译、直接运行
语法自然、简介
一切皆是对象
灵活的语言设计(随意改变原始设计)
强大的nlocks和cloures
继承和mixin
ruby gem(插件、库等)
ruby interpreter(解释器):MRI,JRuby,Rubinius
centos下安装
yum install -y ruby
版本ruby -v
.rb结尾
变量类型:
本地变量
实例变量
全局变量
常量
字符串变量 name = "it"
数字变量 num = 100
数组变量 score = {1,2,3}
布尔型变量 is_pass = true
哈希变量 user = {:name => "zhang", :age => 29}
符号型变量 :name 保存不变化的数据
查看变量对象类型: 变量名.class
调用对象的方法:变量名.方法名
name.sort 对name进行排序,不修改name内容
name.sort! 对name进行排序,同时修改name内容
puts “Hello #{name} !” 通过#{}引用变量内容
这里双引号为引用 单引号则直接打印
= 赋值
== 比较是否一样,返回值true or false
>,< 大于或者小于,返回值true or false
<=,>= 小于等于或者大于等于,返回值true or false
<=> 船型操作符,返回值-1,0,1
&&可写为and 逻辑与
||可写为or 逻辑或
!可写为not 逻辑非 即取反
if 判断语句
...... 为真则执行,为假不执行
end
if 判断语句
......
else
.......
end
if 判断语句
......
elsif 判断语句
......
else
.......
end
ruby中除了false和nil外,其它返回值均为真
unless 条件判断语句 #为假
......
end
unless 条件判断语句 #为假
.......
else
......
end
case 变量
when 值
puts ""
when 值
puts ""
end
1..59 为一个range,从1-59
无限循环
loop do
puts ""
end
count = 0
loop do
puts “”
count += 1
if count > 10
break
end
end
条件循环:
count = 0
while count < 10 为真时执行
puts “”
count += 1
end
count = 10
until count < 1 为假时执行
puts “”
count -= 1
end
迭代器
10.times do
puts “”
end
1.upto(10) 从1到10
10.downto(1)
1.step(10.2) 从1-10,但是每次+2
方法,可以被一次定义多次重复调用
def 方法名
.....
end
方法名称必须小写,可使用_,可以使用参数
def 方法名(参数)
.....#{参数}
end
(*参数) 变长参数,自动将多个参数转换为一个数组
(参数=1) 参数默认值
return 返回值