用Ruby实现的Hello World
print("Hello World\n")
将这句保存为test.rb
,在terminal输入ruby test.rb
。
你将会看到Hello World
用Ruby输出中文
需要在程序的首行代码添加注释#encoding:编码方式
来指定。
如,在ubuntu
环境下,代码该这么写
#encoding: UTF-8
print("我喜欢Ruby")
平台 | 编码方式 |
---|---|
Windows | GBK(或者GB 2312) |
Mac OS X | UTF-8 |
Unix | UTF-8 |
若没指定编码方式,Ruby会默认使用UTF-8编码方式。
Ruby的注释
- 单行注释
#我是注释
- 多行注释
=begin 我从这一行开始, 到这一行, 还有这一行, 为止,都是注释 =end
单行注释就是#开始,整行都是注释;多行注释就是行的开头用=begin
和=end
括起来的部分都是注释
条件判断:ifthenend
if 条件 then
条件成立时执行的处理
else
条件不成立时执行的处理
end
then
关键字有时可以省略。
循环
while语句
while 循环条件 do
希望循环的处理
end
times方法
循环次数.times do
希望循环的处理
end
如输出5个'hello,ruby':
5.times do
print("hello,ruby")
end
times方法被称为迭代器(iterator)。这是Ruby的一个特色功能。
迭代器表示的是循环(iterate)的容器(-or)。
迭代器就是指用于执行循环处理的方法。
数组对象
创建一个简单数组
names=["小林","林","高野","森冈"]
数组的大小
names.size
结果是4。
数组循环
each
方法,语法:
数组.each do |变量|
希望循环的处理
end
按顺序输出数组names里的元素
names.each do |n|
puts n
end
输出结果:
小林
林
高野
森冈
散列(hash)对象
散列是键值对(key-value pair)的一种数据结构。
在Ruby中,一般是以字符串或者符号作为键,来保存对应的对象。
这很像JavaScript语言中的Object对象。
符号一般作为名称标签来使用,用来表示方法等的对象的名称。
创建符号,只需在标识符的开头加上:就可以了。
sym=:foo #表示符号":foo"
sym2=:"foo" #意思同上
散列的创建
散列用=>来定义获取对象时所需的键(key),以及键相对应的对象(value)。
address={:name=>"高桥",:pinyin=>"gaoqiao",:postal=>"1234567"}
当符号当作键来使用时,程序还可以像下面这么写:
address={name:"高桥",pinyin:"gaoqiao",postal:"1234567"}
散列的使用
散列名[键]
散列名[键]=希望保存的对象
address[:name] #"高桥"
address[:tel]="000-1234-5678"
address #{:name=>"高桥",:pinyin=>"gaoqiao",:postal=>"1234567",:tel=>"000-1234-5678"}
散列的循环
散列.each do |键变量,值变量|
希望循环的处理
end
address={name:"高桥",pinyin:"gaoqiao"}
address.each do |key,value|
puts "#{key}:#{value}"
end
#name:高桥
#pinyin:gaoqiaos
对象 | 类 |
---|---|
数值 | Numeric |
字符串 | String |
数组 | Array |
散列 | Hash |
正则表达式 | Regexp |
文件 | File |
符号 | Symbol |
变量
变量 | 定义 |
---|---|
局部变量 | 以英文字母或者_开头 |
全局变量 | 以$开头 |
实例变量 | 以@开头 |
类变量 | 以@@开头 |
常量
以大写英文字母开头。
To Be Continued............
网友评论