ruby in cmd

M

maung

I am new to Ruby and am trying to run a piece of code from Programming
Ruby in cmd. When i run in cmd >ruby Song.rb, I don't get any output.
But I can get the result I expected when I run in irb. Can anyone help
me on this?

class Song
def initialize(name , artist, duartion)
@name = name
@artist = artist
@duration = duartion
end

def to_s
"Song: #{system @name}--#{@artist} (#{@duration})"
end

def name
@name
end

def artist
@artist
end

def duration
@duration
end
end


aSong = Song.new("NAF", "AS", 300)
aSong.to_s
aSong.artist
aSong.name
aSong.duration
 
D

Daniel Kempkens

maung said:
I am new to Ruby and am trying to run a piece of code from Programming
Ruby in cmd. When i run in cmd >ruby Song.rb, I don't get any output.
But I can get the result I expected when I run in irb. Can anyone help
me on this?

class Song
def initialize(name , artist, duartion)
@name = name
@artist = artist
@duration = duartion
end

def to_s
"Song: #{system @name}--#{@artist} (#{@duration})"
end

def name
@name
end

def artist
@artist
end

def duration
@duration
end
end


aSong = Song.new("NAF", "AS", 300)
aSong.to_s
aSong.artist
aSong.name
aSong.duration
You need to put a puts/print in front of everything you want to output.
So for example:
puts aSong.to_s
 
A

Adriano Ferreira

I am new to Ruby and am trying to run a piece of code from Programming
Ruby in cmd. When i run in cmd >ruby Song.rb, I don't get any output.
But I can get the result I expected when I run in irb. Can anyone help
me on this?

As there is no print/puts/etc. statement, this non-output is expected
from the file you wrote when run as a script.

irb is a read-eval-print loop. By default, it prints the output of the
expressions and that's why you see the output in this case.
 
M

Maung Augn

Adriano said:
As there is no print/puts/etc. statement, this non-output is expected
from the file you wrote when run as a script.

irb is a read-eval-print loop. By default, it prints the output of the
expressions and that's why you see the output in this case.

That's explained it. Thanks a lot. It saved me a lot of time.

Maung
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,774
Messages
2,569,598
Members
45,149
Latest member
Vinay Kumar Nevatia0
Top