ruby學習筆記(一)

2021-08-22 12:20:32 字數 1293 閱讀 1493

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的類和模組都是 開放的 而且可以在執行...