Skip to content

Commit 1176dfd

Browse files
authored
Merge pull request #2920 from kyanagi/update_string_split_awk_mode_trailing_spaces
`String#split`に`' '`を指定した場合の説明を修正
2 parents f00e846 + aca9c07 commit 1176dfd

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

refm/api/src/_builtin/String

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2286,9 +2286,9 @@ string #=> "thing"
22862286
: 文字列
22872287
その文字列自体にマッチする部分で分割する。
22882288
: 1 バイトの空白文字 ' '
2289-
先頭と末尾の空白を除いたうえで、空白文字列で分割する
2289+
先頭の連続する空白を除いたうえで、連続する空白で分割する
22902290
: nil
2291-
常に $; で分割する。 $; も nil の場合は、先頭と末尾の空白を除いたうえで、空白文字列で分割する
2291+
常に $; で分割する。 $; も nil の場合は、1 バイトの空白文字を指定したのと同じ動作となる
22922292
: 空文字列 '' あるいは空文字列にマッチする正規表現
22932293
文字列を 1 文字ずつに分割する。マルチバイト文字を認識する。
22942294

@@ -2354,6 +2354,18 @@ p "a,b,c,d,e".split(/,/, 7) # => ["a", "b", "c", "d", "e"]
23542354
p "a,b,c,,,".split(/,/, -1) # => ["a", "b", "c", "", "", ""]
23552355
#@end
23562356

2357+
#@samplecode 1 バイトの空白文字を指定した場合の挙動
2358+
# まず " a b " から先頭の連続する空白を除き "a b " が分割対象となる。
2359+
# これを連続する空白で分割し、["a", "b", ""] となる。
2360+
p " a b ".split(' ', -1) # => ["a", "b", ""]
2361+
2362+
# limit == -1 の場合と比べると、結果の配列末尾に含まれる空文字列が取り除かれている。
2363+
p " a b ".split(' ', 0) # => ["a", "b"]
2364+
2365+
# limit == 1 の場合は元の文字列がそのまま含まれる。
2366+
p " a b ".split(' ', 1) # => [" a b "]
2367+
#@end
2368+
23572369
@see [[m:String#partition]], [[m:String#rpartition]]
23582370

23592371
--- squeeze(*chars) -> String

0 commit comments

Comments
 (0)