Co to jest <=>
operator Ruby (statek kosmiczny)? Czy operator jest implementowany w innych językach?
[1,nil] <=> [1,3]
że otrzymujesz wynik nil
ze względu na spójność algorytmu, porównując kolejno każdy element, aż <=>
wynik NIE będzie 0
. Ruby nie ma możliwości zadeklarowania wartości mniejszej lub większej niż w tym przykładzie, ponieważ po prostu nie można dokonać porównania. nil
Powinny być traktowane jako „nie równa się”. Jeśli wiesz coś o danych i np. Chcesz traktować nil
jako 0
, Ruby to ułatwia.
[1,3,2] <=> [2,2,2]
?