- What roman numeral can climb the fence?
-IV.
Hello, everyone!
I have been working my way through Chris Pine's book, and I am done with Chapter 9. The two challenges that I have been working on the last couple days are programs that would convert the modern number into a roman numerals.
The first one was a little bit more straightforward. It would convert the number into ancient roman numeral. So a 9 would be turned into a VIIII. It is just straightforward addition, from larger to smaller. This is the code I wrote: Ancient Roman Numerals Challenge.
The second challenge was to rewrite the code so that it converts the number into a modern roman numeral, in which in order to avoid repeating a symbol 4 times (like IIII in VIIII), you are supposed to subtract from the higher number. So a 9 would be IX. At first I thought it would be just a minor tweak to the code, and I really struggled to make it work. I had to redo pretty much the entire code from scratch. This is the final version of that program: Modern Roman Numeral Challenge
As as a beginner, you can really get hung up on the smallest things. After I finished the above challenge, part of the code would not behave properly for some reason. It took me about an hour to realize that
x = 2
if x == (1 || 2 || 3)
puts 'x is equal 1 or 2 or 3'
end
is not the same as
x = 2
if (x == 1) || (x == 2) || (x == 3)
puts 'x is equal 1 or 2 or 3'
end
As soon as I changed my code, everything worked. I understand the difference now, but at first to me both of the codes above were the same thing.
I started Chapter 10, and I am trying to wrap my head around recursions, which is going a lot slower than I hoped, I must say...
Thanks for tuning in,
til next time,
-Andrei