在下面的代码中,"d.Foo()“引发编译器错误,声称Foo()函数不接受0参数。然而,基类中存在一个具有该名称的0参数函数。行"d.Base::Foo()“是可以接受的。我对在派生类中使用函数名隐藏在基类中的所有函数有模糊的记忆,尽管参数可能不同。我不记得为什么,也不记得避免这个问题的最好方法。我的解决方案是最好的,还是有其他方法可以获得Base::Foo()?the entry point f
我有接受关键字参数的方法。 p name我有一个ActiveRecord::Base子类Person,它有一个name属性。现在我用的是foo(name: person.name)的方法。但是我想调用像foo(person.slice(:name))或foo(person.attributes)这样的方法,因为还有一些其他关键字参数。键是字符串,而不是符号,这会导致错误。
如何创建具有符号键
5) ;; ArityException Wrong number of args (3) passed to: Symbol(f "foo" "bar") ;; => "bar"
(f "foo" "bar" "baz") ;; => ArityException Wrong number of args (3) passe