Made with KolourPaint and screenshots from Kate (with the GitHub theme).

  • ThirdConsul@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 day ago

    Well, I don’t know your use case well enough, but I guess you might have perfect reason for that behavior.

    One thing that comes to my mind is the old Try in C#

    bool parsedSuccessfully = int.TryParse("123", out int result);
    

    But I guess more popular approach would be to use Error as Values, right?

    E.g. something like this

    Outcome<Exception, Int> result = int.TotallyNewParse("123");
    
      • ThirdConsul@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        12 hours ago

        Great example.

        Wouldn’t getchar() be more appropriate here? Last time I used C it was 16 years ago.

        • CarrotsHaveEars@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          4 hours ago

          Yes, and no, sir, you missed the point. The procedure here is to allocate then give away, not reading a fixed-length returned value.

          Say you can only afford to have ten bytes in the stack. You allocate char s[10]; then give it to a library to parse something. Also telling it to abort if it’s going to be longer than ten bytes, of course.