El apidoc de distinct
en SeqLike
dice:Scala SeqLike orden de conservación distinta?
construye una nueva secuencia de esta secuencia sin elementos duplicados. Devoluciones: una nueva secuencia que contiene la primera aparición de cada elemento de esta secuencia.
¿Considero correcto que no se ofrece garantía de pedido? De manera más general, ¿los métodos de SeqLike proporcionan alguna garantía de proceso en el pedido (y devolución en el pedido)?
¿Entonces SeqLike no tiene que garantizar pero Seq tiene? – ron
No creo que esto sea técnicamente correcto. Si bien las secuencias obviamente tienen orden, no pude encontrar nada que mencionara preservarlo en cada operación. Estoy de acuerdo en que algunas personas esperarían esto, pero no creo que una implementación que coloque elementos de secuencia en un 'Conjunto' y los devuelva en cualquier orden violaría cualquier contrato. Dicho esto, creo que la implementación actual preserva el orden. – pazabo
@pazabo Probablemente tenga razón en que no hay una garantía sólida, ni de una especificación, ni, por supuesto, de ninguna herramienta, compilador, linter, etc., pero cualquiera que vaya en contra de este principio puede ser acusado fácilmente de violar el principio de menos sorpresa, y la lib estándar no lo hace. –