ランダムな文字列の中に隠された特定の文字列文字をマークするコードを Squeak Smalltalk で

| code out key |
code := 'gtgtsgipgttptinggipsppaigsesgpetgstpatetisiesagaeaigttetepitiatsegssieeeeatepaaiagtpieataatppiitgiapsteitatiiatpetetetttgpetpaasipttssstpeeeggtiagtttegtiipestsasgpsepaasapttgattgiatppegitiatpasgatgepttggapesaeetaeissttggieietgspagesiipestipggstttpateptitiaetottissgggtttaipappgstsptttgtpispattgegstltiappseisapgistaiagteeiptptpisaieisagstapeteietgteiisgtiptstgtstasspeatspptitttatteastsgtptgtasggpniaaeteaisett' readStream.

key := 'neapolitan' readStream.

out := String new writeStream.

[key atEnd] whileFalse: [
     out nextPutAll: (code upTo: key peek).
     (code skip: -1; next) ~= key peek ifTrue: [self error: 'not complete'].
     out nextPutAll: '[', key next asString, ']'
].
out nextPutAll: code upToEnd.
^out contents


code skip: -1; next あたりがイマイチ。^^;