gpt4 book ai didi

ruby - block 局部变量的语法

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:28 24 4
gpt4 key购买 nike

我对采用什么好的风格来定义 block 局部变量感到困惑。选项是:

选项A:

method_that_calls_block { |v, w| puts v, w }

选项 B:

method_that_calls_block { |v; w| puts v, w }

当我希望本地 block 具有默认值时,混淆会更加复杂。我感到困惑的选择是:

选项C:

method_that_calls_block { |v, w = 1| puts v, w }

选项D:

method_that_calls_block { |v, w: 1| puts v, w }

是否有关于必须如何定义 block 局部变量的约定?

附言此外,当我需要为 block 局部变量分配默认值时,; 语法似乎不起作用!奇怪的。

最佳答案

选项 B 无效。 正如 @matt 指出的那样 - 它是一个有效的(虽然晦涩)语法(参见此处:How to write an inline block to contain local variable scope in Ruby?)

选项C给w一个默认值,这是一个常规值,而选项D是默认的语法keyword argument .

关于ruby - block 局部变量的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24065937/

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