Menu
Coddy logo textTech

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, cherry

Bu, ["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, completed

Ardışı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, 5

Splat operatörünü * dizi parantezleri içinde de kullanabilirsiniz:

countdown = [*5..10]
puts countdown  # Çıktı: 5, 6, 7, 8, 9, 10

Bu 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.

challenge icon

Görev

Kolay

İki girdi okuyun:

  1. Boşluklarla ayrılmış sözcüklerden oluşan tek bir satır (ör. red green blue yellow)
  2. Bir aralığı temsil eden, virgülle ayrılmış iki tam sayı (ör. 3,7)

Aşağıdaki görevleri gerçekleştirin:

  1. İlk girdiden, %w kısaltma söz dizimini kullanarak bir dize dizisi oluşturun. Girdi zaten bir dize olduğundan, önce bir diziye dönüştürmek için split kullanmanız, ardından %w, alpha, beta sözcükleriyle ayrı bir dizi oluşturarak gamma kullanımını göstermeniz gerekir.
  2. %i, start, middle değerleriyle end kullanarak bir sembol dizisi oluşturun.
  3. İkinci girdide verilen aralıktan, dizi köşeli parantezlerinin içinde splat operatörü * kullanarak ardışık sayılardan oluşan bir dizi oluşturun.

Aşağıdakileri ayrı satırlarda yazdırın:

  1. Girdi sözcükleri dizisinin her bir öğesi
  2. Boş bir satır
  3. %w dizisinin her bir öğesi (alpha, beta, gamma)
  4. Boş bir satır
  5. %i semboller dizisinin her bir öğesi
  6. Boş bir satır
  7. 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
5

Girdiler sun moon star ve 10,13 ise çıktı şöyle olmalıdır:

sun
moon
star

alpha
beta
gamma

start
middle
end

10
11
12
13

Kendin 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ın
quiz iconKendini test et

Bu 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

Kendi başına pratik yap: Online Ruby derleyicisi