.gcd method in ruby 1.8.7

H

hazal Ates

in my code i use .gcd method to find greatest common divisor of two int.

like i= 12.gcd 44
puts i

but it says "not defined method"
 
H

hazal Ates

hazal said:
in my code i use .gcd method to find greatest common divisor of two int.

like i= 12.gcd 44
puts i

but it says "not defined method"

note : its not work in irb , too.
 
S

Stefano Crocco

|in my code i use .gcd method to find greatest common divisor of two int.
|
|like i= 12.gcd 44
|puts i
|
|but it says "not defined method"

Without the "like" before i= (which I assume doesn't belong to your program
since it produces a syntax error) your code works correctly for me with ruby
1.8.7-p302.

Stefano
 
H

hazal Ates

Stefano said:
Without the "like" before i= (which I assume doesn't belong to your
program
since it produces a syntax error) your code works correctly for me with
ruby
1.8.7-p302.

Stefano

thank you, but of course i wrote the code without "like".
irb output as below ;
irb(main):001:0> 12.gcd 44
NoMethodError: undefined method `gcd' for 12:Fixnum
from (irb):1
from :0
 
S

Stefano Crocco

|Stefano Crocco wrote:
|> On Wednesday 08 September 2010, hazal Ates wrote:
|>> |in my code i use .gcd method to find greatest common divisor of two
|>> |int.
|>> |
|>> |like i= 12.gcd 44
|>> |puts i
|>> |
|>> |but it says "not defined method"
|>
|> Without the "like" before i= (which I assume doesn't belong to your
|> program
|> since it produces a syntax error) your code works correctly for me with
|> ruby
|> 1.8.7-p302.
|>
|> Stefano
|
|thank you, but of course i wrote the code without "like".
|irb output as below ;
|irb(main):001:0> 12.gcd 44
|NoMethodError: undefined method `gcd' for 12:Fixnum
| from (irb):1
| from :0

You're right. In ruby 1.8.7 the gcd method is defined in rational.rb, which is
part of the standard library. To make your program work you simply have to
require it. The reason it worked for me is that this file is automatically
required on my system when starting irb.

I hope this helps

Stefano
 
H

hazal Ates

You're right. In ruby 1.8.7 the gcd method is defined in rational.rb,
which is
part of the standard library. To make your program work you simply have
to
require it. The reason it worked for me is that this file is
automatically
required on my system when starting irb.

I hope this helps

Stefano

thanks but now another problem :

when i wrote : Rational ( 26,65 ) it gives syntax error :(
ruby ratio.rb
ratio.rb:1: syntax error, unexpected ',', expecting ')'
Rational (6 , 10)
^
Exit code: 1

normally it must give : (2/5)
 
H

hazal Ates

thanks but now another problem :
when i wrote : Rational ( 26,65 ) it gives syntax error :(

ratio.rb:1: syntax error, unexpected ',', expecting ')'
Rational (6 , 10)
^

normally it must give : (2/5)


ok i just solve it by writing like :

Rational (26),(65) -------> 2/5
 
S

Stefano Crocco

|> You're right. In ruby 1.8.7 the gcd method is defined in rational.rb,
|> which is
|> part of the standard library. To make your program work you simply have
|> to
|> require it. The reason it worked for me is that this file is
|> automatically
|> required on my system when starting irb.
|>
|> I hope this helps
|>
|> Stefano
|
|thanks but now another problem :
|
|when i wrote : Rational ( 26,65 ) it gives syntax error :(
|
|>ruby ratio.rb
|
|ratio.rb:1: syntax error, unexpected ',', expecting ')'
|Rational (6 , 10)
| ^
|
|>Exit code: 1
|
|normally it must give : (2/5)

This is strange. It works for me. An attempt I'd do is to remove the space
between Rational and the parentheses. Ruby behaviour when you put a space
before a parentheses can be unintuitive (if calling ruby with the -w switch,
it should give a warning about it).

Stefano
 
Q

Quintus

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 09.09.2010 14:43, schrieb Stefano Crocco:
This is strange. It works for me. An attempt I'd do is to remove the space
between Rational and the parentheses. Ruby behaviour when you put a space
before a parentheses can be unintuitive (if calling ruby with the -w switch,
it should give a warning about it).

Stefano

marvin@ikarus:~$ irb
irb(main):001:0> RUBY_DESCRIPTION
=> "ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]"
irb(main):002:0> Rational (6 , 10)
SyntaxError: (irb):2: syntax error, unexpected ',', expecting ')'
Rational (6 , 10)
^
from /opt/rubies/ruby-1.9.2-p0/bin/irb:12:in `<main>'
irb(main):003:0> exit
marvin@ikarus:~$ irb18 -rrational
irb(main):001:0> RUBY_DESCRIPTION
=> "ruby 1.8.7 (2010-06-23 patchlevel 299) [x86_64-linux]"
irb(main):002:0> Rational (6, 10)
(irb):2: warning: don't put space before argument parentheses
=> Rational(3, 5)
irb(main):003:0> exit
marvin@ikarus:~$

Vale,
Marvin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyI3EQACgkQDYShvwAbcNluVQCeJPljE4VOJkODCPHu/p7iQkOZ
cwwAn3YG2Zuht7dUkLV8XRS71fqgiAST
=Bnh3
-----END PGP SIGNATURE-----
 

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

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,902
Latest member
Elena68X5

Latest Threads

Top