您的位置:首页 > 编程语言 > Ruby

Ruby语言基础学习一:Ruby语法和数据类型

2016-04-01 19:20 489 查看
本文参考了教程:http://www.runoob.com/ruby/ruby-syntax.html

Ruby语法和Python相似,都是对格式比较严格的。

我用的是sublime3.0进行编辑的,气质Ctrl+s用于保存文件,Ctrl+b用于执行文件,很方便使用,其他方法请参考上述教程。

所有的 Ruby 文件扩展名都是 .rb

Ruby程序很变态哦!非常重视格式。错一点点都不能运行,这也说明学变成是用手,用手,用手,七分手二分脑!

# -*- coding : utf-8 -*-

# 所有的 Ruby 文件扩展名都是 .rb。
# 如果 Ruby 在行尾遇到运算符,比如 +、- 或反斜杠,它们表示一个语句的延续。

# 该有空格的必须要有,不该有空格的地方坚决不能有,这个需要非常关注,只是变态语言
print <<EOF
这是第一种方式创建here document 。
多行字符串。
EOF

print <<"EOF";                # 与上面相同
这是第二种方式创建here document 。
多行字符串。
EOF
#下面这人一个结构只能运行上面一行代码,下面哪行运行不了。
print <<`EOC`                 # 执行命令
echo hi there
echo lo there
EOC
#注意这里的格式非常非常严格,print <<中间一定要有空格,", <<"bar"中间也一定要有空格
print <<"foo", <<"bar"	      # 您可以把它们进行堆叠
I said foo.
foo
I said bar.
bar

BEGIN{
puts "声明 code 会在程序运行之前被调用" #注意这是puts,得注意命令
}

END{
puts "声明 code 会在程序的结尾被调用。"
}

=begin
这个是多行注释
你看看
很方便啊!
=end

#数值类型

123                  # Fixnum 十进制
1_234                # Fixnum 带有下划线的十进制
-500                 # 负的 Fixnum
0377                 # 八进制octal
0xff                 # 十六进制
0b1011               # 二进制
"a".ord              # "a" 的字符编码
?\n                  # 换行符(0x0a)的编码
12345678901234567890 # Bignum

#整型 Integer 以下是一些整型字面量
#字面量(literal):代码中能见到的值,数值,bool值,字符串等都叫字面量
#如以下的0,1_000_000,0xa等
a1=0

#带千分符的整型
a2=1_000_000

#其它进制的表示
a3=0xa
puts a1,a2
puts a3
#puts print 都是向控制台打印字符,其中puts带回车换行符

# Ruby 支持浮点数。它们是带有小数的数字。浮点数是类 Float 的对象,且可以是下列中任意一个。

# 加减乘除操作符:+-*/;指数操作符为**
puts 2**(1/4); #1与4的商为0,然后2的0次方为1

puts 'escape using "\\"';
puts 'that\'s right';#因为这个'如果不加\的话就和前面的东西结成对了

puts "Multiplication Value:#{24*60*60}";#这一点非常好,为了将计算的数值输出到屏幕,使之更好用不用%d

name="Ruby";
puts name #可以有分号,也可以没有
puts "#{name+",OK"}";

# 数组
=begin
(1)数组通过[]索引访问
(2)通过赋值操作插入、删除、替换元素
(3)通过+,-号进行合并和删除元素,且集合做为新集合出现
(4)通过<<号向原数据追加元素
(5)通过*号重复数组元素
(6)通过|和&符号做并集和交集操作(注意顺序)
=end

ary=["fred",10,3.14,"This is a string","last element"];
ary.each do |i| #这个很特别不是吗?
puts i
end

# 哈希类型
# Ruby 哈希是在大括号内放置一系列键/值对,键和值之间使用逗号和序列 => 分隔。尾部的逗号会被忽略。
hsh=colors={"red"=>0xf00,"green"=>0x0f0,"blue"=>0x00f}
hsh.each do |key,value|
print key," is ",value,"\n"
end

=begin

范围类型

一个范围表示一个区间。
范围是通过设置一个开始值和一个结束值来表示。范围可使用 s..e 和 s...e 来构造,或者通过 Range.new 来构造。

使用 .. 构造的范围从开始值运行到结束值(包含结束值)。使用 ... 构造的范围从开始值运行到结束值(不包含结束值)。
当作为一个迭代器使用时,范围会返回序列中的每个值。

范围 (1..5) 意味着它包含值 1, 2, 3, 4, 5,范围 (1...5) 意味着它包含值 1, 2, 3, 4 。

=end

(10...15).each do|n|
print n,''
end
puts"任性,居然可以这样,少一个点。两个点少了一个数字"
(10..15).each do|n|
print n,''
end



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: