Zdałem sobie sprawę, że nawiasy klamrowe dla skrótu można pominąć, jeśli jest to ostatni element w tablicy. Na przykład, formy:Pominięcie nawiasów klamrowych dla skrótu w tablicy
[1, 2, 3, :a => 'A', :b => 'B']
[1, 2, 3, a: 'A', b: 'B']
wydają się być identyczne:
[1, 2, 3, {:a => 'A', :b => 'B'}]
[1, 2, 3, {a: 'A', b: 'B'}]
Wiedziałem tego rodzaju zaniechania jest możliwe argumenty metody, ale nie zauważył, że jest to możliwe do tablicy . Czy moje zrozumienie tej zasady jest prawidłowe? I czy jest to gdzieś opisane?
Przypuszczam, że teoretycznie '[...]' jest wywołaniem metody do metody, która wygląda jak 'def x (* args)', więc zachowanie ma sens. Może wykopuj literalny kod obsługi C, aby zobaczyć, jak jest on obsługiwany wewnętrznie. –
Nie używałbym tego jednak jako praktyki kodowania. Wolę widzieć wizualne rozgraniczenie dostarczone przez '{' i '}', i powiedziałbym, że w recenzji kodu. Jest to problem dotyczący konserwacji i czytelności. –
@muistooshort Działa, nawet jeśli nie jest wywołaniem metody. Działa to tylko w celu utworzenia tablicy. – sawa