Ruby

Rubyの練習 FizzBuzz編

FizzBuzz問題って面白そうだったので挑戦

その1 無難に動くものを
---------------------------
a=0
100.times {
a = a + 1
str = a
if a.modulo(3)==0
str ="Fizz"
end
if a.modulo(5)==0
str = "Buzz"
end
if a.modulo(15)==0
str = "FizzBuzz"
end
print str,"\n"
}
---------------------------
これじゃ芸がない。あとループ内でのifは性能を落とすので避けたいところ
割3、割5で判定してるんだから割15の判定はその結果を利用したい

その2 
---------------------------
a=0
100.times {
a = a + 1
str = a
if a.modulo(3)==0
print "Fizz"
str =""
end
if a.modulo(5)==0
print "Buzz"
str =""
end
print str,"\n"
}
---------------------------
ちょっと反則かな、、、

piment氏ならどう書く?
(添削お願いします。)

| | コメント (0) | トラックバック (1)

rubyの練習 配列編

今日は配列を使ってみた。
values.lengthで配列の長さが取れるのね。
ループ、配列のインデックスは0から。
オブジェクト指向って便利だわ。
いろんなメソッドあるから。
JavaDoc見たいなのがないのかねぇ。
--------------------------------------
cnt = 0
cnt2 = 0
values = [150, 174, 180,1,4,5,10]
tmp =[]

cnt =values.length

cnt.times do |index|
puts "vale[#{index}]" + "=#{values[index]}"
end

tmp = values.sort

cnt2 =tmp.length

cnt2.times do |index|
puts "tmp[#{index}]" + "=#{tmp[index]}"
end

| | コメント (1) | トラックバック (0)

ちょっと感動

Rubyを勉強中ですが今日の感動
その1 数値に対して繰り返すというメソッドがあるのに感動。
-----------------
10.times do
# 繰り返したい処理
puts 'hello'
end
-----------------

その2 文字列でreverseってすごいね
-----------------
10.times do
# 繰り返したい処理
puts 'hello'.reverse
end
----------------

んー、なんだか楽しそうだわ。

| | コメント (0) | トラックバック (0)