簡體   English   中英

ruby代碼中的assert fido.methods.size> 0是什么意思?

[英]What does the assert fido.methods.size > 0 mean in the ruby code?

我現在開始學習一些紅寶石,並且正在做Ruby Koans練習。 然后我陷入了代碼:

def test_objects_have_methods
    fido = Dog.new
    assert fido.methods.size > 0 
  end

我對fido.methods感到困惑。 它指的是什么?

謝謝!

它返回實例fido上所有可調用方法的數組。

我沒有在生產中使用它,但是它對於調試或編寫奇怪的腳本非常有用。

關於所有內容都有很好的文檔。 Object#methods

返回obj的公共方法和受保護方法的名稱的列表。 這將包括在obj的祖先中可訪問的所有方法。 如果可選參數為false ,則返回obj的公共受保護的單例方法的數組,該數組將不包含obj中包含的模塊中的方法。

由於您是在Dog實例上調用它的,因此顯然是從Object派生的,方法列表包括所有在Object定義的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM