Philipp Pirozhkov created Ryan, a web framework built on top of Reia and YAWS. For reasons I have yet to figure out, it does not want to build on my machine. At least there's more code to look at to learn the language. Ryan also has a RSpec-like syntax for writing tests, which look interesting.
Starting with web development might be a bit too ambitious for me. I actually managed to mess up a simple "Hello, world!" example, so I'm starting slow.
Note to self: methods in Reia have parentheses. It's not Ruby, where you can omit them.
Wrong hello world:
puts "Hello, world!"Proper hello world:
puts("Hello, world!")Sincy my brain still thinks in Ruby, let's start with a simple bit of Ruby code and convert it to Reia.
First, the Ruby code:
[1,2,3].each { |n| puts n }This prints out three lines with 1, 2 and 3 on them.
Now the same code in Reia:
[1,2,3].each { |n| puts(n.to_s()) }The two obvious differences:
- All method calls need their parentheses. So use "puts('String')" instead of "puts 'String'".
- The int has to be explicitly cast to a String.
[1,2,3].each do |n|Notice the puts() is indented and there is no "end": that is the Python-style indentation at work. A third way to write the code is by (ab)using List Comprehensions:
puts(n.to_s())
[puts(x.to_s()) | x in [1,2,3]]This is the strangest form for me, since Ruby does not have something similar. The way I interpret it is by reading from right to left: for each x in [1,2,3], do the puts thingy left of the pipe.
With that, I conclude my first post on Reia. Now let's see if I can get Google's code prettify syntax highlighting to work.