乙個有意思的遞迴定義

2021-07-05 14:24:40 字數 684 閱讀 4544

最近在看一本《web全棧工程師的自我修養》一書,其中涉及到了npm這個詞的意義,非常有意思。

一般人可能以為npm是node package manager的縮寫,但實際上不是這樣的,npm不是node package manager的首字母縮寫,所以不能全大寫。npm是「npm is not an acronym」(npm不是乙個縮寫)這個遞迴定義的簡寫。

是不是很繞?呵呵。

遞迴定義是指一種在定義中引用他自身的定義方法,在程式中引用自己稱為遞迴,因為自身是遞迴的,所以無法精確地解發布他的真正全稱。我們熟知的visa其實就是一種遞迴定義,visa的意義是visa internation service association,還有png,png is not gif。

再讀一遍npm的遞迴定義「npm is not an acronym」,按理他的縮寫應該是ninaa,但是這樣就成了acronym(縮寫)了,就是錯誤的,所以只能簡稱他為npm,我們不知道他是什麼,但可以肯定的是,他不是乙個縮寫。

是不是有點崩潰?這還有一段:

npm可以大寫麼?

不可以,因為npm不是乙個縮寫

那npm是什麼單詞的縮寫麼?

是「npm不是乙個縮寫」的簡寫。

有意思的遞迴

先來乙個入門的 上初中學習數列求和什麼的時候我們就學過高斯的計算1到100的自然數的和的經典課文,那麼如果我們現在用程式的話該怎麼來做呢?自然是迴圈來做這件事。如果不用迴圈怎麼做呢?def sum first,end if end 1 return first elif end 1 return s...

乙個有意思的問題

a b這個表示式如何理解?應該理解成a b還是a b,還是a b呢?應該按第一種方式理解。編譯的過程分為詞法解析和 語法解析兩個階段,在詞法解析階段,編譯器總是從前到後找最長的合法token。把這個表 達式從前到後解析,變數名a是乙個token,a後 面有兩個以上的 號,在c語言中乙個 號是合法的t...

乙個有意思的問題

最近做乙個交通管理系統,其中有個使用者投票功能。設想是直接開發乙個自定義的控制項。完成顯示,投票,ip檢索等全部功能。然而卻遇到乙個有意思的問題。具體來說就說,因為是用radiobuttonlist顯示的資料,在用radiobuttonlist.value捕獲使用者輸入時卻發現取出的索引始終為0.即...