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.