我有一个带有一个参数的方法声明:
def my_method(argum)
if argum.empty?
puts "argument is empty"
else
puts "argument is not empty"
end
end
当我调用这个方法并向它传递一个符号时:my_method(:aleatoir_symbol)
它告诉我参数不是空的,当我像这样传递一个文字符号给它时my_method(:"")
它显示参数是空的
我也用 irb 测试,结果如下:
:a_symbol.empty?
=> false
:"".empty?
=> true
我的问题是为什么当我传递一个像:any_symbol这样的符号时,它显示参数不是空的?
我正在搜索,我在这里找到了一个类似的问题,但只有一个答案让我没有清楚地理解原因。任何明确的答案都会有所帮助。谢谢
** 更新 **
这是我最初的问题,我打开这个问题是因为我没有一个好的答案