attr_accessor是否需要在Ruby中使用符号作为变量?

zap*_*tos 5 ruby attr-accessor

attr_accessor我见过的每个例子都使用符号(:var)作为变量.

这是使用的要求attr_accessor,如果是,为什么?如果没有,为什么这是一种普遍的做法?

Aru*_*hit 3

Module#attr_accessor

\n
\n

attr_accessor(符号, ...) \xe2\x86\x92 nil

\n

attr_accessor(字符串, ...) \xe2\x86\x92 nil(Ruby 2.1 新引入)

\n

为此模块定义一个命名属性,其中名称为symbol.id2name,创建实例变量(@name)和相应的访问方法来读取它。还创建一个名为 name= 的方法来设置属性。字符串参数被转换为符号。

\n
\n
\n
\n

这是使用 attr_accessor 的要求吗?

\n
\n

不,您可以使用符号和字符串。

\n

阅读本文 -了解 Ruby 符号作为方法调用

\n