【发布时间】:2013-01-23 04:00:24
【问题描述】:
在许多 Rails 方法中,符号作为参数传递。我不确定其中一些参数是如何引用其他方法的。换句话说,符号指向另一种方法。我理解像
:something这样的符号将始终指向相同的内存分配,这与"something"的多个实例不同。如果我有一个符号:x,并且还定义了一个方法x(),是否意味着这两者以某种方式联系在一起?-
A Ruby book 描述了符号表的概念:
符号是一个标识符,其值为自身。从广义上讲,这从 Ruby 程序员的角度描述了符号的行为方式。但它并没有从 Ruby 解释器的角度告诉您字面上的符号是什么。实际上,符号是指向符号表的指针。符号表是 Ruby 的内部已知标识符列表——例如变量和方法名。
我偶然发现它是如何引用不同的方法或字符串的。谁能帮我理解这个符号表以及它与用作方法名称的符号有何关系?
【问题讨论】:
-
你能发布一个令人困惑的“使用符号作为方法名称”的 sn-p 吗?以便我们知道您在说什么。