Tag: function指针

传递&:方法和:方法作为ruby中的函数参数之间的区别

我正在努力理解何时使用&符号将符号传递给表示方法的函数。 例如,如果我想计算范围1..10的总和,我可以执行以下操作: (1..10).inject(:+) 这最初让我相信,如果你想传递一个符号来定义一个方法,以便在函数中使用“Magically”,你可以将函数名称作为符号传递。 但后来我在rails中看到了这样的东西: total = Product.find(product_list).sum(&:price) 如果我理解正确,&:price与调用:price.to_proc相同。 我不明白上面的工作原理。