diff --git a/clojure/hello-world/.exercism/metadata.json b/clojure/hello-world/.exercism/metadata.json new file mode 100644 index 0000000..cb6b996 --- /dev/null +++ b/clojure/hello-world/.exercism/metadata.json @@ -0,0 +1 @@ +{"track":"clojure","exercise":"hello-world","id":"180434dc45db47aa9b500d839cdb84fa","url":"https://exercism.io/my/solutions/180434dc45db47aa9b500d839cdb84fa","handle":"JBiason","is_requester":true,"auto_approve":true} \ No newline at end of file diff --git a/clojure/hello-world/.lein-failures b/clojure/hello-world/.lein-failures new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/clojure/hello-world/.lein-failures @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/clojure/hello-world/README.md b/clojure/hello-world/README.md new file mode 100644 index 0000000..f4ce04b --- /dev/null +++ b/clojure/hello-world/README.md @@ -0,0 +1,51 @@ +# 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. + +### Project Structure + +Clojure exercises in exercism use [leiningen](http://leiningen.org/) to configure and run your code +and use [leiningen standard directory structure](https://github.com/technomancy/leiningen/blob/master/doc/TUTORIAL.md#directory-layout). + +You will find a test file named `hello_world_test.clj` inside `test` directory. +Write your code in `src/hello_world.clj`. It should use the namespace `hello-world` so that tests can pick it up. + +### Running tests + +Run the tests using `lein test` command and make them pass: + +``` +$ lein test + +lein test hello-world-test + +Ran 1 tests containing 1 assertions. +0 failures, 0 errors. +``` + +Then submit the exercise using: + +``` +$ exercism submit src/hello_world.clj +``` + +For more detailed instructions and learning resources refer [exercism's clojure language page](http://exercism.io/languages/clojure). + +## 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. diff --git a/clojure/hello-world/project.clj b/clojure/hello-world/project.clj new file mode 100644 index 0000000..b6b1aec --- /dev/null +++ b/clojure/hello-world/project.clj @@ -0,0 +1,4 @@ +(defproject hello-world "0.1.0-SNAPSHOT" + :description "hello-world exercise." + :url "https://github.com/exercism/clojure/tree/master/exercises/hello-world" + :dependencies [[org.clojure/clojure "1.10.0"]]) diff --git a/clojure/hello-world/src/hello_world.clj b/clojure/hello-world/src/hello_world.clj new file mode 100644 index 0000000..7ab44ba --- /dev/null +++ b/clojure/hello-world/src/hello_world.clj @@ -0,0 +1,5 @@ +(ns hello-world) + +(defn hello [] ;; <- arglist goes here + "Hello, World!" +) diff --git a/clojure/hello-world/target/classes/META-INF/maven/hello-world/hello-world/pom.properties b/clojure/hello-world/target/classes/META-INF/maven/hello-world/hello-world/pom.properties new file mode 100644 index 0000000..c537095 --- /dev/null +++ b/clojure/hello-world/target/classes/META-INF/maven/hello-world/hello-world/pom.properties @@ -0,0 +1,3 @@ +groupId=hello-world +artifactId=hello-world +version=0.1.0-SNAPSHOT diff --git a/clojure/hello-world/target/stale/leiningen.core.classpath.extract-native-dependencies b/clojure/hello-world/target/stale/leiningen.core.classpath.extract-native-dependencies new file mode 100644 index 0000000..6c0149f --- /dev/null +++ b/clojure/hello-world/target/stale/leiningen.core.classpath.extract-native-dependencies @@ -0,0 +1 @@ +[{:dependencies {org.clojure/clojure {:vsn "1.10.0", :native-prefix nil}, org.clojure/spec.alpha {:vsn "0.2.176", :native-prefix nil}, org.clojure/core.specs.alpha {:vsn "0.2.44", :native-prefix nil}, nrepl {:vsn "0.6.0", :native-prefix nil}, clojure-complete {:vsn "0.2.5", :native-prefix nil}}, :native-path "target/native"} {:native-path "target/native", :dependencies {org.clojure/clojure {:vsn "1.10.0", :native-prefix nil, :native? false}, org.clojure/spec.alpha {:vsn "0.2.176", :native-prefix nil, :native? false}, org.clojure/core.specs.alpha {:vsn "0.2.44", :native-prefix nil, :native? false}, nrepl {:vsn "0.6.0", :native-prefix nil, :native? false}, clojure-complete {:vsn "0.2.5", :native-prefix nil, :native? false}}}] \ No newline at end of file diff --git a/clojure/hello-world/test/hello_world_test.clj b/clojure/hello-world/test/hello_world_test.clj new file mode 100644 index 0000000..ce032d9 --- /dev/null +++ b/clojure/hello-world/test/hello_world_test.clj @@ -0,0 +1,6 @@ +(ns hello-world-test + (:require [clojure.test :refer [deftest is]] + hello-world)) + +(deftest hello-world-test + (is (= "Hello, World!" (hello-world/hello))))