From: Guo Yangguang Date: 2007-07-29T15:56:07+09:00 Subject: Re: how can i use a ruby class in object way thank you very much!Your answer make me understand more about object in ruby.I am very glad.But still ,i have another question.Please read an example following: class Test def initialize e="e" end def Test.say_hello puts "Hello from #{self.name}" puts "hello from #{self.class}" end say_hello end Your means is we can use a class anyplaces after defining it ,but in this example,i use a classmehod immediately after defining it in class context.This is valid.Can you explain it for me?What is more,if it is a instance method ,i can not get any result.why? thank you ! FireAphis wrote: > On Jul 26, 6:43 am, Guo Yangguang wrote: >> -- >> Posted viahttp://www.ruby-forum.com/. > > I hope I understand your question correctly. > > Ruby is in its essence an interpreter. When you type in your command > prompt > >>ruby my_script.rb > > the interpreter (that by itself is just another application) reads > your file line by line and executes every line. Think of every line in > Ruby as a command to the interpreter and that the interpreter executes > every single line. That means you can use your classes anywhere you > like as long as they were defined before. For example, this is > absolutely correct in Ruby: > > a = "I assign even before any declaration" > puts "Moreover I can output its value #{a}" > > (1..10).each {|x| puts "#{x} I can do anything I wish"} > > class C1 > puts "When interpreter will read this he will print. Not very > useful but possible" > def a() > end > end > > c = C1.new # now we can use our class > puts "We can do something in between..." > > class C2 > puts "We can define another class" > def b > end > end > > puts "And so on..." > > > As you can see it's quite different from Java. If you want to feel > more comfortable think of your Ruby code written entirely inside one > big 'main' Java function. Just remember - every line is executed! > > FireAphis -- Posted via http://www.ruby-forum.com/.