elixir - hello-world
This commit is contained in:
parent
5991d1fab1
commit
1641d23312
57
elixir/hello-world/README.md
Normal file
57
elixir/hello-world/README.md
Normal 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.
|
9
elixir/hello-world/hello_world.exs
Normal file
9
elixir/hello-world/hello_world.exs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
defmodule HelloWorld do
|
||||||
|
@doc """
|
||||||
|
Simply returns "Hello, World!"
|
||||||
|
"""
|
||||||
|
@spec hello :: String.t()
|
||||||
|
def hello do
|
||||||
|
"Hello, World!"
|
||||||
|
end
|
||||||
|
end
|
14
elixir/hello-world/hello_world_test.exs
Normal file
14
elixir/hello-world/hello_world_test.exs
Normal 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
|
Loading…
x
Reference in New Issue
Block a user