hello2.rb:
class Hello2
attr_reader :msg
def initialize
@msg = "Hello, World2"
end
end
and hello.rb
require 'hello2.rb'
class Hello
attr_reader :msg
def initialize
@msg = "Hello, World"
end
end
h = Hello.new()
h2 = Hello2.new()
puts h2.msg
puts h.msg
print "Press RETURN"
$stdin.gets
This is obviously a conceptual excercise. I want to use class
"Hello2" in my hello.rb code. However this doesn't compile.
What is wrong with this code? How is something like this done in Ruby?
Thansk, Edgard
--
Posted via http://www.ruby-forum.com/.
Drop the .rb from you're require line. So it should be
require 'hello2'
--
> Posted via http://www.ruby-forum.com/.
>
>
--
===Tanner Burson===
tanner...@gmail.com
http://tannerburson.com <---Might even work one day...
Works for me under linux and windows.
Prints
> Hello, World2
> Hello, World
> Press RETURN
What exactly does not work?
I'm using FreeRuby, and I'm getting intermitent errors.
This is the error I get
>ruby c:/ruby/samples/hello.rb
c:/ruby/samples/hello.rb:11: parse error, unexpected tIDENTIFIER,
expecting $
h2 = Hello2.new()^Mputs h2.msg^M
^
However, I placed semi-colons (';') after each line and everything
compiled fine and ran with expected results:
h = Hello.new();
h2 = Hello2.new();
puts h2.msg;
puts h.msg;
print "Press RETURN";
$stdin.gets;
Seems like some kind of problem with the parser. Maybe I have
something setup wrong with respect to the end of line character or
something like that...
Thanks,
This looks like UNIX-style linebreaks (\n)
that Windows does not interpret correctly.
> However, I placed semi-colons (';') after each line and everything
> compiled fine and ran with expected results:
>
> h = Hello.new();
> h2 = Hello2.new();
>
> puts h2.msg;
> puts h.msg;
> print "Press RETURN";
> $stdin.gets;
>
>
> Seems like some kind of problem with the parser. Maybe I have
> something setup wrong with respect to the end of line character or
> something like that...
There may be a setting in your editor that toggles
the linebreak mode. I actually do not recall this
having been a problem but it has been a while since
I did any ruby development on Windows.
> Thanks,
> Edgard
E
>
> This looks like UNIX-style linebreaks (\n)
> that Windows does not interpret correctly.
>
This is what it was... I don't know why they were in there instead of
CRLF pairs, but I found a way in FreeRide to show the end of line
markers and was able to remove al single CR, and everything compiles
fine now.
Thanks to all,
Edgard