Како направити вишедимензионални низ у Руби-у

Како направити вишедимензионални низ у Руби-у. Иако Руби не пружа експлицитну подршку за вишедимензионалне низове, можете га сами имплементирати ако имате основно знање језика. У суштини морате креирати „низ низова“ у којем сваки елемент низа садржи још један низ. Да бисте креирали такав вишедимензионални низ у Руби-ју, можете написати метод који се користи за генерисање низова низова тако да код не мора да се понавља.

Направите вишедимензионални низ у Руби-у

Корак 1

Напишите скелет методе. Овај метод ће узети одређени број аргумената димензија и вратити празан вишедимензионални низ тих димензија. На пример, за низ 10к10, позовите овај метод мда (10,10):деф мда (ширина, висина) енд

Видео дана

Корак 2

Направите низ елемената ширине.

Корак 3

Креирајте низ елемената висине за сваки елемент у низу. Ово чини „низ низова“ који ће се користити као дводимензионални низ. Да бисте креирали празне низове одређене дужине, користите конструктор Арраи.нев са дужином као аргументом. У почетку ће све вредности у низу бити нула.

Корак 4

Користите мапу! метод такође. Карта! метода понавља сваки елемент у низу, покреће блок за сваки и додељује резултат блока елементу низа. Исти резултат се може постићи коришћењем фор петље, али мапа! метода је сажетија: деф мда (ширина, висина) а = Арраи.нев (видтх) а.мап! { Арраи.нев (хеигхт) }ретурн аенд

Корак 5

Користите овај низ са оператором индекса (угласте заграде []). На пример, ако имате низ 10к10 који се зове "а" и желите елемент 7,3, рекли бисте а[7][3]: а = мда (10,10)# Попуни низ вредностима[7][5] = "а стринг"а[2][9] = 23# Преузми вредностипутс а[7][5]стави а[2][9]

Корак 6

Искористите могућност „ланчања“ позива метода у Руби-у. На пример, метода Арраи.нев враћа низ. Можете да повежете позив другог метода са тим да бисте позвали методу враћеног низа. Пошто повезујете методе, а не користите израз ретурн, не треба вам ни име променљиве: деф мда (ширина, висина) Арраи.нев (видтх).мап!{ Арраи.нев (хеигхт) }енд

Савет

Рубин је веома изражајан. МДА метода може бити кратка и концизна једна линија кода. Додатни редови и кључне речи само чине да код изгледа компликованије него што заиста јесте. Повратна изјава није неопходна у Руби-у. Руби методе и блокови аутоматски враћају резултат последње наредбе извршене у методи или блоку.