Resultados da pesquisa a pedido "double-splat"

3 a resposta

Argumentos de palavra-chave descompactando (splat) em Ruby

O que está acontecendo abaixo parece um pouco estranho para mim. def f(a, b) puts "#{a} :: #{b}" end f(*[1, 2], **{}) # prints "1 :: 2" hash = {} f(*[1, 2], **hash) ArgumentError: wrong number of arguments (3 for 2) f(*[1, 2], **Hash.new) ...

2 a resposta

O operador de splat duplo modifica destrutivamente o hash - isso é um bug do Ruby?

Notei o que considero um comportamento muito surpreendente com o** (double-splat) no Ruby 2.1.1. Quando pares de valores-chave são usados antes de um**hash, o hash permanece inalterado; no entanto, quando pares de valores-chave são usados ...

2 a resposta

Alterar o que os operadores * splat e ** splatty-splat fazem no meu objeto

Como você substitui o resultado da descompactação da sintaxe*obj e**obj? Por exemplo, você pode, de alguma forma, criar um objetothing que se comporta assim: >>> [*thing] ['a', 'b', 'c'] >>> [x for x in thing] ['d', 'e', 'f'] >>> {**thing} ...