1. 无数据类型,动态解析数据类型,
names = ["Albert", "Brenda", "Charles","Dave", "Engelbert"]
上面这种数据结构动态解析为数组,记住,它就是数组。
2. ruby处理数组的方式很有趣,因为不知道原先的赋值的数据类型,所以处理数组类型的数据时,常常引入判断,即:
elsif @names.respond_to?("each")
这一种方式可以遍历数组:
@names.each { |name|
puts "Hello #{name}!"}
#或者
@names.each do |name|
puts "Hello #{name}!"
end
其中的name,可以看做是一个用来遍历数组的临时元素,(ruby无数据类型,故不用声明)
或者是
elsif @names.respond_to?("join")
可以用其来整合数组
puts "Goodbye #{@names.join("- ")}. Come back soon!"
输出结果为Goodbye Albert- Brenda- Charles- Dave- Engelbert. Come back soon!
3. 当在项目中使用时,A文件需要引用B文件时,
在A文件的头上加
require("B.rb")
这样,在A中,B的数据就可见了。
4. 让脚本跑起来
if __FILE__ == $0
__FILE__
是一个魔法值,它存有现在运行的脚本文件的名字。$0
是启动脚本的名字。 代码里的比较结构的意思是 “如果这是启动脚本的话…” 这允许代码作为库调用的时候不运行启动代码, 而在作为执行脚本的时候调用启动代码。
在命令行输入 “ruby A.rb” 来运行,说明A.rb是启动脚本,以上判断成立,会执行if条件后面的启动语句。