เหตุใดไฟล์ Objective-C จึงใช้นามสกุล. m


204

ตั้งแต่ฉันเริ่มเรียนรู้ Objective-C และ Cocoa ฉันสงสัยว่าทำไมพวกเขาถึงเลือกนามสกุล. m สำหรับไฟล์ติดตั้ง - มันควรจะมีความหมายอะไรหรือเป็นแค่ตัวอักษรแบบสุ่ม?


12
มันสำหรับem plementation
dreamlax

2
ฉันเดาว่านี่เป็นการรบกวนผู้อื่นดังนั้นพวกเขาจึงทำการค้นคว้าเล็กน้อยเพื่อค้นหาหลักฐานที่ขัดแย้งกับความหมายที่อยู่เบื้องหลังส่วนขยาย. m ในที่สุดมันก็หมายถึงข้อความ สำหรับการอ่านแบบเต็ม: pempek.net/blog/2013/11/30/objective-c-file-extension/ ......
John Riselvato

.mไฟล์เป็นไฟล์การใช้งานตามที่คุณพูด รอบรู้แอปเปิ้ลชอบทุกอย่างคำนำหน้าด้วยiมันเป็นเรื่องง่ายที่จะเห็นว่าฉัน mplementation กลายเป็นmplementationiโดยไม่ต้องกล่าวว่า จากนั้นพวกเขาก็ใช้ตัวอักษรตัวแรกของการปรับใช้สำหรับนามสกุลไฟล์: m.
Daniel

คำตอบ:


465

วันนี้คนส่วนใหญ่จะเรียกพวกเขาว่า "ไฟล์วิธี" แต่

"ส่วนขยาย. m เดิมใช้กับ" m essages "เมื่อมีการแนะนำ Objective-C เป็นครั้งแรกซึ่งหมายถึงคุณลักษณะสำคัญของ Objective-C [... ]"

(จากหนังสือ " Learn Objective-C on the Mac " โดย Mark Dalrymple และ Scott Knaster หน้า 9)

แก้ไข:เพื่อตอบสนองความคันฉันส่งอีเมลแบรด Coxผู้ประดิษฐ์ของ Objective-C เกี่ยวกับคำถามและเขาตอบด้วยบรรทัดเดียวนี้:

"เพราะ. o และ. c ถูกนำมาใช้ง่ายเหมือนกัน"

นี่คืออีเมลเป็นหลักฐานภาพ:

หลักฐานภาพ


115
คุณใส่ใจส่งอีเมลถึงแบรดคอคส์เพื่อหาคำตอบ! คุณยอดเยี่ยม
Chironex

15
ดูเหมือนเขาจะสร้างเรื่องตลก ถ้า o และ c ถูกยึดทำไม m และไม่มีตัวอักษรอื่นที่มีอยู่? ในขณะที่ฉันคิดว่ามันเป็นคำตอบที่ตลกฉันก็พบว่ามันยากที่จะเชื่อว่ามันถูกดึงออกมาจากหมวกและเขาไม่ได้ใช้ตรรกะใด ๆ ในการเลือก m
ต้นแบบ

2
ฉันเห็นว่าเขาน่าจะล้อเล่น แต่มีแนวโน้มที่จะเป็นแก้ม มีแนวโน้มว่าจะ. สำหรับวิธีการหรือการส่งข้อความ แต่ยังใช้เพราะ. o และ. c ถูกใช้แล้ว
bigtunacan

10
ฉันหวังว่าแบรดจะตอบคำถามแทนการอธิบายว่าทำไม. o และ. c จึงไม่ได้ใช้ อย่างน้อยมันก็ส่องแสงเล็กน้อยในแง่มุมหนึ่งของคำตอบแม้ว่า ...
Still_dreaming_1

1
@INTPnerd เขาตอบมันไม่มากก็น้อย มันดูเหมือนว่าฉันว่า“.m” ได้รับเลือกจากแรกของจำเป็นสำหรับสิ่งอื่นที่ไม่ใช่“.o” หรือ“.c” และครั้งที่สองเพราะมันอาจจะถูกนำไปยังหมายถึงการใด ๆ / ทั้งหมดของ ethods, ม. essages ฉันm plementation
Slipp D. Thompson

8

มันหมายถึง "วิธีการ" จากcomp.lang.objective-C คำถามที่พบบ่อย :

องค์กรของแหล่งที่มาของ Objective-C นั้นคล้ายกับของซอร์สโค้ด C หรือ C ++ โดยมีการประกาศและอินเทอร์เฟซของวัตถุที่จะเข้าไปในไฟล์ส่วนหัวที่มีนามสกุล. h และคำจำกัดความและการนำวัตถุไปใช้ในไฟล์ สำหรับวิธีการ ) ส่วนขยาย


5

ไฟล์. m มี ethods (m) เหตุผลที่เป็นไปได้?


4
ไฟล์ m อาจมี (m) ความคิดเห็นในระดับสูงเช่นกัน! ไปคิด :)
NeverStopLearning

-3

Wild เดา: 1983 เปิดตัว ObjectC พร้อมกับคอมพิวเตอร์ Macintosh เครื่องแรก ... ดังนั้นมันอาจจะเป็น m ใน macintosh หรือ m เช่นเดียวกับวิธีการหรือแม้กระทั่งทั้งสอง


4
เดิมที Objective-C ไม่มีส่วนเกี่ยวข้องกับ Macintosh นอกจากนี้คำตอบที่ถูกต้องได้รับการโพสต์เมื่อหลายปีก่อน
Johan Halin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.