我试图用Ruby搞得一团糟.因此,我尝试从"Programming Collective Intelligence"Ruby书中实现算法(在Python中给出).
在第8章中,作者将方法a作为参数传递.这似乎适用于Python,但不适用于Ruby.
我有这个方法
def gaussian(dist, sigma=10.0)
foo
end
Run Code Online (Sandbox Code Playgroud)
并希望用另一种方法调用它
def weightedknn(data, vec1, k = 5, weightf = gaussian)
foo
weight = weightf(dist)
foo
end
Run Code Online (Sandbox Code Playgroud)
我得到的只是一个错误
ArgumentError: wrong number of arguments (0 for 1)
Run Code Online (Sandbox Code Playgroud)