Dizileri Değiştirme
Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 60 / 88.
Dizi elemanlarına nasıl erişeceğinizi bildiğinize göre, şimdi onları nasıl değiştireceğinizi öğrenelim. Herhangi bir elemanı, indeksine yeni bir değer atayarak değiştirebilirsiniz:
fruits = ["apple", "banana", "cherry"]
fruits[1] = "mango"
puts fruits # Çıktı: apple, mango, cherryBir diziye eleman eklemek için push metodunu veya shovel operatörünü (<<) kullanın. İkisi de elemanları sona ekler:
colors = ["red", "blue"]
colors.push("green")
colors << "yellow"
puts colors # Çıktı: red, blue, green, yellowElemanları kaldırmak için Ruby birkaç seçenek sunar. pop metodu son elemanı kaldırır ve döndürür, shift ise ilk elemanı kaldırır:
numbers = [1, 2, 3, 4]
numbers.pop # 4'ü kaldırır
numbers.shift # 1'i kaldırır
puts numbers # Çıktı: 2, 3Ayrıca delete kullanarak belirli bir değeri kaldırabilirsiniz:
letters = ["a", "b", "c", "b"]
letters.delete("b")
puts letters # Çıktı: a, cdelete öğesinin, belirtilen değerin tüm örneklerini diziden kaldırdığına dikkat edin.
Görev
KolayAşağıdaki dizi size verilmiştir:
tasks = ["email", "meeting", "lunch", "report", "call"]Üç girdi okuyun:
- Bir indeks (tamsayı) - değiştirilecek konum
- Yeni bir değer (metin) - o konum için yeni değer
- Silinecek bir değer (metin) - diziden çıkarılacak öğe
Aşağıdaki işlemleri sırasıyla gerçekleştirin:
- Verilen indeksteki öğeyi yeni değer ile değiştirin
pushkullanarak dizinin sonuna"<code>review" ekleyin- Shovel operatörünü (
<<) kullanarak dizinin sonuna"planning"ekleyin popkullanarak son öğeyi çıkarınshiftkullanarak ilk öğeyi çıkarındeletekullanarak belirtilen değerin tüm geçen hallerini silin
puts kullanarak son diziyi yazdırın.
Örneğin, girdiler 2, break ve call ise, çıktı şu şekilde olmalıdır:
meeting
break
report
reviewGirdiler 0, standup ve report ise, çıktı şu şekilde olmalıdır:
meeting
lunch
call
reviewGirdiler 4, demo ve lunch ise, çıktı şu şekilde 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: Kodunuzu aşağıya yazın
# 1. Verilen indeksteki öğeyi yeni değerle değiştir
# 2. Talimatlardaki tam metni push kullanarak sona ekle
# 3. "planning" öğesini shovel operatörü << kullanarak sona ekle
# 4. pop kullanarak son öğeyi kaldır
# 5. shift kullanarak ilk öğeyi kaldır
# 6. delete kullanarak belirtilen değerin tüm oluşumlarını 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.
Temeller 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 Collect