はじめに
移植やってます。
( from python 3.7 to ruby 2.7 )
partition, rpartition (Python)
s = 'a,b,c'
print(s.partition(','))
print(s.rpartition(','))
print(s.partition('/'))
print(s.rpartition('/'))
print(s.partition(''))
print(s.rpartition(''))
('a', ',', 'b,c')
('a,b', ',', 'c')
('a,b,c', '', '')
('', '', 'a,b,c')
ValueError: empty separator
文字列を区切りますが、空文字の場合エラーとなります。
partition, rpartition (Ruby)
s = 'a,b,c'
p s.partition(',')
p s.rpartition(',')
p s.partition('/')
p s.rpartition('/')
p s.partition('')
p s.rpartition('')
["a", ",", "b,c"]
["a,b", ",", "c"]
["a,b,c", "", ""]
["", "", "a,b,c"]
["", "", "a,b,c"]
["a,b,c", "", ""]
ruby でも同様のメソッドがありますが、空文字の場合の動作が異なります。
メモ
- Python の partition, rpartition を学習した
- 百里を行く者は九十里を半ばとす