というわけで、Rubyを使ってプログラミング練習問題をこなしていきたいと思う。練習問題は、検索してたら出てきたこれを使う。不慣れなRubyなので色々と調べて試行錯誤しながらやっていこう。
プログラミング練習問題1「ループ練習」
Hello World![改行]を5回表示させてください。
print(或いはprintf,cout等)を5回コピーすれば当然可能ですが、
ループ構文(for,while等)を利用して、print等は1回の使用にとどめてみてください。可能ならコマンドラインから入力を受け取って、n回表示するように改造してください。
何回目のHello World!かも表示してみてください。
回答1
#!/usr/bin/ruby
5.times do
puts "Hello World!\n"
end
#!/usr/bin/ruby
for i in 1..5
puts "Hello World!\n"
end
実行結果
$./1.rb
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
for文とかは、あまり使わないだろうけど。一応イテレータで。
回答2
#!/usr/bin/ruby
max = ARGV[0]
1.upto(max.to_i) do |i|
puts "Hello World! " + i.to_s + "\n"
end
#!/usr/bin/ruby
max = ARGV[0]
i=1
while i<=max.to_i
puts "Hello World! " + i.to_s + "\n"
i = i + 1
end
実行結果
$./1.rb 10
Hello World! 1
Hello World! 2
Hello World! 3
Hello World! 4
Hello World! 5
Hello World! 6
Hello World! 7
Hello World! 8
Hello World! 9
Hello World! 10
コマンドラインからの引数は、「ARGV」に格納される。受け取ると、文字列になってしまうので「to_i」を使って数値に。
とりあえず最初はこんなものかな。