okkezSS
1
Se eseguo questo, ricevo il seguente errore da ruby:
undefined method `random’ for Modulo1:Module (NoMethodError)
if FILE == $0
module Modulo1
def random
return rand(200)
end
end
puts Modulo1.random
end
utilizzo: ruby 1.9.2 su ubuntu 10.0.4
Non riesco a capire il motivo…
vogon
2
Ciao,
tu chiami un metodo di classe, quindi il tuo codice va scritto cos:
if FILE == $0
module Modulo1
def self.random
return rand(200)
end
end
puts Modulo1.random
end
quihttp://railstips.org/blog/archives/2009/05/11/class-and-instance-methods-in-ruby/trovi
una buona spiegazione sull definizione dei metodi
vogon
3
dovresti riscriverlo come class method, non come instance method:
module Modulo1
def self.random # puoi anche usare ‘Modulo1’ come prefisso, ma ‘self’
pi comodo e flessibile
return rand(200)
end
end
ciao,
A.
Il 08/11/2010 12:26, Vogon P. ha scritto: