Rubyをちょっと勉強しているんだけど覚えたことをなかなかアウトプットしきれていないので
現時点で把握している内容を簡単にまとめてみました。
何か文字列を表示する。
plac.rb
printf "Hello Ruby¥n"
print "Hello Ruby¥n"
puts "Hello Ruby"
p "Hello Ruby"
実行してみるとこんな感じ。
$ ruby plac.rb
Hello Ruby
Hello Ruby
Hello Ruby
"Hello Ruby"
pメソッドに関してはオブジェクトの内容を表示しています。
ループについて
1から10まで表示する。
1.While
plac.rb
i=1
while i<=10
puts i
i += 1
end
2.until
plac.rb
i=1
until i>10
puts i
i += 1
end
3.for文①
plac.rb
for i in 1..10
puts i
end
4.for文②
plac.rb
ar = [1,2,3,4,5,6,7,8,9,10]
for i in ar
puts i
end
1〜4の結果は全て同じ。
これを出力すると
$ ruby plac.rb
1
2
3
4
5
6
7
8
9
10
というかある人からのアドバイスによるとRubyではfor文は使わないらしい...(´・ω・`)
じゃあfor文を使わずにどう回せばいいのさ('A`)
そんなときはeachとかtimesとかuptoとかdowntoを使えばいいよ
はいまずeach文
plac.rb
(1..10).each{|num|
puts num
}
次はtimes
plac.rb
10.times{|num|
puts num+1
}
表示結果は0からnum-1なので+1しています。
upto
plac.rb
1.upto(10){|num|
puts num
}
downtoは逆に10から1ずつ減らして表示する
plac.rb
10.downto(1){|num|
puts num
}
うん...確かにfor文なんかより簡単で読みやすいですはい
そしてもっと簡単に書く方法があり...
表示するだけならオブジェクトとして出力してもいいんでしょ?
plac.rb
p (1..10).to_a
結果
$ ruby prac.rb
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
1行で表示できちゃったよ
す...素晴らしい:(;゙゚'ω゚'):
これがいわゆるショートコーディングと言われるやつですか・x・