ruby简单的基础

好久没写记录东西了,近期决定记录写ruby方面的东西。大家一起学习。

ruby 基础语法


1、凝视



单行凝视 #
#開始到行末是单行凝视


多行凝视 
=begin 


=end
多行凝视以=begin開始 以=end结束,
=begin和=end前不能有其它字符,包含空格。
一般=begin 和 =end独占一行,这样看起来比較清晰。


Ruby中用;来表示一个语句结束。假设一行有多个语句。每一个语句能够用。隔开,最后一个。能够省略。


换行表示一行结束。假设语句太长的话,我们能够用\连接下一行。表示这行还没有结束。

#puts "this is a line01"
puts "hello,world!"

=begin
puts "this is a line02"
puts "this is a line03"
=end
puts "this is a line04"


puts "this is a mutiple"\
  " line..."


=begin puts "hello"
=end 
puts "dear.."


2、分隔符



3、keyword

模块定义: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的标示名区分大写和小写。标示符名字的第一个字符表明了它的使用方法。


变量首字母后能够跟数字、字母、下划线随意组合。可是@后面不能够直接跟数字。


局部变量、方法參数、方法名字 应该用一个小写字母或者下划线开头
全局变量 应该用美元符$作为开头
实例变量 应该用@开头
类变量 应该用@@开头
类名、模块名、常量 应该用大写字母开头


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.."
end

1.upto(5){|i| puts i}

5.downto(2) do 
  |i| puts i
end

(1..6).each { |i| puts i}

1.step(10,3) { |i| puts i}
puts "...."
10.step(1,3) { |i| puts i}



posted on 2017-06-13 12:58  wgwyanfs  阅读(146)  评论(0编辑  收藏  举报

导航