class HelloWorld
def initialize(myname="Ruby")
@name=myname
end
def hello
print "I am a ",@name
end
end
rgss1=HelloWorld.new
rgss2=HelloWorld.new("TERENCE")
rgss1.hello #->显示I am a Ruby
rgss2.hello #->显示I am a TERENCE
class HelloWorld
def apple(myname="Ruby")
@name=myname
end
def hello
print "I am a ",@name
end
end
rgss1=HelloWorld.apple
rgss2=HelloWorld.apple("TERENCE")
rgss1.hello #->显示I am a Ruby
rgss2.hello #->显示I am a TERENCE
以下引用禾西于2008-3-18 11:27:54的发言:
第二段代碼會出錯
class.new.method是一種調用class內方法的固有書寫格式
以下引用禾西于2008-3-18 11:27:54的发言:
第二段代碼會出錯
class.new.method是一種調用class內方法的固有書寫格式
rgss1=HelloWorld.apple
rgss2=HelloWorld.apple("TERENCE")
rgss1.hello #->显示I am a Ruby
rgss2.hello #->显示I am a TERENCE
HelloWorld.apple.hello #->显示I am a Ruby
HelloWorld.apple("TERENCE").hello #->显示I am a TERENCE
class HelloWorld
def HelloWorld.hello(name)
print name," said Hello."
end
end
HelloWorld.hello("TERENCE")
以下引用禾西于2008-3-18 11:59:20的发言:
這樣的代碼……
你在外部直接class內部方法會被Ruby自動漠視的。語法就是語法,不是改個假的名字就可以的。
提出反例子之前最好自己試驗一下吧?
PS。wy的解說真是精闢……囧rz
[本贴由作者于 2008-3-18 12:01:02 最后编辑]
def HelloWorld.hello(name)
print name," said Hello."
end
HelloWorld.hello("TERENCE")
以下引用禾西于2008-3-18 12:35:55的发言:
恐怕那本書是寫:
def HelloWorld.hello(name)
print name," said Hello."
end
HelloWorld.hello("TERENCE")
吧?否則可能是盜版……==|||
[本贴由作者于 2008-3-18 12:36:18 最后编辑]
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |