Qualcuno esperto in fonia può spiegare questo scherzo a me? Ho letto alcuni linguaggi di programmazione funzionale e so che CAR/CDR significa Contenuti del registro indirizzi/decrementi, ma ancora non capisco l'umorismo.Che cosa significa "l'altra mia auto è un cdr"?
risposta
In Lisp, un elemento dell'elenco collegato è denominato CONS. Si tratta di una struttura dati con due elementi, denominati CAR e CDR per ragioni storiche. (Alcuni programmatori Common Lisp preferiscono riferirsi a loro usando le funzioni FIRST e REST, mentre altri come CAR e CDR perché si adattano bene alle versioni precomposte come (CADR x) ≡ (CAR (CDR x)).
Lo scherzo è una parodia degli adesivi paraurti che a volte vedi su vecchie auto battute dicendo "La mia altra auto è una Porsche/BMW/ecc."
Il mio response a questo scherzo è sempre stato "La mia altra macchina è un CADR. CDR non è una macchina a tutti."
+1 per avere una risposta abituale. :) – Kobi
molto bello, ma non è vero. Non dopo '(rplacd a (auto a))' manifestamente no. :) LISP comune non è Haskell. Ma grazie per la spiegazione. +1. –
@WillNess Common Lisp non è un LISP comune. –
// Venendo da Schema
programma ha pochissime strutture di dati, uno di loro è una tupla: '(first . second)
. In questo caso, car
è il primo elemento e cdr
è il secondo. Questo costrutto può essere esteso per creare elenchi, alberi e altre strutture.
Lo scherzo non è molto divertente.
Sì, sicuramente uno scherzo geek.
I nomi provengono dalla IBM 704, ma non è lo scherzo.
Lo scherzo è (cattivo) gioco di parole su "l'altra mia auto è un ___". Ma l'in-joke parla di ricorsione.
Quando si esegue il loop/manipola/seleziona/invoca/più in lisp, si utilizza una combinazione di auto (il primo elemento nell'elenco) e cdr (il resto dell'elenco) per gestire le funzioni.
Quindi hai una macchina, ma la tua altra macchina è il tuo cdr perché puoi sempre prendere una macchina da un cdr dato che il cdr è sempre (in ricorsione) più elementi. Prendilo? Ridi ancora?
Probabilmente dovrai imparare la chiarezza per ridacchiare o meno. Naturalmente, a quel punto, probabilmente ti ritroverai a ridacchiare a caso senza motivo apparente perché:
Lisp ti rende ansioso.
E con il tuo ultimo respiro, è iniziata un'altra partita. – zxq9
- 1. Che cosa significa "// TODO Auto Generated metodo stub" significa?
- 2. Che cosa significa team Scrum di auto-organizzazione?
- 3. Che cosa significa "[questo]" significa in C++
- 4. cosa significa [auto stesso] nell'obiettivo c?
- 5. Che cosa significa POSIX che un thread è "sospeso"?
- 6. Che cosa significa dire che un tipo è "inscatolato"?
- 7. Che cosa significa "sys.argv"?
- 8. Che cosa significa __FILE__?
- 9. Che cosa significa?. significa in C#?
- 10. Che cosa significa _branch_match_id?
- 11. Che cosa significa compilationOptions.emitEntryPoint?
- 12. Che cosa significa SKU?
- 13. Che cosa significa "Remotabile"?
- 14. Che cosa significa "javascript: //"?
- 15. Che cosa significa `_time_independent_equals`?
- 16. Che cosa significa 8badf00d?
- 17. Che cosa significa "deprecato"?
- 18. Che cosa significa MEDIA_ERROR_SERVER_DIED?
- 19. Che cosa significa "String ..."?
- 20. Che cosa significa __utma?
- 21. Che cosa significa new()?
- 22. Che cosa significa "@UIApplicationMain"?
- 23. Che cosa significa Material.alphaTest?
- 24. Che cosa significa "=>"?
- 25. Che cosa significa nibNameOrNil?
- 26. Che cosa significa hibernate.default_schema?
- 27. Che cosa significa "log *"?
- 28. Che cosa significa "arricciatura"?
- 29. Esistono rubini equivalenti a auto, cdr e contro?
- 30. Che cosa significa "monolitico"?
inizia a "intrigare" un po 'e poi capirai. Hahaha. è meglio di un adesivo per il paraurti che dice "questo programmatore si ferma a tutte le raccolte di spazzatura". – gonzobrains
Circa mezz'ora dopo che questa domanda era collegata a https://news.ycombinator.com/item?id=14416846 è stata messa in attesa. È una domanda di 8 anni. Fastidiosamente, non posso discutere contro lo stato di attesa, ma non mi piace l'atmosfera di metterlo in attesa * ora *. –
@ i336_ per la [meta discussione] (https://meta.stackoverflow.com/questions/250060/should-i-flag-old-questions-that-ought-to-be-closed), è chiuso per impedire nuove risposte dall'intasamento della coda di revisione. – Andrew