Comment detail
LL Golf Hole 2 - 文字列に含まれる単語の最初の文字を大文字にする (Nested Flatten)stdin → stdout ;他の言語みたいに#/\b./でうまくいかないのは何故?
1 | (use srfi-13)(print(regexp-replace-all #/(\w)(\w*)/(read-line)(rec,quote #`",(string-upcase'1),'2")))
|
> ;他の言語みたいに#/\b./でうまくいかないのは何故?
マニュアルにもあるのですが、 Gauche の regexp-replace-all は「文字列でマッチした部分の後ろの部分に ついて再帰的に自分自身を適用」するからです。 ^ の場合のときのことは覚えていたんですが \b でも問題になるんですねえ。





leque
#6923()
[
Scheme
]
Rating0/0=0.00
文頭はすでに大文字になっていることを仮定しています。
;; 最初 #/\b\w/ としてハマった。
see: Gauche ユーザリファレンス: 6.11 正規表現 #regexp-replace-all
Rating0/0=0.00-0+
1 reply [ reply ]