LoginSignup
2
2

More than 5 years have passed since last update.

Rubyでできるあんなことこんなこと

Last updated at Posted at 2015-11-12

[範囲オブジェクト編]

頭のいい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
...

時刻も文字列として扱ってしまうみたいですね〜

ほかにも、こんなことしたらこうだった!とか
ありましたらコメントしていただきたいです。

2
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2