Treasure Matching
Mix.install([
{:kino, github: "livebook-dev/kino", override: true},
{:kino_lab, "~> 0.1.0-dev", github: "jonatanklosko/kino_lab"},
{:vega_lite, "~> 0.1.4"},
{:kino_vega_lite, "~> 0.1.1"},
{:benchee, "~> 0.1"},
{:ecto, "~> 3.7"},
{:math, "~> 0.7.0"},
{:faker, "~> 0.17.0"},
{:utils, path: "#{__DIR__}/../utils"},
{:tested_cell, git: "https://github.com/BrooklinJazz/tested_cell"}
])
Navigation
Treasure Matching
In this exercise, you’re going to use pattern matching to extract the "jewel"
string from the data provided and bind it to a jewel
variable. The first exercise is complete for example.
[_, _, _, jewel] = [1, 2, 3, "jewel"]
Utils.feedback(:jewel, jewel)
Replace nil
with your answer.
nil = [1, 2, 3, "jewel"]
Utils.feedback(:jewel, jewel)
nil = %{key1: "value", key2: "jewel"}
Utils.feedback(:jewel, jewel)
nil = %{1 => "jewel"}
Utils.feedback(:jewel, jewel)
nil = %{%{key: [1, 2, 3, 4, 5, {}]} => "jewel"}
Utils.feedback(:jewel, jewel)
nil = %{north: %{south: %{west: %{east: "jewel"}}}}
Utils.feedback(:jewel, jewel)
nil = %{"jewel" => 1}
Utils.feedback(:jewel, jewel)
nil = [2, "jewel"]
Utils.feedback(:jewel, jewel)
nil = ["jewel", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Utils.feedback(:jewel, jewel)
nil = [1, "jewel", 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Utils.feedback(:jewel, jewel)
nil = [1, 2, "jewel", 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Utils.feedback(:jewel, jewel)
nil = [[], [1, [2, "jewel"]]]
Utils.feedback(:jewel, jewel)
nil = "here is the jewel"
Utils.feedback(:jewel, jewel)
nil = {"jewel"}
Utils.feedback(:jewel, jewel)
nil = {"jewel", 1}
Utils.feedback(:jewel, jewel)
nil = {1, 2, "jewel"}
Utils.feedback(:jewel, jewel)
nil = ["jewel"] ++ Enum.to_list(1..100)
Utils.feedback(:jewel, jewel)
nil = [key: "jewel"]
Utils.feedback(:jewel, jewel)
nil = Enum.map(1..4, fn each -> (each == 2 && "jewel") || each end)
Utils.feedback(:jewel, jewel)
nil = Enum.map(1..4, &((&1 > 3 && "jewel") || &1))
Utils.feedback(:jewel, jewel)
Commit Your Progress
Run the following in your command line from the project folder to track and save your progress in a Git commit.
$ git add .
$ git commit -m "finish treasure matching exercise"