Desde que empecé a aprender Objective C y Cocoa, me he estado preguntando por qué han elegido la extensión .m para los archivos de implementación. ¿Se suponía que significaba algo o solo era una letra al azar? ¿Alguien sabe? No pude encontrar tal información en ninguna parte de Google ...¿Por qué los archivos de Objective C usan la extensión .m?
Respuesta
Hoy en día la mayoría de la gente se referiría a ellos como "los archivos de método", pero
"La extensión .m originalmente sinónimo de" m ensajes" cuando Objective-C fue el primer introdujo, en referencia a una característica central de Objective-C [...]"
(del libro "Learn Objective-C on the Mac" por Mark Dalrymple y Scott Knaster, página 9)
EDIT: Para satisfacer una picazón envié Brad Cox, el inventor de Objective-C, sobre la cuestión y él respondió con esta sola línea:
"Porque .oy .c fueron tomadas. . Sencilla como que"
Aquí está el correo electrónico como prueba visual:
Buena consulta, gracias por compartir. – ybakos
¡Se molestó en enviar un correo electrónico a Brad Cox para averiguarlo! Eres una persona maravillosa e increíble. – Chironex
Parece que estaba haciendo una broma. Si se tomaron oyc, ¿por qué m y no otra carta disponible? Aunque creo que es una respuesta graciosa, también me resulta difícil creer que simplemente se sacó de un sombrero y no utilizó ninguna lógica para elegir m. – prototypical
.m Los archivos contienen los (m) ethods. ¿Razón posible?
m archivos pueden contener (m) la mayoría de comentarios también! ir figura :) – NeverStopLearning
Es sinónimo de "métodos" de la comp.lang.objective-C FAQ:.
La organización de Objetivo- La fuente C es típicamente similar a la del código fuente C o C++, con declaraciones e interfaces de objetos yendo a encabezado archivos nombrados con una extensión .h, y definiciones e implementaciones de objetos que van en archivos nombrados con una extensión .m (abreviatura de métodos).
Wild guess: 1983 se presentó ObjectC junto con la primera computadora Macintosh .... Entonces podría ser m en macintosh o m como en métodos o incluso en ambos.
Objective-C originalmente no tenía nada que ver con el Macintosh. Además, la respuesta correcta ya fue publicada hace años. –
- 1. Mezclar archivos Objective C, (*. M, * .mm & .c /.cpp)
- 2. C Idioma: ¿qué significa la extensión .mm?
- 3. Objective-C: Importar encabezados en .ho .m?
- 4. ¿por qué los archivos de encabezado STL no tienen extensión?
- 5. C++: Razón por la cual usar ".hh" como extensión para los archivos de encabezado de C++
- 6. ¿Por qué algunos proyectos eligen la extensión para los archivos fuente .cc en C++?
- 7. ¿Por qué los navegadores usan tanta memoria?
- 8. por qué los métodos de extensión en C# Class Libraries
- 9. ¿Por qué la mayoría de los ejemplos que usan ArrayList
- 10. ¿Por qué los protocolos Objective-c adoptan otros protocolos?
- 11. Por qué salida difiere en C y Java en la expresión m ++ + (++ m)
- 12. "Métodos de extensión" en Objective-C
- 13. XCode 4.2 ¿por qué veo @interface dentro de los archivos .h y .m
- 14. ¿Por qué Android elimina la extensión de archivos .gz de los activos?
- 15. ¿Por qué las personas siempre usan la reasignación de variables de instancia en Objective-C (es decir, iPhone)?
- 16. ¿Por qué #ifndef y #define se usan en archivos de encabezado C++?
- 17. ¿Por qué los ejemplos de carga de archivos usan el nombre "qqfile"?
- 18. ¿Por qué los rieles usan la extensión .js.coffee para los archivos coffeescript cuando no pueden contener el código javascript de todos modos?
- 19. Los archivos fuente CUDA obtienen una extensión .cu. ¿Qué obtienen los archivos de cabecera?
- 20. ¿Qué significa [N ... M] en los inicializadores agregados C?
- 21. ¿Por qué se usan diferentes delimitadores en la notación porcentual?
- 22. ¿Por qué los polyfills de console.log() no usan Function.apply()?
- 23. ¿Por qué no se usan los paquetes de erlang?
- 24. ¿Por qué todos los ejemplos de canvas usan ctx?
- 25. Crear archivos en Objective-C
- 26. Estructura de archivos de Cassandra: ¿cómo se usan los archivos?
- 27. ¿Por qué Vim guarda archivos con una ~ extensión?
- 28. Confusión con encabezado y archivos de implementación en Objective-C
- 29. C# ¿Por qué los métodos parciales usan ref, pero no salen?
- 30. ¿Para qué se usan los dominios de la aplicación?
Es para la * em * plementación. – dreamlax
Supongo que esto molestaba a otra persona, por lo que hicieron un poco de investigación para encontrar evidencia contradictoria sobre el significado de la extensión .m. En definitiva, representa mensajes. Para la lectura completa: http://pempek.net/blog/2013/11/30/objective-c-file-extension/&utm_medium=email&utm_source=iOS%2BDev%2BWeekly –