Ric*_*kes 1 ruby access-specifier
目前正在编写一个类,其中我正在考虑私有的方法遍布整个代码.private我想在类的顶部做一个内联声明,而不是添加一行并复制粘贴它下面的所有内容private :foo, :bar.
但是,每当我尝试将参数声明为私有内联的方法时,我都会收到一条错误消息.举例来说,如果我有一个方法foo(bar, baz),并尝试声明它与私人private :foo(bar, baz)我得到的两个括号错误信息,希望kEND和=替代.
如果我尝试声明它private :foo,我会被告知foo在我的代码中没有这样的方法.
如何在不发生这些错误的情况下做我想做的事情?
TL; private :foo必须在定义方法后显示DR.
private的论证应该是一个符号(例如:foo),而不是一个电话(例如foo(bar, baz))1.
Ruby类声明只是代码:语句按它们编写的顺序执行.调用private :foo检查类的foo方法.如果尚未定义,那就是错误.
更新了更新的Ruby
的def关键字现在返回所定义的方法的符号,允许:
private def foo; ... ; end
Run Code Online (Sandbox Code Playgroud)
1 除非是类方法调用,否则返回方法符号,边缘大小写.