Skip to content

String#insertの説明を修正#2925

Open
makicamel wants to merge 1 commit intorurema:masterfrom
makicamel:string-insert
Open

String#insertの説明を修正#2925
makicamel wants to merge 1 commit intorurema:masterfrom
makicamel:string-insert

Conversation

@makicamel
Copy link

第一引数posが負の値の場合String#insertとString#[]=は異なる操作を行うため、正の場合と負の場合に分けた説明にしました。

# posが正の場合String#insertとString#[]=は同じ操作を行う
str = 'foo'; str.insert(1, 'bar')
# => "fbaroo"
str = 'foo'; str[1, 0] = 'bar'; str
# => "fbaroo"

# posが負の場合String#insertとString#[]=は異なる操作を行う
str = 'foo'; str.insert(-1, 'bar')
# => "foobar"
str = 'foo'; str[-1, 0] = 'bar'; str
# => "fobaro"

第一引数posが負の値の場合String#insertとString#[]=は異なる操作を行う

```
# posが正の場合String#insertとString#[]=は同じ操作を行う
str = 'foo'; str.insert(1, 'bar')
# => "fbaroo"
str = 'foo'; str[1, 0] = 'bar'; str
# => "fbaroo"

# posが負の場合String#insertとString#[]=は異なる操作を行う
str = 'foo'; str.insert(-1, 'bar')
# => "foobar"
str = 'foo'; str[-1, 0] = 'bar'; str
# => "fobaro"
```
'foo'.insert(-2, 'bar') # => "fobaro"
#@end

@see [[m:String#[]=]]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

用途によって使いわけられるので、see は消さなくても良いと思います。

Comment on lines +1817 to 1826
文字列 other を self に挿入して self を返します。
pos が正の場合、other を開始インデックスに挿入します。

#@samplecode 例
'foo'.insert(1, 'bar') # => "fbaroo"
#@end

pos が負の場合、self の末尾から逆方向に数えて pos+1 (self[index] の後) に other を挿入します。
pos 番目の文字の直前に文字列 other を挿入します。
self[pos, 0] = other と同じ操作です。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

最初の段落はメソッドの要約になるので、pos が正の場合と負の場合の説明は長くなるので入れない方がいいかなと思いました。

Suggested change
文字列 other を self に挿入して self を返します。
pos が正の場合、other を開始インデックスに挿入します。
#@samplecode 例
'foo'.insert(1, 'bar') # => "fbaroo"
#@end
pos が負の場合、self の末尾から逆方向に数えて pos+1 (self[index] の後) に other を挿入します。
pos 番目の文字の直前に文字列 other を挿入します。
self[pos, 0] = other と同じ操作です
文字列 other を self に挿入して self を返します。
pos が正の場合、pos 番目の文字の直前に文字列 other を挿入します。
self[pos, 0] = other と同じ操作です。
#@samplecode 例
'foo'.insert(1, 'bar') # => "fbaroo"
#@end
pos が負の場合、self の末尾から逆方向に数えて pos+1 (self[index] の後) に other を挿入します

str = "foobaz"
str.insert(3, "bar")
p str # => "foobarbaz"
'foo'.insert(-2, 'bar') # => "fobaro"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

例は pull request の説明に書いてくれたものを全部書いておいてくれると良さそうです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants