Gibt es ein Äquivalent in Scheme of Common Lisp defsetf
?Äquivalent von defsetf in Schema
Antwort
Ich glaube nicht, dass es. Ich denke, defsetf
können Sie Dinge in Lisp wie (setf (car x) 5)
tun, d. H. Verwenden, was scheint, das Ergebnis einer Funktion als ein l-Wert zu sein. In Schema müssen sie jedoch separate Mutationsfunktionen wie set-car!
und set-cdr!
definieren, um die gleiche Aufgabe zu erfüllen; Das obige Beispiel wäre (set-car! x 5)
.
Ich bin mir ziemlich sicher, dass es kein Äquivalent im Standard (RnRS) -Schema gibt, aber SRFI 17, das von einigen Scheme-Implementierungen unterstützt wird, erlaubt Ihnen, Setter für verallgemeinerte Orte zu definieren.
Beachten Sie, dass srfi-17 den Laufzeitwert des Accessors und nicht das Formular selbst verwendet. Es ist ein kleiner Unterschied, aber es kann wichtig sein (normalerweise bedeutet es, dass es ein bisschen langsamer und ein bisschen flexibler ist). –
- 1. ORM-Äquivalent für ein Star/Snowflake-Schema
- 2. WCF-Äquivalent von ServiceDescriptionReflector
- 3. Jaxb-Äquivalent in C#
- 4. Coredata Äquivalent Summe ... Gruppe von
- 5. Äquivalent von assert.warning in mstest?
- 6. Äquivalent von Array() in VB.NET?
- 7. äquivalent von "touch" in scons?
- 8. Äquivalent von "pass" in Ruby
- 9. Äquivalent von "weiter" in Ruby
- 10. Äquivalent von java.net.URLConnection in .NET
- 11. Äquivalent von memcmp() in Java?
- 12. Äquivalent von LastCall.IgnoreArguments in EasyMock
- 13. Mongoose: schema in einem Schema
- 14. Verwenden von Zeichensatz in Schema
- 15. Android Äquivalent von getActivity() von/in ActionBarActivity
- 16. Äquivalent von IllegalArgumentException von Java in C++
- 17. Dart-Äquivalent von Array.prototype.map()?
- 18. C# Äquivalent von LinkedHashMap
- 19. Eckiges Äquivalent von ko.utils.arrayFirst()
- 20. MVC Äquivalent von Page_Load
- 21. Android - Äquivalent von UITableViewCell?
- 22. Lua Äquivalent von virtualenv?
- 23. Äquivalent von 'diesem' Zeiger
- 24. GCC-Äquivalent von PDBs
- 25. Serverseitiges Äquivalent von HttpContext?
- 26. C# Äquivalent von Perl $ _
- 27. Windows-Äquivalent von inet_aton
- 28. Python-Äquivalent von Jstack?
- 29. OSX-Äquivalent von ShellExecute?
- 30. VBA Äquivalent von DATEVALUE?
Sie benötigen diese Funktionen auch in CL (zum Beispiel 'rplaca') -' setf' ist nur Syntax, die auf sie erweitert wird. –