是否可以引用传递给ruby中传递块内的方法的参数?

And*_*ust 6 ruby block

我希望我不是在这里重复任何人,但我一直在搜索谷歌和这里,而不是想出任何东西.这个问题更多的是将我的代码"性化".

我特意想做的是:

Dir.new('some_directory').each do |file|
  # is there a way to refer to the string 'some_directory' via a method or variable?
end
Run Code Online (Sandbox Code Playgroud)

谢谢!

Ash*_*she 7

不一般; 这完全取决于方法本身调用块的参数是什么,并且通过each调用时间(调用你的块),字符串'some_directory'被传递给的事实Dir.new早已被遗忘,即它们是完全不同的东西.

不过你可以这样做:

Dir.new(my_dir = 'some_directory').each do |file|
    puts "#{my_dir} contains #{file}"
end
Run Code Online (Sandbox Code Playgroud)