在Ruby中,如果你将一个函数赋值给一个变量,为什么它会自动运行?
In Ruby, if you assign a function to a variable, why does it automatically run?
使用下面的代码:
variable = puts "hello world".upcase
为什么 Ruby 会自动将 Hello world 大写,而不先调用变量?我知道您正在将函数设置为变量,如果调用该变量,它将 return return 值(在本例中为 nil),但为什么 Ruby几乎在未经许可的情况下运行方法puts "hello world".upcase
(没有调用它,只是分配给一个变量)?
您没有将函数分配给变量。
这与
相同
variable = (puts("hello world".upcase))
需要执行puts
将返回值赋值给变量variable(笑)
这是一种将方法分配给变量的方法。
puts_method = method(:puts)
使用下面的代码:
variable = puts "hello world".upcase
为什么 Ruby 会自动将 Hello world 大写,而不先调用变量?我知道您正在将函数设置为变量,如果调用该变量,它将 return return 值(在本例中为 nil),但为什么 Ruby几乎在未经许可的情况下运行方法puts "hello world".upcase
(没有调用它,只是分配给一个变量)?
您没有将函数分配给变量。
这与
相同variable = (puts("hello world".upcase))
需要执行puts
将返回值赋值给变量variable(笑)
这是一种将方法分配给变量的方法。
puts_method = method(:puts)