🎉 Exercism Research is now launched. Help Exercism, help science and have some fun at research.exercism.io 🎉
Avatar of nihilismus

nihilismus's solution

to Hello World in the Groovy Track

Published at Sep 07 2020 · 0 comments
Instructions
Test suite
Solution

The classical introductory exercise. Just say "Hello, World!".

"Hello, World!" 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.

For installation and learning resources, refer to the Groovy resources page.

Setup

Go through the setup instructions for Groovy to install the necessary dependencies:

https://exercism.io/tracks/groovy/installation

Making the test suite pass

We are using Gradle to build and test our exercises if you have a local version of Gradle installed you can use it. If not, we have the Gradle Wrapper installed into the exercises. If you wish to use the Gradle Wrapper please make sure gradlew is executable on your platform beforehand.

On MacOS/Linux, please run:

$ chmod +x gradlew

Execute the tests with:

$ ./gradlew test

Use gradlew.bat if you're on Windows

After the first test(s) pass, continue by commenting out or removing the @Ignore annotations prepending other tests.

When all tests pass, congratulations!

Source

This is an exercise to introduce users to using Exercism 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.

HelloWorldSpec.groovy

import spock.lang.*

class HelloWorldSpec extends Specification {

    def "Say Hi!"() {
        expect:
        new HelloWorld().hello() == expected

        where:
        expected = 'Hello, World!'
    }

}
class HelloWorld {

    def hello() {
        "Hello, World!"
    }

}

Community comments

Find this solution interesting? Ask the author a question to learn more.

What can you learn from this solution?

A huge amount can be learned from reading other people’s code. This is why we wanted to give exercism users the option of making their solutions public.

Here are some questions to help you reflect on this solution and learn the most from it.

  • What compromises have been made?
  • Are there new concepts here that you could read more about to improve your understanding?