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

本文参考了教程: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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值