O operador condicional de atribuição em Ruby

Tenho certeza que um dia você já se perguntou como funciona o tal operador “||=” (operador condicional de atribuição). Se essa dúvida ainda persiste, essa é a hora de saná-la. 🙂

Apesar de não ser muito comum, o operador condicional de atribuição “||=” conhecido também como “or equal” em Ruby, pode ser uma boa opção pra reduzir a quantidade de código e melhorar a leitura do mesmo em ocasiões específicas. Considere o seguinte código:

No código acima, estamos atribuindo as stringsDeadpool” e “Cable” nas variáveis protagonista e coadjuvante caso as mesmas estejam undefined, nil ou false. Passando o código acima utilizando if para o atribuidor condicional, podemos reescrever da seguinte forma:

Ou seja, se for o caso de atribuição de valor a uma variável que ainda não está definida, tenha um valor falso ou nulo, o operador de atribuição condicional também conhecido como “Double Pipe”, pode ser uma boa opção.