1.ruby中列出物件的方法
要知道乙個類是否定義了某個特殊的例項方法,需要在類上呼叫method_defined?或者在類的例項上呼叫respond_to? 要知道乙個類是否定義可某個特定的類方法,需要在類上呼叫respond_to?
class myclass
def myclass.my_singleton_method
enddef my_instance_method
end
endmyclass.method_defined? :my_instance_metnod # => true
myclass.new.respond_to? :my_instance_metnod # => true
myclass.respond_to? :my_instance_metnod # => flash
myclass.respond_to? :my_singleton_method # => true
2. 乙個method還可用作乙個**塊
s= "sample srting"
replacements =
replacements.collect(&s.metnod(:gusb)) #=>["****** srting" ,"sample substitution"]
3.如何獲得對同乙個類的乙個例項和乙個類方法的引用。
class welcome
def welcome.a_class_method
return "greetings from the welcome class"
end
def an_instance_method
return "salutation from a welcome class"
endend
welcomer.method("an_instance_method")
# nameerror: undefined method 'an_instance_method' for class 'class'
welcomer.new.method("an_instance_method").call
# => "salutations from a welcomer object." // 例項方法的呼叫
welcomer.method("a_class_method").call
# => "greetings from the welcomer class." // 類方法的呼叫
Ruby學習筆記(一)
1 單引號和雙引號的區別 單引號中不能包含變數,雙引號中可以包含變數。在ruby中,單引號中的 n這樣表示換行之類的轉義字元都會無效,直接輸出出來。2 使用for r uby的for有兩種用法 sum 0 for i in 2.5 sum 1 endputs sumnames a b c for n...
Ruby學習筆記 一
單引號與雙引號的差別 與shell中類似,單引號中的內容不會被轉義,雙引號中的內容會被轉義.測試 如下 name butnet puts hello t puts hello t begin 輸出結果 hello t hello butnet end類初始化方法名 initialize 建立類的內容...
Ruby學習筆記(一)
1 ruby的注釋以 開頭,緊跟著 後面的內容表示被注釋 的返回值。2 print方法列印不換行,puts方法列印並換行。3 用def關鍵字來定義方法,方法的返回值是方法體中最後乙個被執行的表示式的值。4 單鍵方法 類方法 是以物件名為方法名的字首。5 ruby的類和模組都是 開放的 而且可以在執行...