• KubeRoot@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    The issue with Lua’s and/or in this context is that they don’t work if false or nil are valid values. In a and b or c, if b = false, the result is always c.

    I also love null-related operators like ?? and ?. for this, since they explicitly check for null, letting you handle any non-null values for optional/default values. The syntax can get a bit cursed, like maybeNull?.maybeMethod?.(args) in JS, but I still prefer that to writing out multiple field accesses in an if condition… And arguably the code is only less readable if you aren’t acclimated to it.

    All that said I do really appreciate Lua’s simplicity, as a language that provides tooling to create the features you want instead of building them into the language, though I wish it had some conventional regex instead of its own patterns.

    • lime!@feddit.nu
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      i despise doing null checks as operators, because everyone does them differently. python’s a is not None is immediately obvious and you don’t have to think about chaining rules.