• 4wd
    link
    fedilink
    arrow-up
    20
    arrow-down
    2
    ·
    6 months ago

    In Elixir, we mark statuses by using a question mark at the end of the variable name. Something like this:

    authorized? = user |> get_something() |> ensure_authorized?()
    

    I like this better than the is_ prefix

    • alexdeathway
      link
      fedilink
      arrow-up
      9
      ·
      edit-2
      6 months ago

      does ‘?’ have type definition in elixir or this is generally agreed design pattern?

      • Faresh@lemmy.ml
        link
        fedilink
        English
        arrow-up
        8
        ·
        6 months ago

        If it’s like Lisp, then ? is just part of the symbol and doesn’t have any special syntatic meaning. In different Lisps it’s also convention to end predicate names with a ? or with P (p for predicate)

      • FMT99@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        6 months ago

        We do this in Ruby all the time, we just prefer methods over variables, usually.

        def authorized?
          current_user&.authorized?
        end
        
        • cytokine0724@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          ·
          6 months ago

          I’m a principal backend engineer routinely writing Ruby for my day job, so I’m familiar, lol. But you can’t do it for local variables and that just sucks. Definitely a +1 for Elixir.