Ruby的语法是面向表达式的,在Ruby语言中,所有语句(Statement)实际上都是表达式(Expression)。
一切表达式皆有值,但并不是都会返回有意义的值,比如 if
条件可能会返回 nil
。
1.BEGIN-END
大写形式的 BEGIN
和 END
与小写形式的 begin
和 end
不是一码事。
BEGIN
定义一个在当前文件中任何其他代码之前运行的代码。类似地,END
定义了一个在任何其他代码之后运行的块。
它们通常在 ruby -e
的一行程序中使用,如果出现在文件,则通常出现在文件的第一行。
如果有多个 BEGIN
,则按 Ruby 解释器遇到它们的先后顺序执行。如果有多个 END
,则按 Ruby 解释器遇到它们的先后顺序反向执行,还句话说,就是第一个遇见的 END
将被最后执行。
花括号不可以被 do
和 end
代替,且花括号不可被省略。
BEGIN {
#起始代码
}
END {
#结束代码
}
#示例
ruby -ne 'BEGIN { count = 0 }; END { puts count }; count += gets.to_i'
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/ruby/rubylang/10732.html