相关疑难解决方法(0)

指定_(下划线)变量的位置和方式是什么?

大多数人都知道_IRB作为最后回报值的持有人的特殊含义,但这不是我在这里要求的.

相反,我问的是什么_时候用作普通旧Ruby代码中的变量名.在这里它似乎有特殊的行为,类似于"不关心变量"(àlaProlog).以下是一些说明其独特行为的有用示例:

lambda { |x, x| 42 }            # SyntaxError: duplicated argument name
lambda { |_, _| 42 }.call(4, 2) # => 42
lambda { |_, _| 42 }.call(_, _) # NameError: undefined local variable or method `_'
lambda { |_| _ + 1 }.call(42)   # => 43
lambda { |_, _| _ }.call(4, 2)  # 1.8.7: => 2
                                # 1.9.3: => 4
_ = 42
_ * 100         # => 4200 …
Run Code Online (Sandbox Code Playgroud)

ruby

76
推荐指数
2
解决办法
2万
查看次数

标签 统计

ruby ×1