[範囲オブジェクト編]
頭のいいRubyならこうしてくれるんじゃ?
勉強を兼ねて、どうなるかやってみました。
irbで試してみてください!
[version: 2.1.5]
-
範囲指定のおさらい
1..5 => 1 2 3 4 5
1...5 => 1 2 3 4
...とすると最後は含まないです。 -
やってみよう
たとえば
(1..5).each do |i|
puts i
end
結果は
1
2
3
4
5
=> 1..5
1から5までをカウントしてくれます。
では他の場合は?
(1..5)
の部分をいろいろ変えてみよう!
- 文字列の場合
("a".."e")
=> a b c d e となってほしいけど..?
("a".."e").each do |i|
puts i
end
結果は
a
b
c
d
e
=> "a".."e"
ちゃんとなりました(´∀`*)
- ほかのものでもためしてみよう
その他いろいろ試してみました。
("z".."a")
=>z x y ..ってなるかなぁ
=> "z".."a"
逆はだめか..
"a".."Z"
=> "a".."Z"
小文字→大文字もなにも返ってこない。
"Z".."a"
Z
[
\
]
^
_
`
a
=> "Z".."a"
お?
返ってきた..けどASCIIコードになっているみたい
"first".."third"
これはどうでしょう
first
firsu
firsv
firsw
firsx
firsy
firsz
firta
firtb
firtc
firtd
firte
firtf
firtg
firth
.....
あわわわわ
文字列として扱ってしまいますね
では時刻はどうでしょうか
"10:30".."11:30"
10:30
10:31
10:32
10:33
10:34
...(省略)...
10:59
10:60
10:61
10:62
10:63
...(省略)...
10:97
10:98
10:99
11:00
11:01
...
時刻も文字列として扱ってしまうみたいですね〜
ほかにも、こんなことしたらこうだった!とか
ありましたらコメントしていただきたいです。