Tại sao các tệp Objective-C sử dụng phần mở rộng .m?


204

Kể từ khi tôi bắt đầu học Objective-C và Ca cao, tôi đã tự hỏi tại sao họ lại chọn phần mở rộng .m cho các tệp triển khai - nó có nghĩa là gì đó, hay đó chỉ là một chữ cái ngẫu nhiên?


12
Đó là cho sự cam kết em .
dreamlax

2
Tôi đoán điều này đã làm phiền người khác, vì vậy họ đã thực hiện một chút nghiên cứu để tìm ra bằng chứng mâu thuẫn về ý nghĩa đằng sau phần mở rộng .m. Cuối cùng, nó là viết tắt của tin nhắn. Để đọc đầy đủ: pempek.net/blog/2013/11/30/objective-c-file-extension/ mẹo
John Riselvato 6/12/13

.mtập tin là tập tin thực hiện như bạn nói. Biết Apple thích tiền tố mọi thứ với inó là dễ dàng để thấy rằng tôi thực hiện trở thành thực hiện mà không cần nói i. Sau đó, họ chỉ sử dụng chữ cái đầu tiên thực hiện cho phần mở rộng tập tin : m.
Daniel

Câu trả lời:


465

Ngày nay, hầu hết mọi người sẽ gọi chúng là "tệp phương thức", nhưng

"Phần mở rộng .m ban đầu là viết tắt của" m essages "khi Objective-C được giới thiệu lần đầu tiên, đề cập đến một tính năng trung tâm của Objective-C [...]"

(từ cuốn sách " Tìm hiểu mục tiêu-C trên máy Mac " của Mark Dalrymple và Scott Knaster, trang 9)

EDIT: Để thỏa mãn cơn ngứa, tôi đã gửi email cho Brad Cox , người phát minh ra Objective-C, về câu hỏi và anh ấy đã trả lời bằng một dòng duy nhất:

"Bởi vì .o và .c đã được thực hiện. Đơn giản như vậy."

Đây là email làm bằng chứng trực quan:

Bằng chứng trực quan


115
Bạn bận tâm gửi email cho Brad Cox để tìm hiểu! Bạn tuyệt vời, người tuyệt vời.
Chironex

15
Có vẻ như anh ta đang làm một trò đùa. Nếu o và c được lấy, tại sao m và không phải bất kỳ chữ cái có sẵn nào khác? Trong khi tôi nghĩ đó là một câu trả lời hài hước, tôi cũng thấy khó tin rằng nó chỉ đơn giản được kéo ra từ một chiếc mũ và anh ta đã không sử dụng bất kỳ logic nào trong việc chọn m.
nguyên mẫu

2
Tôi đồng ý anh ta có khả năng nói đùa, nhưng có khả năng hơi tặc lưỡi. .m có thể là cho phương thức hoặc nhắn tin, nhưng cũng chỉ được sử dụng vì .o và .c đã được sử dụng.
bigtunacan

10
Tôi ước Brad thực sự đã trả lời câu hỏi thay vì chỉ giải thích tại sao .o và .c không được sử dụng. Ít nhất nó cũng làm sáng tỏ một chút về một khía cạnh của câu trả lời ...
still_dreaming_1

1
@INTPnerd Anh ấy đã trả lời nó, ít nhiều. Dường như với tôi rằng “.m” được chọn ra đầu tiên về sự cần thiết cho một cái gì đó khác hơn là “.o” hoặc “.c” và thứ hai vì nó có thể được đưa đến nghĩa là bất kỳ / tất cả các m ethods, m essages, tôi m mạ vàng.
Slipp D. Thompson

8

Nó là viết tắt của "phương pháp". Từ câu hỏi thường gặp comp.lang.objective-C :

Tổ chức của nguồn Objective-C thường tương tự như mã nguồn C hoặc C ++, với các khai báo và giao diện đối tượng đi vào các tệp tiêu đề có tên mở rộng .h, và các định nghĩa và triển khai đối tượng đi trong các tệp có tên .m (ngắn cho phương pháp ) mở rộng.



-3

Wild đoán: 1983 được ObjectC giới thiệu cùng với máy tính Macintosh đầu tiên .... Vì vậy, nó có thể là m như trong macffy hoặc m như trong các phương thức hoặc thậm chí cả hai.


4
Objective-C ban đầu không liên quan gì đến Macintosh. Bên cạnh đó, câu trả lời chính xác đã được đăng từ nhiều năm trước.
Johan Halin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.