Giriş
Bu yazıda Ruby ile kullanıcı girdilerinin en basit yöntemlerle nasıl alınabildiğini göreceğiz.
Komut Satırı Argümanı Varlığı Kontrol
Kullanıcılardan girdi almanın ilk yöntemi doğrudan yazılım çalıştırılırken girişte argümanlar ile girdi almaktadır. Bunun için aşağıdaki örneği inceleyelim:
# Kütüphaneleri yükle
require 'rubygems'
# Boş argüman kontorlü yap
if ARGV.empty?
puts "Hata: Argüman yok!"
exit
end
# Argüman adedi de kontrol et
if ARGV.length < 2
abort "Hata: 2 veya daha fazla adet argüman girilmedi!"
end
Ruby’de yazılım argümanları ARGV değişkeni ile yazılımcıya sunulmaktadır. “.empty?” sorgusu ile bu değişkenin boş olup olmadığına bakılabilir, boşsa bir argüman bulunmuyor demektedir. ARGV dolu olduğunda ise genel olarak yeterli adette kullanıcı girdisinin olup olmadığını sorgulamak gerekmektedir. Bunun için ARGV dizisinin boyutu “.length” ile kontrol edilebilmektedir.
Komut Satırı Argümanları Almak
Yazılım çalıştırılırken girilen argümanlar farklı yöntemlerle değişkenlere atanabilmektedir. Bir örnek aşağıdaki gibidir:
# Kütüphaneleri yükle require 'rubygems' # Argümanları değişkenlere ata parametre1 = ARGV[0] parametre2 = ARGV[1] # Değişkenleri ekrana yazdır puts parametre1 puts parametre2
Başka bir yöntem de aşağıdaki gibidir:
# Kütüphaneleri yükle
require 'rubygems'
# Argümanları değişkenlere ata
test1, test2 = ARGV
# Argümanların bulunduğu değişkenleri yazdır
puts "İlk argüman: #{test1}"
puts "İkinci argüman: #{test2}"
Komut Satırından Girdi Almak
Bir Ruby yazılımı çalışırken de kullanıcı girdileri alınabilmektedir. Bunun için:
# Kütüphaneleri yükle require 'rubygems' # İlk değeri sorgula ve al puts "Bir veri giriniz:" deger1 = $stdin.gets # İkinci değeri sorgula ve al puts "Başka bir veri giriniz" deger2 = $stdin.gets # Değerleri ekrana yazdır puts deger1 puts deger2
Girilen değerleri sayı olarak ele almak için:
# Kütüphaneleri yükle require 'rubygems' # İlk değeri sorgula ve al puts "Bir veri giriniz:" deger1 = $stdin.gets.to_i # İkinci değeri sorgula ve al puts "Başka bir veri giriniz" deger2 = $stdin.gets.to_i # Değerleri ekrana yazdır puts deger1+deger2
Sonuç
En basit haliyle Ruby‘den girdi almanın birkaç yolunu gördük. Umarım işinize yarar, iyi kodlamalar!