`
酷的飞上天空
  • 浏览: 517942 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

ruby语法一

阅读更多

ruby基础语法简介

ruby是纯面向对象的语言,ruby中所有的东西等看作是对象

#数字也是对象
puts 100.to_s   #输出“100”

 ruby的标示符用首字母来辅助确定标示所指向内容的作用域,基本规则如下

 

局部变量以小写字母或者下划线开头

全局变量以美元符号$开头

实例变量以@开头

类变量以@@开头

常量或者类名以大写字幕开头

 

ruby的常量和变量只包含数据对象的引用,其本身没有任何的类型,所以不需要声明常量和变量的类型,常量和变量在第一次赋值的时候自动被声明创建,之后依然可以自由更改类型

test = 1
test = "string"
 

ruby的nil于其他语言的null相似,在逻辑判断中只有nil和false表示假,其他的所有表达式都表示真

ruby的注释以#符号开始,一直到行结束为止

例如:

#这是注释,下面为语句
puts "Hello world"

 

流程控制

条件语句(if,unless,case)

if语句和其他语言的if很相似

a=30
if a<10
  puts "a小于10"
elsif a<20
  puts "a小于20"
elseif a<30
  puts "a小于30"
else
  puts "a大于等于30"
end

 

unless 与if的使用方法类似,只是当表达式为假的时候执行后面语句

a=30
unless a>50
  puts "a小于或等于50"
else
  puts "a大于50"
end

 

unless的类似if用法

puts "a小于10" if a<10

 

case用法类似于java的swich,不知道和sql的case语法 什么关系

例子:

a = "mystring"
case a
when "MyString"
  puts "it is MyString"
when "Mystring"
  puts "it is Mystring"
when "mystring"
  puts "it is mystring"
else
  puts "it is #{a}"
end

 

循环控制(while,until,for,each)

while比较常见于各类编程语言中

例子:

a=1
while a<10
  puts a
  a+=1
end

 

 

until的用法相反,当表达式为假时执行. 感觉while和until可以互相替代

例子:

a=1
until a>10
  puts a
  a+=1
end

for的用法比较特殊,和java的增强型for很像

例子:

for i in [1,2,3,4,5]
  puts i
end

 输入:

1

2

3

4

5

 

上面的例子也可以改为

for i in (1...5)
  puts i
end

 

ruby提供break,redo,next,retry这几个关键字来改变循环的处理过程

break用于直接跳出循环体,next用于直接跳到写一个循环周期,redo用于重复当前循环周期,retry用于重复整个迭代循环操作

分享到:
评论
2 楼 酷的飞上天空 2010-09-16  
li1314chf 写道
额  你最后一句出问题了  for i in (1...5)  
  puts i  
end 
这个输出的不是1,2,3,4,5  而是1,2,3,4  如果想输出结果为1,2,3,4,5,的话应该把上面语句改为: for i in (1..5)  puts i end
..和...点的区别你得搞清楚 


哦 多谢提醒。 区间貌似使用的情况不多。
1 楼 li1314chf 2010-09-13  
额  你最后一句出问题了  for i in (1...5)  
  puts i  
end 
这个输出的不是1,2,3,4,5  而是1,2,3,4  如果想输出结果为1,2,3,4,5,的话应该把上面语句改为: for i in (1..5)  puts i end
..和...点的区别你得搞清楚 

相关推荐

Global site tag (gtag.js) - Google Analytics