🖥
Ruby | String#next は存在するけど String#prev は存在しない?
next
Aの次はB。
'A'.next
Zの次は AA。
'Z'.next
# => "AA"
prev
だが Bの前は A じゃない。
'B'.prev
# => NoMethodError: undefined method `prev' for "B":String
理由
- StackOverflow には「構造的に出来ない」ふうな図が乗っていた、がちゃんと調べたわけではないので定かではない。
String#ord
を取って引き算するやり方も載っていたが、1バイトの文字の場合にしか対応していない。
('B'.ord-1).chr # => 'A' ('$'.ord-1).chr # => '#'
環境
- ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
参考
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2016-07-06
Discussion