double-splat相关内容

Double-splat 运算符破坏性地修改哈希——这是 Ruby 错误吗?

我注意到我发现使用 Ruby 2.1.1 中的 **(双斜线)运算符有一个非常令人惊讶的行为. 在 **hash 之前使用键值对时,哈希保持不变;但是,当键值对仅在 **hash 之后使用时,哈希值会被永久修改. h = { b: 2 }{ a: 1, **h } # =>{ a: 1, b: 2 }h # =>{乙:2}{ a: 1, **h, c: 3 } # =>{ a: 1, b: ..
发布时间:2021-12-27 16:31:12 其他开发

两级飞溅TCL

如果我在TCL中有一个过程或命令,且参数数目可变,则可以使用“散列"运算符,例如,如果列表的元素作为输入,则可以使用: set a [list "ko" ] set m [ list "ok" "bang" ] lappend a {*}$m 但是,如果我想“两次飞溅"怎么办?即,将2个级别展平?依次使用两次,将无法正常工作: set a [list "ko" ] set m [ ..
发布时间:2020-09-07 01:33:10 其他开发

Double-splat运算符破坏性地修改散列 - 这是Ruby错误吗?

我注意到了Ruby 2.1.1中的 ** (double-splat)运算符,这让我非常惊讶。 在 ** hash 之前使用键值对时,散列保持不变;然而,只有在 **哈希之后才使用键值对时,哈希值将被永久修改。 h = {b:2} {a:1,** h}#=>> {a:1,b:2} h#=> {b:2} {a:1,** h,c:3}#=> {a:1,b:2,c:3} ..
发布时间:2018-06-01 15:27:48 其他开发