08 de novembro de 2016
Muitas vezes queremos atribuir um valor a uma variável com base no valor de outra.
Uma das formas de se fazer isso é usando um if.
Como tudo em Ruby retorna algo, podemos fazer a atribuição diretamente na condicional:
x = if var1 var1 else 'default' end
Claro que neste caso o ternário é mais elegante:
x = var1 ? var1 : 'default'
Mas uma forma melhor de resolver esta questão simples é usando uma avaliação de curto-circuito:
x = var1 || 'default'
Tenho usado esta última forma no Ruby on Rails pra exibir informações de algum campo que é opcional, e no caso de não ter nenhum dado (nil), eu gosto de exibir um hífen pra indicar que o campo não contém nada (e não que o sistema está com algum problema para exibir o valor como algum usuário poderia pensar...)
<%= person.email || '-' %>
Este é um recurso útil nestes casos, e em muitos outros onde temos situações parecidas.
Espero que seja útil.
Visualizações: 3.956
25 de junho de 2017
01 de junho de 2017