Pattern Matching a Function Body: Tuples

You cannot view this unit as you're not logged in yet. Go to Account to login.


  1. Francisco Quintero on November 24, 2020 at 7:02 pm

    Awesome and thank you!

    These pattern matching exercises have clear my mind and now I feel more confident. In the beginning I thought I wouldn’t complete the exercises without looking at the solution but gave them a try, read my notes, and tests passed!

    The second one was a tricky one, though, but was a nice thing to learn.

  2. Van Damrongsri on November 28, 2020 at 4:09 pm

    Is it a better practice to create multiple function clauses or to create one clause with a case statement?

    • Mark Ericksen on November 28, 2020 at 8:59 pm

      It’s a good question and this may sound like I’m dodging the question, but I’d say it really depends. 🙂

      I prefer a case statement when the code is pretty simple. Like just a simple transformation. When the body of code in a case clause starts to get more involved or complex, I think about doing it differently. Separate function clauses can be easier to test as well.

  3. romenigld on December 12, 2020 at 7:34 am

    Sometimes reading some code I notice I needed to practice and put in my mind exactly these things.
    And here was a good sample to blow my mind.
    I like the exercise with tests, It was very helpful.
    In some books you don’t see this important things you need to understand and it’s very simple now for me.

    • Mark Ericksen on December 12, 2020 at 10:23 am

      Awesome! I’m so glad you’re enjoying it!

  4. Mark Johnson on February 20, 2021 at 9:55 am

    Very helpful. Practice makes perfect. Thanks for putting this tutorial together.
    Kinda reminds me of the Ruby Koans project, which was terrific.

  5. Uzo Enudi on March 9, 2021 at 7:47 am

    This is really cool. Got my pattern-matching confidence on a solid level. Much appreciation for this awesome tutorials and tests.

  6. Vitaly Vasiliev on June 5, 2021 at 3:17 am

    Thank you, the best i found so far. Would buy the next course for sure.

    Maybe you can do something with recursion? 🙂

    • Mark Ericksen on June 5, 2021 at 6:50 am

      I’m glad it’s helpful! Yes, the CodeFlow course covers recursion along with a lot more.

  7. Maksym Kosenko on November 1, 2021 at 11:06 am

    The 2nd exercise was difficult for me, I don’t know why. Maybe I need to get used to use pattern matching more often. I have all tests passed with this solution:

    def has_three_elements?(tuple) do
        tuple_size(tuple) == 3
    • Mark Ericksen on November 1, 2021 at 11:27 am

      Yes, that works! However you don’t get any of the benefits of pattern matching. What we’re building up to is letting the function header do the sorting for which function body will be executed. The pattern match replaces your conditional logic… gone are the days of multiple nested IF statements. Things become much clearer, easier to understand and maintain.

  8. Maksym Kosenko on November 1, 2021 at 11:17 am

    And I also interesting where’s exercise #4? why it’s missed.

    • Mark Ericksen on November 1, 2021 at 11:33 am

      Ha! That’s crazy that no one pointed that out before! There is no missing #4… the numbering was off. Fixed. Thanks!

Leave a Comment

You must be logged in to post a comment.