elixir - hello-world

This commit is contained in:
James Walker 2018-09-16 16:48:37 -04:00
parent 5991d1fab1
commit 1641d23312
Signed by: walkah
GPG Key ID: 3C127179D6086E93
3 changed files with 80 additions and 0 deletions

View File

@ -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
$ elixir hello_world_test.exs
```
### 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.

View File

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

View File

@ -0,0 +1,14 @@
if !System.get_env("EXERCISM_TEST_EXAMPLES") do
Code.load_file("hello_world.exs", __DIR__)
end
ExUnit.start()
ExUnit.configure(trace: true)
defmodule HelloWorldTest do
use ExUnit.Case
test "says 'Hello, World!'" do
assert HelloWorld.hello() == "Hello, World!"
end
end