簡體   English   中英

“內核”的目的是什么?

[英]What is the purpose of `Kernel`?

  1. Kernel模塊的目的是什么? 如果在Kernel上定義的所有內容都是在Object上定義的,並且沒有像Kernel這樣的模塊,會發生什么變化?
  2. 當我想定義一個可以在任何對象上調用的方法時,我應該在KernelObject上定義它嗎?

我將從一個問題開始:在一個典型的Kernel方法(例如puts會有什么樣的self 最有意義的self內部puts可能是Ruby運行時本身。 類似於其他“真正想成為函數的方法”,如Arrayfork 因此,您可以將Kernel視為一種傾向,這些方法或多或少是Ruby本身的命令或消息。

Kernel也有奇怪的方法,如subchop ,它們只對一次性ruby -e腳本有用。 這些東西傾向於使用$_作為隱含的self但我認為它們可以被視為上面“Ruby運行時命令”的特殊情況。

當您希望能夠在任何對象上調用該方法時,方法在哪里? 我會說它會進入Object 如果該方法實際上是偽裝的函數並且沒有有意義的self ,那么它將進入Kernel

暫無
暫無

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

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