PukiWiki


文字列の特性 の変更点


*文字列の特性 [#p17ea425]
**python [#l16771b5]
文字列は変更できない。
 >>> word[0] = 'x'
 Traceback (most recent call last):
   File "<stdin>", line 1, in ?
 TypeError: object doesn't support item assignment

その場合は新しい文字列を作る。
 >>> 'x' + word[1:]
 'xelpA'

***スライス演算 [#fffb810f]
配列の添字に:を使う。
 >>> word[:2] + word[2:]
 'HelpA'
 >>> word[:3] + word[3:]
 'HelpA'

***添字にマイナス指定 [#k552eadd]
マイナスを指定すると後ろから見る
 >>> word[-1]     # 末尾の文字
 'A'
 >>> word[-2]     # 末尾から 2 つめの文字
 'p'
 >>> word[-2:]    # 末尾の 2 文字
 'pA'
 >>> word[:-2]    # 末尾の 2 文字を除くすべて
 'Hel'

配列の添字は大きさをオーバーしてもエラーにならずに空文字になってくれる。
スライス演算の配列の添字は大きさをオーバーしてもエラーにならずに空文字になってくれる。
普通の整数の場合はオーバーするとエラーになる。

**Ruby [#b66ea092]
C言語に近い、中身を替えると、同じオブジェクトを持つ変数も変わる。
 a = "AAA"
 b = a
 a[1] = "B"
 puts a #=>ABA
 puts b #=>ABA

%演算、文字列%配列でsprintf見たいなことができる。
 a = "Taro"
 b = 50
 c = "%s is %d years old." % [a,b]
 puts c #=>Taro is 50 years old.