一个有意思的递归定义

个人心得 同时被 3 个专栏收录
237 篇文章 0 订阅
19 篇文章 0 订阅
20 篇文章 0 订阅

最近在看一本《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
    点赞
  • 2
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值