是否可以打印变量的名称以及如何?
asdf = Hash.new
asdf = Hash.new
print_name asdf # => asdf
print_name fdsa # => fdsa
答案 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"
?
注意,不要混淆变量的值,这是另一回事。