In SO question 2068165 una risposta sollevato l'idea di usare qualcosa di simile:È un uso ragionevole per && = in Ruby?
params[:task][:completed_at] &&= Time.parse(params[:task][:completed_at])
come un modo essiccatore di dire
params[:task][:completed_at] = Time.parse(params[:task][:completed_at]) if params[:task][:completed_at]
dove l'hash params sarebbe proveniente da un formulario (Rails/ActionView) .
È una sorta di corollario del noto linguaggio ||=
, che imposta il valore se l'LHS è non nil/falso.
Si sta utilizzando &&=
come questo in realtà un riconosciuto linguaggio Ruby che in qualche modo ho perso o che ho appena dimenticato un idioma più comunemente usato? È è ottenere piuttosto tardi ...
Il parser fa alcune cose strane: a = 1 se funziona un ** ** e b = 1 se mai ** fallisce ** –
per aggiungere la beffa al danno se xxx; xxx = 1; fine ** non riesce ** –