From: matz@... (Yukihiro Matsumoto) Date: 2000-06-15T01:51:09+09:00 Subject: [ruby-talk:03412] Re: Exercice: Translate into Ruby :-) In message "[ruby-talk:03410] Exercice: Translate into Ruby :-)" on 00/06/14, Jilani Khaldi writes: |I need a translation of this C++ code to understand how Ruby classes |wok. | |#include |class myclass { | int a; |public: | int b; | void setab(int i); | int geta(); | void reset(); |}; | |void myclass::setab(int i) |{ |a = i; |b = i*i; |} | |int myclass:: geta() |{ |return a; |} | |void myclass::reset() |{ |setab(0); |} | |int main() |{ |myclass ob; | |ob.setab(5); |cout << "a = " << ob.geta() << '\n'; |cout << "b = " << ob.b << '\n'; | |ob.b = 20; |cout << "a = " << ob.geta() << '\n'; |cout << "b = " << ob.b << '\n'; | |ob.reset; |cout << "a = " << ob.geta() << '\n'; |cout << "b = " << ob.b << '\n'; | |return 0; |} | |Thank you. Is this what you want? class MyClass def setab(i) @a = i @b = i*i end def reset setab(0) end attr_reader :a attr_accessor :b end ob = MyClass::new() ob.setab(5) print "a = ", ob.a, "\n" print "b = ", ob.b, "\n" ob.b = 20 print "a = ", ob.a, "\n" print "b = ", ob.b, "\n" ob.reset print "a = ", ob.a, "\n" print "b = ", ob.b, "\n" Hope this helps. matz.