【问题标题】:Symbol with class variable passed传递了类变量的符号
【发布时间】:2016-03-17 19:23:13
【问题描述】:

我看到了以下代码:

controller.instance_variable_get(:@account)

:@account 是做什么的? @account 是一个实例变量。这里的符号化是否扩展了@account 内部的值并使其成为具有该值的符号(即@account == 'message':@account 将创建:message)?或者,是:@account.to_s == '@account'这样的符号吗?

【问题讨论】:

  • @account 不是方法,而是变量。
  • 是的,:@account 是“:@account.to_s == '@account' 的符号”。您可以在控制台中运行该确切代码并回答您自己的问题。
  • 我没想到。我对 ruby​​ 还是很陌生,控制台对我来说很陌生。谢谢!

标签: ruby symbols


【解决方案1】:

:@account 本身就是一个符号文字。您需要一种方法来引用相关实例变量的名称。最直接的方法是使用符号或字符串。这就是正在发生的事情。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-04-17
  • 2013-11-15
  • 1970-01-01
  • 2015-12-26
  • 2018-10-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多