Yanıtlar:
Hakkında getsmı konuşuyorsun
puts "Enter A"
a = gets.chomp
puts "Enter B"
b = gets.chomp
c = a.to_i + b.to_i
puts c
Bunun gibi bir şey?
Kernel.getsiçinde bulunan parametreleri okumaya çalışır ARGVve sadece ARGVbulunamazsa konsola sorar . ARGVBoş olmasa bile konsoldan okumaya zorlamak içinSTDIN.gets
Kernel.getsiçinde bulunan dosyaları okumaya çalışın ARGVve yalnızca ARGVbulunamazsa konsola sorar . ARGVBoş kullanım olmasa bile konsoldan okumaya zorlamak STDIN.gets.
a.to_ive b.to_idaha iyi olabilirdi
getsengelleme? Değilse, engelleyen herhangi bir yedek var mı?
parametreleri komut satırından da geçirebilirsiniz. Komut satırı argümanları ARGV dizisinde depolanır. yani ARGV [0] ilk sayı ve ARGV [1] ikinci sayıdır
#!/usr/bin/ruby
first_number = ARGV[0].to_i
second_number = ARGV[1].to_i
puts first_number + second_number
ve buna böyle diyorsun
% ./plus.rb 5 6
==> 11
Kullanıcılardan girdi almanın birçok yolu vardır. Ben şahsen bu yöntemi kullanmayı seviyorum. Gets kullandığınızda, yazdığınız dizeyi alır ve bu, girişinizi sonlandırmak için bastığınız ENTER tuşunu içerir .
name = gets
"mukesh\n"
Bunu irb'de görebilirsiniz ; bunu yazın ve ENTER tuşunun ürettiği "satırsonu" karakteri olan \ n'yi göreceksiniz: Yazma
name = getsgibi şeyler göreceksiniz Chomp yöntemini kullanarak"mukesh\n"sinir bozucu satırsonu karakterinden kurtulabilirsiniz .
Chomp yöntemi, satırsonu sonlandırmadan dizeyi geri verir. Güzel chomp yöntemi hayat kurtarıcı.
name = gets.chomp
"mukesh"
Girişi okumak için terminali de kullanabilirsiniz. ARGV , Object sınıfında tanımlanan bir sabittir . Array sınıfının bir örneğidir ve tüm dizi yöntemlerine erişime sahiptir. Bir dizi olduğu için, sabit olmasına rağmen, elemanları sorunsuz bir şekilde değiştirilebilir ve temizlenebilir. Varsayılan olarak Ruby, komut satırı ikilisi çağrıldığında bir Ruby programına aktarılan (boşluklarla bölünmüş) tüm komut satırı argümanlarını yakalar ve bunları ARGV dizisinde dizeler olarak saklar .
Ruby programınızın içine yazıldığında, ARGV şuna benzeyen bir komut satırı komutu alacaktır:
test.rb hi my name is mukesh
ve şuna benzeyen bir dizi oluşturun:
["hi", "my", "name", "is", "mukesh"]
Ancak, sınırlı girdiyi geçmek istersem, bunun gibi bir şey kullanabiliriz.
test.rb 12 23
ve bu girdileri programınızda şu şekilde kullanın:
a = ARGV[0]
b = ARGV[1]
Etkileşimli konsol yapmak istiyorsanız:
#!/usr/bin/env ruby
require "readline"
addends = []
while addend_string = Readline.readline("> ", true)
addends << addend_string.to_i
puts "#{addends.join(' + ')} = #{addends.sum}"
end
Kullanım (yukarıdaki pasajı summatorgeçerli dizindeki dosyaya koyduğunuzu varsayarak ):
chmod +x summator
./summator
> 1
1 = 1
> 2
1 + 2 = 3
Ctrl + DÇıkmak için kullanın