自从我开始学习Objective-C和Cocoa,我就一直在想为什么它们选择了扩展名.m作为实现文件的后缀 - 它是否意味着什么,还是只是一个随机字母?
自从我开始学习Objective-C和Cocoa,我一直在思考他们为什么选择了扩展名为“.m”的实现文件——这是否有特别的意义,还是纯粹随意的字母组合呢?自从我开始学习Objective-C和Cocoa,我就一直在想为什么它们选择了扩展名.m作为实现文件的后缀 - 它是否意味着什么,还是只是一个随机字母?
自从我开始学习Objective-C和Cocoa,我一直在思考他们为什么选择了扩展名为“.m”的实现文件——这是否有特别的意义,还是纯粹随意的字母组合呢?今天,大多数人会将它们称为“方法文件”,但
“.m扩展名最初代表“消息”(messages),当Objective-C首次引入时,这是指Objective-C的一个核心特性[...]”
(摘自Mark Dalrymple和Scott Knaster的书“Learn Objective-C on the Mac”,第9页)
编辑:为了满足好奇心,我给Objective-C的发明人Brad Cox发了一封电子邮件,他回答说:
“因为.o和.c已经被占用了。就这么简单。”
这是电子邮件的视觉证明:
这里的缩写"M"代表"方法"。根据comp.lang.objective-C FAQ(Objective-C常见问题解答):
Objective-C源代码的组织通常类似于C或C++源代码,其中声明和对象接口放置在以.h扩展名命名的头文件中,定义和对象实现则放在以.m(缩写为方法)扩展名命名的文件中。
.m文件包含(m)ethods。可能的原因是什么?