In message "[ruby-talk:03410] Exercice: Translate into Ruby :-)"
    on 00/06/14, Jilani Khaldi <jilanik / tin.it> writes:

|I need a translation of this C++ code to understand how Ruby classes
|wok.
|
|#include <iostream.h>
|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.