We're going to build a simple program that implements only the very first thing a complete Tic Tac Toe program would require, which is to greet the player with a welcome message.
- Read the output from running
learn
. - Use
puts
to print "Welcome to Tic Tac Toe!" - Have tests pass locally by running
learn
. - Submit solution.
- Run
learn
- Read output.
- Code solution in
lib/welcome.rb
- Run
learn
- Read output.
- If still broken, repeat 3-5
- If passing, submit with
learn submit
Here are some things you can try to get more clues to solve the lab.
When you run ruby lib/welcome.rb
from your terminal you are asking the Ruby interpreter to run your program. If you see no output, like below, that means there is no code in lib/welcome.rb
to print "Welcome to Tic Tac Toe!".
The solution to this is to make sure you have puts "Welcome to Tic Tac Toe!"
in lib/welcome.rb
. A working program should look like:
Hint: Make sure you've saved lib/welcome.rb
.
When you run learn
you might see failing tests even though your program seemingly works. The failures might read something like:
1) lib/welcome.rb prints "Welcome to Tic Tac Toe!"
Failure/Error: load './lib/welcome.rb'
#<IO:0x007fa2b28325a0> received :puts with unexpected arguments
expected: ("Welcome to Tic Tac Toe!")
got: ("Welcome to Tic Tac Toe")
# ./lib/welcome.rb:4:in `puts'
Or something that looks like:
1) lib/welcome.rb prints "Welcome to Tic Tac Toe!"
Failure/Error: load './lib/welcome.rb'
#<IO:0x007fa2b28325a0> received :puts with unexpected arguments
expected: ("Welcome to Tic Tac Toe!")
got: ("Welcome to tic tac toe!")
# ./lib/welcome.rb:4:in `puts'
What these errors are saying is that the test expected you to print "Welcome to Tic Tac Toe!"
but you printed something else. Programming is absolutely precise, make sure your tests are printing exactly "Welcome to Tic Tac Toe!".