Ruby语言学习系列--基本的ruby语法

这篇博客详细介绍了Ruby语言的基本语法,包括变量、常量和类型定义,注释使用,以及循环和分支结构。此外,还涉及了条件语句、异常处理、类和模块的创建,以及case语句的使用。
摘要由CSDN通过智能技术生成

Ruby语言学习系列--基本的ruby语法

 

1.     基本的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 id 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        

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

 @@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

 

 

 

 

 

 

 

函数名称

说明

示例

*

将字符串拷贝N

ha*4    >> hahahaha

+

<< 

concat

连接字符串

yes + no  >> yesno

"yes" << "no" >> yesno

"yes".concat("no")

<=>

比较字符串,返回值如下:

大于:-1   等于:0    小于:1

"Ab" <=> "ab" >> -1

"ab" <=> "ab" >> 0

"ab" <=> "Ab" >> 1

==  ===

判断两个对象是否相等

"1" == "1"   >>true

"1" == 1     >>flase

=~

匹配正则表达式

"abc123abc" =~ /"d/ >> 3

[ ]  slice

返回字符串的某一范围内的值

abc[0,2]           >> ab

"hello"[/llo/]          >> llo

abc slice [0,2]      >> ab

[ ]=

替换字符串的某一范围内的值

a = hello word

a[1,2]= OO

puts a    >> hOOlo word

capitalize

capitalize!

把字符串的首字母大写,其他字母小写

"hi,Ruby".capitalize

>> Hi,ruby

chomp

chomp!

删除字符串后的空白字符

"string"r"n".chomp

>>  string

chop

删除最后一个字符

"string".chop >> strin

count

返回该字符串中含的字符个数

a = "hello world" 

a.count "lo" >> 5

(l出现 3次,o出现 2)

delete

delete!

删除字符

"hello".delete "l","lo"  » "heo" 

"hello".delete

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值