区分无参数的方法调用和局部变量的方法是看看有没有赋值过程
全局变量
以$开始。未初始化的值为nil。
实例变量
以@开始。未初始化的值为nil。
类变量
以@@开始。未初始化的值为nil。
类常数
以大写英文字母开始。未初始化的值为nil。
用[]括起来的一串表达式是数组,而以{}括起来的一串表达式是散列表。
Ruby使用分号(;)或换行来分隔表达式,表达式串起来构成语句
Ruby中可以使用下列流程控制结构。
* if表达式 then代码块 [elsif表达式 then代码块]..[else代码块]end
* case表达式when表达式..;代码块...[else代码块]end
* while表达式;代码块end
* for变量..in表达式;代码块end
gets
从命令行参数指定的文件(群)中读取一行,然后把该行的内容作为字符串返回。
Ruby的命令行参数都保存在数组ARGV中,所以取出数组的第一个元素。ARGV.shift表示去掉数组第一个要素。
while gets”几乎是一种固定用法,表示一行一行地读取数组ARGV中命令行参数指定的文件
若if的条件表达式不是正则表达式的话,就不会自动和变量$_进行比较,所以必须使用’=~’进行比较。
全局变量
以$开始。未初始化的值为nil。
实例变量
以@开始。未初始化的值为nil。
类变量
以@@开始。未初始化的值为nil。
类常数
以大写英文字母开始。未初始化的值为nil。
用[]括起来的一串表达式是数组,而以{}括起来的一串表达式是散列表。
Ruby使用分号(;)或换行来分隔表达式,表达式串起来构成语句
Ruby中可以使用下列流程控制结构。
* if表达式 then代码块 [elsif表达式 then代码块]..[else代码块]end
* case表达式when表达式..;代码块...[else代码块]end
* while表达式;代码块end
* for变量..in表达式;代码块end
gets
从命令行参数指定的文件(群)中读取一行,然后把该行的内容作为字符串返回。
Ruby的命令行参数都保存在数组ARGV中,所以取出数组的第一个元素。ARGV.shift表示去掉数组第一个要素。
while gets”几乎是一种固定用法,表示一行一行地读取数组ARGV中命令行参数指定的文件
若if的条件表达式不是正则表达式的话,就不会自动和变量$_进行比较,所以必须使用’=~’进行比较。
# 把与NET有关的类置入NET内部
# 常使用模块来作为嵌套的外侧部分
# (Net没有实例。这主要是为了能够包含(include)Net)
module Net
class HTTP
end
class FTP
end
end
obj = Net::HTTP.new
# 或者
include Net
obj = HTTP.new