gpt4 book ai didi

ruby - 在Ruby中,如果你将一个函数赋值给一个变量,为什么它会自动运行?

转载 作者:数据小太阳 更新时间:2023-10-29 07:15:52 26 4
gpt4 key购买 nike

使用下面的代码:

variable = puts "hello world".upcase

为什么 Ruby 会自动将 Hello world 大写,而不先调用变量?我知道您正在将函数设置为变量,如果调用该变量,它将返回返回值(在本例中为 nil),但为什么 Ruby 运行方法 puts "hello world"。 upcase几乎未经许可(没有调用它,只是分配给一个变量)?

最佳答案

您没有将函数分配给变量。

这是一样的

variable = (puts("hello world".upcase))

需要执行puts将返回值赋值给变量variable(笑)

这是一种将方法分配给变量的方法。

puts_method = method(:puts)

关于ruby - 在Ruby中,如果你将一个函数赋值给一个变量,为什么它会自动运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40349046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com