Kiedy wykonuję przecięcie dwóch tablic, czy istnieje gwarancja, że wynikowa kolejność jest oparta na kolejności pierwszej macierzy?Czy kolejność jest zachowywana w tablicach po zakończeniu przecięcia?
Na przykład, jeśli mam
a = [1,2,3]
b = [3,2,1]
mógł a & b
zwrot [3,2,1]
, zamiast [1,2,3]
(czego bym się spodziewać)?
Nie mogę znaleźć niczego bezpośrednio odnoszącego się do tego w dokumentacji Arkusza RDoc lub Pickaxe.
RubySpec ma specyfikację, że jest to creates an array with elements in order they are first encountered, ale czy powinienem przyjąć, że YARV Ruby spełni tę specyfikację?
Przez szybkie spojrzenie na kod C (http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-26), powiedziałbym, że wydaje się zachować porządek – pjam