Dizi Kısayolları
Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 64 / 88.
Ruby, özellikle dizelerle veya ardışık sayılarla çalışırken diziler oluşturmak için kullanışlı kısayollar sağlar. Bu kısayollar zaman kazandırır ve kodunuzu daha temiz hale getirir.
%w sözdizimi, tırnak işaretlerine veya virgüllere ihtiyaç duymadan bir dize dizisi oluşturur:
fruits = %w[apple banana cherry]
puts fruits # Çıktı: apple, banana, cherryBu, ["apple", "banana", "cherry"] yazmakla eşdeğerdir ancak çok daha kısa ve özdür. Boşlukla ayrılan her kelime ayrı bir öğe haline gelir.
Sembol dizileri için %i kullanın:
statuses = %i[pending active completed]
puts statuses # Çıktılar: pending, active, completedArdışık sayılardan oluşan diziler oluşturmak için, to_a kullanarak bir aralığı diziye dönüştürebilirsiniz:
numbers = (1..5).to_a
puts numbers # Çıktı: 1, 2, 3, 4, 5Splat operatörünü * dizi parantezleri içinde de kullanabilirsiniz:
countdown = [*5..10]
puts countdown # Çıktı: 5, 6, 7, 8, 9, 10Bu kısayollar, tırnak işaretleri ve virgüllerin görsel kalabalığı olmadan bilinen değerlerden oluşan bir listeyi hızlıca tanımlamanız gerektiğinde özellikle yararlıdır.
Görev
Kolayİki girdi okuyun:
- Boşlukla ayrılmış kelimelerden oluşan tek bir satır (örneğin,
red green blue yellow) - Bir aralığı temsil eden, virgülle ayrılmış iki tam sayı (örneğin,
3,7)
Aşağıdaki görevleri yerine getirin:
%wkısayol sözdizimini kullanarak ilk girdiden bir dize dizisi oluşturun. Girdi zaten bir dize olduğundan, önce onu bir diziye dönüştürmek içinsplitkullanmanız gerekecek, ardındanalpha,beta,gammakelimeleriyle ayrı bir dizi oluşturarak%wkullanımını gösterin.start,middle,enddeğerlerini içeren%ikullanarak bir sembol dizisi oluşturun.- Dizi köşeli parantezleri içinde splat operatörünü
*kullanarak, ikinci girdide sağlanan aralıktan ardışık sayılardan oluşan bir dizi oluşturun.
Aşağıdakileri ayrı satırlara yazdırın:
- Girdi kelimeleri dizisinin her bir öğesi
- Boş bir satır
%wdizisinin her bir öğesi (alpha, beta, gamma)- Boş bir satır
%isembol dizisinin her bir öğesi- Boş bir satır
- Sayı aralığı dizisinin her bir öğesi
Örneğin, girdiler red green blue ve 1,5 ise, çıktı şöyle olmalıdır:
red
green
blue
alpha
beta
gamma
start
middle
end
1
2
3
4
5Girdiler sun moon star ve 10,13 ise, çıktı şöyle olmalıdır:
sun
moon
star
alpha
beta
gamma
start
middle
end
10
11
12
13Kopya kağıdı
Ruby, kodun daha temiz ve özlü olmasını sağlayan dizi oluşturma kısayolları sunar.
%w sözdizimi, tırnak veya virgül kullanmadan bir dize dizisi oluşturur:
fruits = %w[apple banana cherry]
# ["apple", "banana", "cherry"] ifadesine eşdeğerdir%i sözdizimi, bir sembol dizisi oluşturur:
statuses = %i[pending active completed]
# [:pending, :active, :completed] ifadesine eşdeğerdirto_a kullanarak bir aralığı diziye dönüştürün:
numbers = (1..5).to_a
# [1, 2, 3, 4, 5] oluştururAralıklardan diziler oluşturmak için dizi köşeli parantezleri içinde splat operatörünü * kullanın:
countdown = [*5..10]
# [5, 6, 7, 8, 9, 10] oluştururKendin dene
# Boşlukla ayrılmış kelimeleri oku
words_input = gets.chomp
# Aralığı oku (virgülle ayrılmış iki tam sayı)
range_input = gets.chomp
# TODO: Kodunuzu aşağıya yazın
# 1. split kullanarak words_input'tan bir dizi oluşturun
# 2. alpha, beta, gamma ile bir %w dizisi oluşturun
# 3. start, middle, end ile bir %i dizisi oluşturun
# 4. Aralığı ayrıştırın ve splat operatörünü (*) kullanarak bir dizi oluşturun
# Her dizinin öğelerini, diziler arasında boş satırlar olacak şekilde ayrı satırlara yazdırınBu 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 Girdi3Operatö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