Hey everyone, I’m very new to Ruby and I’m starting to do a bit more
hands-on practice… So I decided to make an attempt at making a small
bit of code, but when I run it, nothing happens… Can someone please
explain why?..
Here is what I have so far:
class RoboEngine
def initialize
puts “Initializing…”
Init.action1
end
end
class Initialization
def action1
puts “Initialized!”
sleep(0.3)
puts “Loading Thought Process…”
end
end
Init = Initialization.new
So why is it that when I run this, nothing happens? Nothing is
printed…
Well the only class being initialise in the Initialization class, you
could delete the whole RoboEngine class from your code because nothing
is using it
Put this after the last line
RoboEngine.new
and try again
Il giorno Sun, 22 Jan 2012 04:56:33 +0900
Paet Worlds II [email protected] ha scritto:
puts "Initialized!"
So why is it that when I run this, nothing happens? Nothing is
printed…
You create an object of class Initialization and assign it to the
constant
Init. The only methods which are called is Initialization#initialize,
called
from Initialize.new. Since you haven’t defined it, Object#initialize is
used
instead and it does nothing.
I guess what you want is to also create an instance of RoboEngine, after
creating the Initialization object:
Init = Initialization.new
robo = RoboEngine.new
I hope this helps
Stefano
Il giorno Sun, 22 Jan 2012 05:37:10 +0900
Paet Worlds II [email protected] ha scritto:
You create an object of class Initialization and assign it to the
Init = Initialization.new
Because the only methods which print something on the screen are
RoboEngine#initialize and Initialization#action1, and you didn’t call
any of
them.
Stefano
Stefano C. wrote in post #1041949:
Il giorno Sun, 22 Jan 2012 04:56:33 +0900
Paet Worlds II [email protected] ha scritto:
puts "Initialized!"
So why is it that when I run this, nothing happens? Nothing is
printed…
You create an object of class Initialization and assign it to the
constant
Init. The only methods which are called is Initialization#initialize,
called
from Initialize.new. Since you haven’t defined it, Object#initialize is
used
instead and it does nothing.
I guess what you want is to also create an instance of RoboEngine, after
creating the Initialization object:
Init = Initialization.new
robo = RoboEngine.new
I hope this helps
Stefano
Thank you both so much!! But could you please give me a very basic
explanation as to why it did not work before? o,o
-Thanks a ton!