utilizando then
es probablemente la solución canónica ya que se entiende explícitamente para la separación de la condición del cuerpo (en este caso vacío). Como alternativa se puede escribir
while doWork()
;#
(el #
mantiene la sintaxis de vim destacando desde marcándola como un error)
También me gusta la solución continue while doWork()
, pero yo recomiendo en contra de cualquier otra forma de expression while doWork()
mencionado en los comentarios ya que cuando se trata de la última declaración de una función que va a convertirse en un constructor de lista:
_results = [];
while (doWork()) {
_results.push(expression);
}
return _results;
O si está dispuesto a cambiar unos pocos bytes para facilitar la lectura, creo que 'continuar mientras DoWork()' sería la forma más clara de escribirlo. –
Utilizo '(->)' como no operativa, ya que es el más corto que he encontrado, por lo que haría '(->) mientras doWork()'. –
@Trevor Me sorprende cómo su sugerencia es increíblemente legible (sintácticamente) y sorprendentemente oscura (semánticamente). Nunca entendería cómo funciona sin el comentario de Aaron :) (Pero es un modismo realmente hermoso y felizmente lo publicaría como respuesta). – brandizzi