0
点赞
收藏
分享

微信扫一扫

ruby常用语法


初学Ruby,收集点Ruby的语法,收藏,便于以后查阅。转载的原文出处无法考证了,感谢前人总结出如此清晰地文摘,以表格的形式,描述ruby多样的语法,结果使人印象简单明了,对记忆有很多大的帮助。



以下是 转载的原文:



1.1      变量、常量和类型



1)      定义变量




变量类型

描述

示例

局部变量(或伪变量)

以小写字母或下划线卡头

var    _var

全局变量

以$开头

$var

类变量

类中定义,以@@开头

@@var

实例变量

对象中定义,以@开头

@var

常量

以大写字母开头

Var








2) 变量内插



  在双引号内使用“#{变量名}”内插变量



a = 2

b = 3

puts "#{a} + #{b} = #{a+b}" #输入结果为:2 + 3 = 5






1.2 注释



1)单行注释:以#开头,如: #注释内容



2)多行注释:在=begin 和 =end 之间定义,如:



=begin



注释内容



=end





1.3    循环和分支



1.3.1  条件语句




If 形式

unless 形式

a =1 if y==3

a=1 unless y!=3

x= if a > 0 then b else c end

x= unless a<=0 then a else b end

 if x<5 then

  a =1

else

   a =2

end

unless x<5 then

   a =2

else

   a =1

end






1.3.2  循环结构




#while循环

i= 0

while i< list.size do

print “#list[i] ”

I += 1

end

#until循环

i= 0

until i == list.size do

print “#list[i]”

i += 1

end

#for循环

for x in lisy do

 print “#{x}”

end

#each循环

list.each do |x|

 print “#{x}”

end

#loop循环

i = 0

n = list.size-1

loop do

print “#{list[i]}”

i += 1

break if i > n

end

#times循环

n = list.size

n.times do |i|

 print “#{list[i]}”

end

#upto循环

n =list.size–1

0.upto(n) do |i|

 print “#{list[i]}”

end

#each_index循环

list.each_index do |x|

 print “#{list[x]}”

end








1.3.3  异常




begin

    x = Math.sqrt(y/z)       

rescue ArgumentError#匹配错误类型

    puts "Error taking square root"

rescue ZeroDivisionError#匹配错误类型

    puts "Attempted division by zero"

else

    puts "Other Error"

ensure

#这部分代码在最后一定会执行

end








1.3.4  类




classHello#类名必须以大写字母开头

 @@myname = "John"   #类变量

 

 def initialize(name,phone)

      @name,@phone = name,phone#定义实例变量

 end


 def hello#定义类方法

    puts "#{@name}的电话是#{@phone}" 

 end

end

 

f = Hello.new("Tom","13100000000")#创建类对象

f.hello#调用类方法,结果为:Tom的电话是13100000000





1.3.5  模块




方法

说明

include ‘watir’

将模块的功能添加到当前空间中,不加载已加载的文件

extend ‘watir’

将模块的函数添加到对象中

load ‘watir’

读取文件,并将其插入到源文件的当前位置,以便从这个位置开始就可以使用其定义






1.3.6  case语句




case x

 when 1..10#匹配数字

puts "First branch"

 when foobar()#批量方法返回的值

puts "Second branch"

 when /^hel.*/           #匹配正则表达式

puts "Third branch"

 else  

puts "Last branch"

end


举报

相关推荐

0 条评论