როგორ შევქმნათ მრავალგანზომილებიანი მასივი რუბიში

როგორ შევქმნათ მრავალგანზომილებიანი მასივი რუბიში. მიუხედავად იმისა, რომ Ruby არ იძლევა მკაფიო მხარდაჭერას მრავალგანზომილებიანი მასივების მიმართ, თქვენ შეგიძლიათ თავად განახორციელოთ ის, თუ თქვენ გაქვთ ენის საბაზისო ცოდნა. თქვენ არსებითად უნდა შექმნათ "მასივების მასივი", რომელშიც მასივის თითოეული ელემენტი ინახავს მეორე მასივს. Ruby-ში ასეთი მრავალგანზომილებიანი მასივის შესაქმნელად, შეგიძლიათ დაწეროთ მეთოდი, რომელიც გამოიყენება მასივების მასივების გენერირებისთვის, რათა კოდი არ განმეორდეს.

შექმენით მრავალგანზომილებიანი მასივი რუბიში

Ნაბიჯი 1

დაწერეთ მეთოდის ჩონჩხი. ეს მეთოდი მიიღებს განზომილების რამდენიმე არგუმენტს და დააბრუნებს ამ განზომილებების ცარიელ მრავალგანზომილებიან მასივს. მაგალითად, 10x10 მასივისთვის, დავარქვათ ამ მეთოდს mda (10,10):def mda (სიგანე, სიმაღლე) დასასრული

დღის ვიდეო

ნაბიჯი 2

შექმენით სიგანის ელემენტების მასივი.

ნაბიჯი 3

შექმენით სიმაღლის ელემენტების მასივი მასივის ყველა ელემენტისთვის. ეს ქმნის "მასივების მასივს", რომელიც გამოყენებული იქნება როგორც ორგანზომილებიანი მასივი. კონკრეტული სიგრძის ცარიელი მასივების შესაქმნელად გამოიყენეთ Array.new კონსტრუქტორი სიგრძით არგუმენტად. თავდაპირველად, მასივის ყველა მნიშვნელობა იქნება ნული.

ნაბიჯი 4

გამოიყენეთ რუკა! მეთოდიც. Რუკა! მეთოდი იმეორებს მასივის ყველა ელემენტს, აწარმოებს ბლოკს თითოეულისთვის და ანიჭებს ბლოკის შედეგს მასივის ელემენტს. იგივე შედეგის მიღწევა შესაძლებელია for loop-ის გამოყენებით, მაგრამ რუკა! მეთოდი უფრო ლაკონურია: def mda (სიგანე, სიმაღლე) a = Array.new (სიგანე) a.map! { Array.new (სიმაღლე) }return aend

ნაბიჯი 5

გამოიყენეთ ეს მასივი Subscript (კვადრატული ფრჩხილები []) ოპერატორით. მაგალითად, თუ გქონდეთ 10x10 მასივი სახელად "a" და გინდოდეთ 7,3 ელემენტი, თქვენ იტყოდით a[7][3]: a = mda (10,10)# შეავსეთ მასივი მნიშვნელობებით[7][5] = "სტრიქონი"a[2][9] = 23# მნიშვნელობების მიღება გამოაქვს a[7][5]აყენებს a[2][9]

ნაბიჯი 6

ისარგებლეთ Ruby-ში მეთოდით ზარების „ჯაჭვის“ შესაძლებლობით. მაგალითად, Array.new მეთოდი აბრუნებს მასივს. თქვენ შეგიძლიათ დააკავშიროთ სხვა მეთოდის ზარი, რომ გამოიძახოთ მეთოდი დაბრუნებულ მასივზე. ვინაიდან თქვენ აკავშირებთ მეთოდებს და არ იყენებთ დაბრუნების განცხადებას, არ გჭირდებათ ცვლადის სახელი: def mda (სიგანე, სიმაღლე) Array.new (სიგანე).map!{ Array.new (სიმაღლე) }ბოლო.

რჩევა

რუბი ძალიან გამოხატულია. MDA მეთოდი შეიძლება იყოს მოკლე და ლაკონური კოდის ერთი ხაზი. დამატებითი ხაზები და საკვანძო სიტყვები მხოლოდ კოდს უფრო რთულს ხდის, ვიდრე სინამდვილეშია. დაბრუნების განცხადება არ არის აუცილებელი Ruby-ში. Ruby მეთოდები და ბლოკები ავტომატურად აბრუნებენ მეთოდში ან ბლოკში შესრულებული ბოლო განცხადების შედეგს.

კატეგორიები

Ბოლო

LG LCD ტელევიზორის პრობლემების მოგვარება

LG LCD ტელევიზორის პრობლემების მოგვარება

LCD ტელევიზორები დღეს ყველაზე გაყიდვადი ტიპის ბ...

როგორ დააინსტალიროთ Samsung 2.1-არხიანი ხმის ზოლი სახლის კინოთეატრები

როგორ დააინსტალიროთ Samsung 2.1-არხიანი ხმის ზოლი სახლის კინოთეატრები

სახლის კინოთეატრის აუდიო სისტემები ხშირად იყენ...

როგორ გავიგოთ მოკვდა თუ არა თქვენი ტელევიზორი

როგორ გავიგოთ მოკვდა თუ არა თქვენი ტელევიზორი

რამდენიმე პრობლემამ შეიძლება ხელი შეუშალოს ტელე...