我正在学习Ruby。你可以从类中取消一个方法:
class Person
undef :talk
end
但是当我尝试使用此代码时,我发现如果我没有使用“:”符号,它也会起作用:
class Person
undef talk
end
所以我想知道这个“:”是否是必要的以及这个“:”代表什么。
答案 0 :(得分:2)
答案 1 :(得分:2)
:foo
是Ruby中的symbol;粗略地说,它是一个内部字符串,其名称是它的值。
Object#undef
expects the method作为参数,根据文档而不是字符串或符号。在这种特殊情况下,根据文档,符号语法不正确。