Julio Biason
4 years ago
5 changed files with 103 additions and 0 deletions
@ -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. |
@ -0,0 +1,9 @@
|
||||
defmodule HelloWorld do |
||||
@doc """ |
||||
Simply returns "Hello, World!" |
||||
""" |
||||
@spec hello :: String.t() |
||||
def hello do |
||||
"Hello, World!" |
||||
end |
||||
end |
@ -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 |
@ -0,0 +1,7 @@
|
||||
defmodule HelloWorldTest do |
||||
use ExUnit.Case |
||||
|
||||
test "says 'Hello, World!'" do |
||||
assert HelloWorld.hello() == "Hello, World!" |
||||
end |
||||
end |
Loading…
Reference in new issue