在Ruby中有_的任何特殊含义,为什么要使用它

时间:2014-04-28 08:40:24

标签: ruby

我曾多次在Ruby中使用_

我不知道Ruby中_的任何特殊含义。但为什么以及何时使用它?

results = votes.map do |vote|
  popu_cost.find(-> {[]}) { |_, cost| cost <= vote }.first
end

或者

votes.each do |e|
  key, _ = popu_cost.find { |_, val| e >= val }
  results << key if key
end

1 个答案:

答案 0 :(得分:4)

_被称为未使用的变量,如果不在其他地方使用它们,则不会产生任何警告。任何以_开头的变量名称都称为未使用变量。

假设您在test.rb文件中有代码:

x = 12

现在运行代码:

$ ruby -w test.rb
test.rb:1: warning: assigned but unused variable - x
$

但现在改变代码:

_x = 12

现在再次运行它,你不会看到任何警告:

$ ruby -w test.rb
$

但如果不使用-w选项运行脚本,则不会看到此警告。