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şlukla ayrılmış kelimelerden oluşan tek bir satır (örneğin, red green blue yellow)
  2. Bir aralığı temsil eden, virgülle ayrılmış iki tam sayı (örneğin, 3,7)

Aşağıdaki görevleri yerine getirin:

  1. %w kı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çin split kullanmanız gerekecek, ardından alpha, beta, gamma kelimeleriyle ayrı bir dizi oluşturarak %w kullanımını gösterin.
  2. start, middle, end değerlerini içeren %i kullanarak bir sembol dizisi oluşturun.
  3. 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:

  1. Girdi kelimeleri 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 sembol 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

Kopya 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ğerdir

to_a kullanarak bir aralığı diziye dönüştürün:

numbers = (1..5).to_a
# [1, 2, 3, 4, 5] oluşturur

Aralı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şturur

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