Tag: 符号过程

什么是&:of&:aFunction在做什么?

我正在审查某人的ruby代码,并在其中写了类似于: class Example attr_reader :val def initialize(val) @val = val end end def trigger puts self.val end anArray = [Example.new(10), Example.new(21)] anArray.each(&:trigger) :trigger意味着采用符号并将其转换为proc ? 如果这是正确的,除了使用self.之外,还有任何方法可以将变量传递给触发器self. ? 这是相关的,但从未得到回答: http : //www.ruby-forum.com/topic/198284#863450

符号链接和to_proc

这是众所周知的Rubyist &将在符号上调用to_proc ,所以 [:a, :b, :c].map(&:to_s) 相当于 [:a, :b, :c].map { |e| e.to_s } # => [“a”, “b”, “c”] 假设我想在to_s之后调用另一个方法,这两个实现将起作用: [:a, :b, :c].map { |e| e.to_s.upcase } [:a, :b, :c].map(&:to_s).map(&:upcase) 我的问题是,有没有办法在一个参数中链接& Symbol#to_proc调用? 就像是: [:a, :b, :c].map(&:to_s:upcase) 谢谢!