文字列処理 文字列処理の基本 「文字列」は「特別な形をした文字配列(契約)」という原点に戻る 入力 : 文字列の最後には EOS が入っていると期待して良い(権利) 出力 : 文字列の最後には、EOS が入っていると期待されている(義務) 契約なので頼りにして良いが守らないと困る ライブラリ関数は、「契約を守って」いる 文字列処理の考え方 文字配列の処理 基本は「文字列内の全ての文字を処理する」という考え方(繰り返しになる) 長さが可変なので EOS を頼りに処理 文字列の再帰的定義 「」空文字列は文字列 A が文字で s が文字列なら As も文字列 文字配列と先頭場所による後部分文字列表現 で、str の i より後の「後部分文字列」を表現してみる === str / str[0] + == 後部分文字列 の先頭の文字を取り除くと になると考える 後部分文字列の再帰的定義 == "" は str の後部分文字列 が後部分文字列なら に str[i] を追加した後部分文字列