Ruby基础语法(2): Object More

上文补充

在 Ruby基础语法(1) 中有一些没有提到,这里补充一下。

{}do end

前面说过,{} 的优先级比 do end 高,没有详细介绍,这里给个示例证明一下。

# 使用 *arg 吸收参数以消除参数不匹配的警告def first *arg    yield "first" if block_given?enddef second *arg    yield "second" if block_given?endfirst second { |str| puts str }# secondfirst second do |str| puts str end# first

可以看出,{} 是跟最右边的方法调用关联,而 do end 则是跟最左边的方法调用关联。

[…]

也会有想更换的念头。旅行,正好提供了这样一个机会,

Ruby基础语法(2): Object More

相关文章:

你感兴趣的文章:

标签云: