読者です 読者をやめる 読者になる 読者になる

文字列に含まれる単語の最初の文字を大文字にする

文字列に含まれる単語について、それぞれの単語の最初の文字を大文字にしてください。

たとえば、"LL future" と与えられたときは "LL Future" と出力する。"LL day and night" と与えられたときは "LL Day And Night" と出力する。

どう書く?org

こんな感じか。

(use gauche.collection)
(use srfi-13)

(print
  (let1 str (read-line)
    (map-to <string> (lambda (a b) (if (char<? a b) a b)) str (string-titlecase str))))

と思ったら、先越されてた。ホントそのままSchemeに翻訳したようなコードだな…。

Lispはゴルフやるには向かないよなぁ。なんとなくlambdaの辺りはもうちょっとすっきり書けるような気がするんだけど。