如何打印变量的名称?

时间:2015-06-05 01:29:01

标签: ruby

是否可以打印变量的名称以及如何?

asdf = Hash.new
asdf = Hash.new

print_name asdf  # => asdf
print_name fdsa  # => fdsa

2 个答案:

答案 0 :(得分:0)

打印符号

如果您已经知道变量的名称,则只需打印变量symbol即可。在调用puts时,Ruby会自动将此转换为字符串。例如:

asdf = Hash.new
puts :asdf

将打印:

  

ASDF

并返回nil,因为Kernel#puts总是返回nil。

返回一个字符串

如果您希望返回变量的名称而不是仅打印它,则需要将Symbol转换为String。例如:

asdf = Hash.new
:asdf.to_s
#=> "asdf"

答案 1 :(得分:-2)

我相信你不需要这样的方法,只需手工输入变量的名称。

asdf = Hash.new
puts "Variable `asdf'"

每当您想要打印变量名称时,只需写下它的名称即可。想一想。你已经知道了变量的名称,你必须写出它的名字,无论是引用变量的哪种方式,拥有这样的方法都有意义,你不想自己复制,对吗? / p>

外观

wonderful_method_to_print_variable_name( asdf )  #=> asdf 

为什么不只是"asdf"

注意,不要混淆变量的值,这是另一回事。