/ / Jak utworzyć listę w Ruby? - ruby, lista

Jak utworzyć listę w Ruby? - ruby, lista

Jestem nowy w Ruby i nie mogę odpowiedzieć na to łatwe pytanie:

Jaki jest normalny sposób na uzyskanie listy liczb [1, 2, ..., n] w Ruby? W Haskell po prostu wpisuję [1..n]i jestem pewien, że w Ruby jest to łatwe, ale nie mogę tego odgadnąć.

Odpowiedzi:

14 dla odpowiedzi № 1

1..n jest Zasięg w Ruby. Możesz przekonwertować go do tablicy za pomocą (1..n).to_a lub krótsza forma [*1..n].

W zależności od tego, co robisz, korzystanie z zakresu bezpośrednio może być bardziej wydajne.


3 dla odpowiedzi № 2

Ruby ma specjalne obiekty zasięgu, napisane jako 1..10 lub cokolwiek. Do wielu celów możesz użyć jednego z nich zamiast tablicy. Jeśli potrzebujesz tablicy, wywołaj obiekt zakresu to_a metoda:

(1..10).to_a

1 dla odpowiedzi nr 3

Masz na myśli zasięg? Możesz to zrobić tak:

(0..n)

Da ci to tablicę zawierającą od 0 do 9.

Więcej informacji o zakresach i tablicach znajdziesz tutaj: http://www.ruby-doc.org/core/classes/Range.html


1 dla odpowiedzi nr 4

Inne podejście to

1.upto(9).to_a

Samo nudne, ale możesz też zrobić

1.step(10, 3).to_a #=> [1, 4, 7, 10]