¿Scheme/Racket tiene una notación de enumeración equivalente a la notación [a..b] en Haskell?
En Haskell, [1..5] evalúa a una lista [1,2,3,4,5].¿Scheme/Racket tiene una operación de enumeración?
5
A
Respuesta
10
(for/list ([i (in-range 1 6)]) i)
(sequence->list (in-range 1 6))
(require srfi/1) (iota 5 1)
4
(for/list ([i 5]) (+ 1 i))
(build-list 5 add1)
También, (in-range 1 6)
(que es un sequence) por sí mismo es útil en muchos contextos.
+0
Para obtener un comportamiento más parecido al de Haskell, usa 'build-list' de Lazy Racket, que es (sorpresa) perezosa. –
Cuestiones relacionadas
- 1. enumeración como operación aritmética
- 2. ¿Perl tiene un tipo de enumeración?
- 3. ¿Por qué una enumeración tiene un constructor privado de paquetes?
- 4. ¿La actualización tiene una operación atómica de selección anidada?
- 5. colección se modificó, la operación de enumeración no podrá ejecutar
- 6. Javascript enumeración dentro de una enumeración
- 7. en la enumeración y bit a bit operación
- 8. convertir una enumeración a otro tipo de enumeración
- 9. Cómo persistir un objeto que tiene un campo de enumeración
- 10. Enumeración de hibernación, que persiste como una enumeración
- 11. crear dinámicamente una enumeración
- 12. desarmado una bandera enumeración
- 13. ¿Extendiendo una enumeración?
- 14. Comprobar si una enumeración tiene un campo que es igual a una cadena
- 15. Enumerar dentro de una enumeración
- 16. Enumeración automática de una secuencia
- 17. Get enumeración de atributos enumeración
- 18. Escribir una operación atómica
- 19. ¿XMLDocument.Guardar una operación atómica?
- 20. NHibernate: la colección se modificó; la operación de enumeración no se puede ejecutar
- 21. Paralelización una operación vectorial Numpy
- 22. ¿Java tiene una enumeración completa para los códigos de respuesta HTTP?
- 23. Cómo crear una enumeración estática con un valor que tiene un símbolo de guión en Java?
- 24. Método de extensión C# para verificar si una enumeración tiene un indicador establecido
- 25. Obteniendo el tipo de enumeración anidada que tiene solo una cadena?
- 26. Declarar una enumeración dentro de una clase
- 27. Se modificó Entity Framework Collection; la operación de enumeración no se puede ejecutar
- 28. CoreData 'Este NSPersistentStoreCoordinator no tiene tiendas persistentes. No puede realizar una operación de guardado '.
- 29. Se modificó la colección C#; la operación de enumeración no puede ejecutar
- 30. Se modificó la colección Entity framework; la operación de enumeración no se puede ejecutar
El punto de venta de Lisp es la sintaxis mínima. Entonces, en lugar de notación especial, como '[a..b]', hay funciones que logran lo mismo. –