Dizileri Değiştirme
Coddy'nin Ruby Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 60 / 88.
Artık dizi öğelerine nasıl erişeceğini bildiğine göre, şimdi onları nasıl değiştireceğini öğrenelim. Herhangi bir öğeyi, indeksine yeni bir değer atayarak değiştirebilirsin:
fruits = ["apple", "banana", "cherry"]
fruits[1] = "mango"
puts fruits # apple, mango ve cherry değerlerini her biri ayrı bir satırda olacak şekilde ekrana yazdırırBir diziye eleman eklemek için push yöntemini veya kürek operatörü << kullanın. İkisi de elemanları dizinin sonuna ekler:
colors = ["red", "blue"]
colors.push("green")
colors << "yellow"
puts colors # red, blue, green ve yellow değerlerini her biri ayrı bir satırda olacak şekilde çıktılarÖğeleri kaldırmak için Ruby çeşitli seçenekler sunar. pop yöntemi son öğeyi kaldırıp döndürürken shift ilk öğeyi kaldırır:
numbers = [1, 2, 3, 4]
numbers.pop # 4'ü kaldırır
numbers.shift # 1'i kaldırır
puts numbers # 2 ve 3'ü, her birini ayrı bir satırda yazdırırAyrıca delete kullanarak belirli bir değeri kaldırabilirsin:
letters = ["a", "b", "c", "b"]
letters.delete("b")
puts letters # a ve c değerlerini, her birini ayrı bir satırda yazdırırdelete komutunun belirtilen değerin tüm örneklerini diziden kaldırdığını unutma.
Görev
KolayAşağıdaki dizi verilmiştir:
tasks = ["email", "meeting", "lunch", "report", "call"]Üç girdi okuyun:
- Bir indeks (tam sayı) - değiştirilecek konum
- Yeni bir değer (dize) - o konum için yedek değer
- Silinecek bir değer (dize) - diziden kaldırılacak bir öğe
Aşağıdaki işlemleri sırasıyla gerçekleştirin:
- Verilen indeksteki öğeyi yeni değerle değiştirin
pushkullanarak dizinin sonuna"review"ekleyin- Kürek operatörü
<<kullanarak dizinin sonuna"planning"ekleyin popkullanarak son öğeyi kaldırınshiftkullanarak ilk öğeyi kaldırındeletekullanarak belirtilen değerin tüm örneklerini silin
puts kullanarak son diziyi yazdırın.
Örneğin, girdiler 2, break ve call ise çıktı şöyle olmalıdır:
meeting
break
report
reviewGirdiler 0, standup ve report ise çıktı şöyle olmalıdır:
meeting
lunch
call
reviewGirdiler 4, demo ve lunch ise çıktı şöyle olmalıdır:
meeting
report
demo
reviewKendin dene
# Başlangıç dizisi
tasks = ["email", "meeting", "lunch", "report", "call"]
# Girdileri oku
index = gets.chomp.to_i
new_value = gets.chomp
value_to_delete = gets.chomp
# TODO: Kodunu aşağıya yaz
# 1. Verilen index konumundaki elemanı yeni değerle değiştir
# 2. Talimatlardaki metni aynen sona eklemek için push kullan
# 3. "planning" değerini sona eklemek için << shovel operatörünü kullan
# 4. Son elemanı pop kullanarak kaldır
# 5. İlk elemanı shift kullanarak kaldır
# 6. Belirtilen değerin tüm örneklerini delete kullanarak sil
# Son diziyi yazdır
puts tasksBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temel Bilgiler bölümündeki tüm dersler
4Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Mantıksal Operatörler Bölüm 47Hesap Paylaşımı Hesaplayıcısı
Hoş Geldiniz MesajıKullanıcı Girdisi Alma13İleri Seviye Diziler
Aralıklar ile Dizi Dilimlemeİndeksler ile Dizi DilimlemeDizi OperatörleriInclude? Metodu2Değişkenler ve Veri Tipleri
Sayılar ve DeğişkenlerString Veri TipiBoolean Veri TipiSymbol Veri TipiVeri Tiplerini Kontrol Etmeİsimlendirme KurallarıÖzet - Değişken Oluşturma8Döngüler
Aralıklar ile For DöngüsüWhile DöngüsüBreakNextÖzet - FaktöriyelTimes DöngüsüUntil Döngüsüİç İçe DöngülerÖzet - Dinamik Girdi11Diziler
Dizi OluşturmaDizi Elemanlarına ErişmeDizileri DeğiştirmeDizi MetotlarıÖzet - Ürün DizisiÖzet - Ters Çevrilmiş DiziDizi Kısayolları3Operatörler Bölüm 1
Aritmetik OperatörlerModulo OperatörüAritmetik KısayollarÖzet - Basit MatematikKarşılaştırma Operatörleri6Temel IO
puts ile Çıktı Almaprint ve p ile Çıktı AlmaDeğişkenlerle Çıktı Almagets ile Girdi AlmaChomp MetoduTip DönüşümüÖzet - Yaş HesaplayıcıÖzet - Doğru mu Yanlış mı9Metotlar
Metot TanımlamaMetot ParametreleriDönüş DeğerleriÖzet - Sigma MetoduÖzet - Doğrulama MetoduVarsayılan Parametre Değerleri12Koleksiyonlar Üzerinde Yineleme
Each Yineleyicisiİndeks ile EachStringler Üzerinde YinelemeMap ve CollectKendi başına pratik yap: Online Ruby derleyicisi