Bir kullanıcı girdisini bir değişkende saklamam gerekiyor. Bu benim kodum:`gets` yöntemimi bir değişkende nasıl saklayabilirim?
puts "Hi! I'm HAL, what's your name?"
gets.strip
name = gets.strip
greeting(name)
Bu çalışmıyor.
Bir kullanıcı girdisini bir değişkende saklamam gerekiyor. Bu benim kodum:`gets` yöntemimi bir değişkende nasıl saklayabilirim?
puts "Hi! I'm HAL, what's your name?"
gets.strip
name = gets.strip
greeting(name)
Bu çalışmıyor.
İstediğiniz bu olmayabilir, ancak başlıkta sorulan soruya yanıt verir.
Öyle gibi bir değişkene yöntemi Kernel#gets tutabilir:
m = method(:gets)
#=> #<Method: Object(Kernel)#gets>
Şimdi bunu kullanalım. dize herhangi bir kapama boşluk ve arka satır karakter sıyrılır sonra
def greeting(name)
puts "Me? I'm #{name}"
end
puts "Hi! I'm HAL, what's your name?"
name = m.call.strip # "Dave Bowman" is entered
name
, kullanıcının yanıt tutar.
greeting(name)
Me? I'm Dave Bowman
bu deneyin:
puts "Hi! I'm HAL, what's your name?"
name = gets.strip
greeting(name)
ikinci satırı silin. Girişten okur, ancak sonucu atar. Sorunuzun cevabı 3. satırda bulunabilir. – cremno