Skip to content

Latest commit

 

History

History
117 lines (83 loc) · 3.07 KB

metric_conversion.livemd

File metadata and controls

117 lines (83 loc) · 3.07 KB

Metric Conversion

Mix.install([
  {:youtube, github: "brooklinjazz/youtube"},
  {:hidden_cell, github: "brooklinjazz/hidden_cell"},
  {:tested_cell, github: "brooklinjazz/tested_cell"},
  {:utils, path: "#{__DIR__}/../utils"}
])

Navigation

Return Home Report An Issue

Metric Conversion

You're going to build an app to convert metric measurements such as millimeters, centimeters, meters, and kilometers according to the following table.

[
  [unit: :millimeter, value: 1, meter: 0.001],
  [unit: :centimeter, value: 1, meter: 0.01],
  [unit: :meter, value: 1, meter: 1],
  [unit: :kilometer, value: 1, meter: 1000]
]
|> Kino.DataTable.new()
1000 * 0.01 / 1000

Users provide values using {from_unit, value} tuples, and the desired unit to convert to.

Metric.convert({:centimeter, 100}, :meter)
1.0

The unit to convert from, and the unit to convert to can be either :millimeter, :centimeter, :meter, or :kilometer. The output should always be a float.

defmodule Metric do
  @moduledoc """
  Documentation for `Metric`
  """

  @doc """
  Convert one measurement to another.
  We've used math values in the result

  ## Examples

    Convert unit to meters.

    iex> Metric.convert({:millimeter, 1}, :meter)
    0.001

    iex> Metric.convert({:centimeter, 1}, :meter)
    0.01

    iex> Metric.convert({:meter, 1}, :meter)
    1.0

    iex> Metric.convert({:kilometer, 1}, :meter)
    1000

    Convert meters to unit.

    iex> Metric.convert({:meter, 1}, :millimeter)
    1000.0

    iex> Metric.convert({:meter, 1}, :centimeter)
    100.0

    iex> Metric.convert({:meter, 1}, :meter)
    1.0

    iex> Metric.convert({:meter, 1}, :kilometer)
    0.001

    Convert unit to unit.

    iex> Metric.convert({:centimeter, 1000}, :kilometer)
    0.01

    iex> Metric.convert({:millimeter, 10}, :centimeter)
    1

    iex> Metric.convert({:kilometer, 10}, :centimeter)
    1000000
  """
  def convert(from, to) do
  end
end

Commit Your Progress

Run the following in your command line from the beta_curriculum folder to track and save your progress in a Git commit.

$ git add .
$ git commit -m "finish metric conversion exercise"

Up Next

Previous Next
RPS Pattern Matching Guards