Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Are Boolean operators lazy?

Ouverte
#2,072 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
48/100
Type d'issue
Documentation
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
shell
Domaine
documentation

Piste de recherche

Commencez par la page de documentation Boolean liée et par l’issue 10237 de Nushell référencée. Vérifiez si and et or sont garantis comme étant évalués paresseusement, puis documentez le comportement confirmé et ses implications pour l’exemple présenté sur la page de documentation Boolean appropriée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Hello,

TL;DR: Are the and and or Boolean operators guaranteed to be lazy, so we can document it?


I encountered this bug https://github.com/nushell/nushell/issues/10237 which makes last error out on an empty input instead of returning a null if I understand correctly.

So I have written this workaround:

  let filler = if ($text != "") and ($text | split chars | last) == "%" { "%" } else { " " }

This code works without errors for me, so the RHS of the and Boolean operator must not be evaluated / be lazily evaluated.
To put it short, the and operator seems lazy (nu version 0.108.0)

I cannot find it documented in Boolean | Nushell and looking for "lazy" in the documentation does not yield anything related to Booleans.

Is and guaranteed to be lazy in future versions? What about or?
Should we document this behavior?

Langage dominant
TypeScript
Étoiles
261
Forks
561
Merge moyen
3 h 51 min
PR mergées (30 j)
15

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de nushell/nushell.github.io

Toutes les issues de nushell/nushell.github.io

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.