好久没写记录东西了,最近决定记录写ruby方面的东西,大家一起学习。
ruby 基础语法
1、注释
单行注释 #
#开始到行末是单行注释
多行注释
=begin
=end
多行注释以=begin开始 以=end结束,
=begin和=end前不能有其他字符,包括空格。
一般=begin 和 =end独占一行,这样看起来比较清晰。
Ruby中用;来表示一个语句结束。如果一行有多个语句,每个语句可以用;隔开,最后一个;可以省略。
换行表示一行结束,如果语句太长的话,我们可以用\连接下一行,表示这行还没有结束。
#puts "this is a line01"puts "hello,world!"=beginputs "this is a line02"puts "this is a line03"=endputs "this is a line04"puts "this is a mutiple"\ " line..."=begin puts "hello"=end puts "dear.."
2、分隔符
3、关键字
模块定义:module类定义:class
方法定义:def
条件语句:if,then,else,elsif,case,when,unless
循环语句:for,in,while,until,next,break,do
逻辑判断:not,and,or
逻辑值:true,false
空值:nil
异常:rescue,ensure
块的起止:begin,end
嵌入模块:BEGIN,END
方法返回:return
别名:alias
4、运算符
和其他语言差距不大,不多说啦。逻辑或 or
逻辑与 and
没有 i++ ;这样的东西,你因该 i += 1;
5、标示名
ruby的标示名区分大小写,标示符名字的第一个字符表明了它的用法。变量首字母后可以跟数字、字母、下划线任意组合,[email protected]
局部变量、方法参数、方法名字 应该用一个小写字母或者下划线开头
全局变量 应该用美元符$作为开头
实例变量 [email protected]
类变量 应该用@@开头
类名、模块名、常量 应该用大写字母开头
6、数据类型
ruby的数据类型有:数字、字符串、数组、哈希表、区间、正则数字
整数:1,110
浮点:1.0,110.0,11.1e4,浮点小数点后必须跟数字,11.e5是错误的
字符串
‘’或“” 之间的字符
数组
数组的每个元素可以是不同的类型。
区间
1..6 表示 1,2,3,4,5,6;左闭右闭区间 []
1...6 表示 1,2,3,4,5; 左闭右开区间 [)
7、条件运算符
8、条件判断
单行if语句
1、if 条件 then 语句1;语句2;语句3;end
2、(语句1;语句2;语句3; ...) if 条件
多行if语句
if 条件1
语句1;
elsif 条件2
语句2;
end
unless 条件 和 if not 条件一样,不习惯这种写法。
case 对象
when 可能性1
语句1
when 可能性2
语句2
else
语句3
end
和我们熟悉的switch 类似
9、循环
单行while(语句1;语句2;...) while 条件
多行while
while 条件
语句;
end
for 变量 in 对象(数组,区间,集合)
语句1;
语句2;
end
和oc中的for in 类似
在循环体中,如果遇到:
break,跳出当层循环
next,忽略本次循环的剩余部分,开始下一次循环,和continue类似
redo,重新开始循环,但是还是从本次开始
retry,从头开始这个循环体
10、times,upto,downto,each,step
times,upto,downto 是Integer的方法
num.times{
}
或者
num.times do
end
重复一个代码块 num次
num.upto(limit) {|i| block}
从num到limit,迭代block,i >= num, i <=limit
num.downto(limit) {|i| block}
从num到limit,迭代block,i <= num, i >=limit
step是区间的方法
each是数组的方法
数组.each {|i| block}
遍历一边对象中的元素
5.times { puts "i love you.."}5.times do puts "i love you too.."end1.upto(5){|i| puts i}5.downto(2) do |i| puts iend(1..6).each { |i| puts i}1.step(10,3) { |i| puts i}puts "...."10.step(1,3) { |i| puts i}
- 1楼elviscai昨天 23:58
- 点三十二个赞!!!