我有以下代碼
module Hello
def hello_world
puts "Hello World"
end
end
class Test
extend Hello
end
test = Test
test.hello_world
Hello.hello_world
這有以下輸出
Hello World
main.rb:13:in `<main>': undefined method `hello_world' for Hello:Module (NoMethodError)
我如何讓上面的代碼作業,以便兩者都test.hello_world作業Hello.hello_world?
uj5u.com熱心網友回復:
Hello不回應,hello_world因為hello_world不是類方法。您可以通過像這樣擴展Hello模塊來獲得所需的行為:self
module Hello
extend self
def hello_world
puts "Hello World"
end
end
class Test
extend Hello
end
test = Test
test.hello_world #=> Hello World
Hello.hello_world #=> Hello World
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/440693.html
標籤:红宝石
