you are viewing a single comment's thread
view the rest of the comments
[–] 2 points 11 months ago (1 child)

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.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 11 months 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.

  • source
  • parent