Dans SO question 2068165 une réponse a soulevé l'idée d'utiliser quelque chose comme ceci:Est-ce une utilisation raisonnable pour && = dans Ruby?
params[:task][:completed_at] &&= Time.parse(params[:task][:completed_at])
comme un moyen sécherie de dire
params[:task][:completed_at] = Time.parse(params[:task][:completed_at]) if params[:task][:completed_at]
où le Hash params serait provenant d'un formulaire (Rails/ActionView) .
C'est une sorte de corollaire à l'idiome bien connu ||=
, définissant la valeur si le LHS est pas nul/faux.
Est-ce que l'utilisation de &&=
comme ceci est en fait un idiome de Ruby reconnu que j'ai raté ou ai-je oublié un idiome plus couramment utilisé? Il est devenant plutôt en retard ...
L'analyseur fait des trucs bizarres: a = 1, si une usine ** ** et b = 1 si jamais ** échoue ** –
pour ajouter l'insulte à la blessure si xxx; xxx = 1; fin ** échoue ** –