usando then
è probabilmente la soluzione canonica in quanto si intende esplicitamente per separare la condizione dal (in questo caso vuoto) del corpo. In alternativa è possibile scrivere
while doWork()
;#
(la #
mantiene la sintassi di vim evidenziazione da bandiera come un errore)
Mi piace anche la soluzione continue while doWork()
, ma io consiglio vivamente contro qualsiasi altra forma di expression while doWork()
citato nei commenti da quando questa è l'ultima dichiarazione di una funzione che diventerà un elenco costruttore:
_results = [];
while (doWork()) {
_results.push(expression);
}
return _results;
Oppure, se siete disposti a scambiare un paio di byte per la leggibilità, penso 'continuare mentre DoWork()' sarebbe il modo più chiaro per scriverlo. –
Io uso '(->)' come no-op, poiché è il più breve che ho trovato, quindi avrei fatto '(->) mentre doWork()'. –
@Trevor Sono stupito di come il tuo suggerimento sia incredibilmente leggibile (sintatticamente) e sorprendentemente oscuro (semanticamente). Non capirò mai come funziona senza il commento di Aaron :) (Ma è un vero e proprio idioma e lo inserirò felicemente come risposta). – brandizzi