Tôi đang cố gắng gây rối một chút với Ruby. Vì vậy, tôi cố gắng triển khai các thuật toán (được đưa ra bằng Python) từ cuốn sách "Lập trình trí tuệ tập thể" Ruby.
Trong chương 8, tác giả chuyển một phương thức a dưới dạng tham số. Điều này dường như hoạt động trong Python nhưng không hoạt động trong Ruby.
Tôi có ở đây phương pháp
def gaussian(dist, sigma=10.0)
foo
end
và muốn gọi điều này bằng một phương thức khác
def weightedknn(data, vec1, k = 5, weightf = gaussian)
foo
weight = weightf(dist)
foo
end
Tất cả những gì tôi nhận được là một lỗi
ArgumentError: wrong number of arguments (0 for 1)