Browse Source

Hello World Elixir

master
Julio Biason 4 years ago
parent
commit
669cc7aebf
  1. 57
      elixir/hello-world/README.md
  2. 9
      elixir/hello-world/lib/hello_world.ex
  3. 28
      elixir/hello-world/mix.exs
  4. 7
      elixir/hello-world/test/hello_world_test.exs
  5. 2
      elixir/hello-world/test/test_helper.exs

57
elixir/hello-world/README.md

@ -0,0 +1,57 @@
# Hello World
The classical introductory exercise. Just say "Hello, World!".
["Hello, World!"](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program) is
the traditional first program for beginning programming in a new language
or environment.
The objectives are simple:
- Write a function that returns the string "Hello, World!".
- Run the test suite and make sure that it succeeds.
- Submit your solution and check it at the website.
If everything goes well, you will be ready to fetch your first real exercise.
## Running tests
Execute the tests with:
```bash
$ mix test
```
### Pending tests
In the test suites, all but the first test have been skipped.
Once you get a test passing, you can unskip the next one by
commenting out the relevant `@tag :pending` with a `#` symbol.
For example:
```elixir
# @tag :pending
test "shouting" do
assert Bob.hey("WATCH OUT!") == "Whoa, chill out!"
end
```
Or, you can enable all the tests by commenting out the
`ExUnit.configure` line in the test suite.
```elixir
# ExUnit.configure exclude: :pending, trace: true
```
If you're stuck on something, it may help to look at some of
the [available resources](https://exercism.io/tracks/elixir/resources)
out there where answers might be found.
## Source
This is an exercise to introduce users to using Exercism [http://en.wikipedia.org/wiki/%22Hello,_world!%22_program](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program)
## Submitting Incomplete Solutions
It's possible to submit an incomplete solution so you can see how others have completed the exercise.

9
elixir/hello-world/lib/hello_world.ex

@ -0,0 +1,9 @@
defmodule HelloWorld do
@doc """
Simply returns "Hello, World!"
"""
@spec hello :: String.t()
def hello do
"Hello, World!"
end
end

28
elixir/hello-world/mix.exs

@ -0,0 +1,28 @@
defmodule HelloWorld.MixProject do
use Mix.Project
def project do
[
app: :hello_world,
version: "0.1.0",
# elixir: "~> 1.8",
start_permanent: Mix.env() == :prod,
deps: deps()
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: [:logger]
]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
# {:dep_from_hexpm, "~> 0.3.0"},
# {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}
]
end
end

7
elixir/hello-world/test/hello_world_test.exs

@ -0,0 +1,7 @@
defmodule HelloWorldTest do
use ExUnit.Case
test "says 'Hello, World!'" do
assert HelloWorld.hello() == "Hello, World!"
end
end

2
elixir/hello-world/test/test_helper.exs

@ -0,0 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
Loading…
Cancel
Save