(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

小文字の文字列を大文字の文字列に変換する

素朴に書くとこんな感じ?

(let1 str "hoge"
      (list->string 
       (map char-upcase
	    (string->list str))))

シーケンス使えばこう書けるよなーって思ったけど、思ったより短くならなかった。

(use gauche.sequence)
(let1 str "hoge"
      (list->string
       (map char-upcase str)))

fold使ってみるかーって思ったけど、思ったより汚くなった。

(use gauche.sequence)
(let1 str "hoge"
      (fold (lambda (x y)
	      (string-append y (string (char-upcase x))))
	    '""
	    str))

仕方ないので、srfi-13を使った。

(use srfi-13)
(let1 str "hoge"
      (string-upcase str))

文字列に関する処理はだいたいsrfi-13に集まっている感じなので、覚えておくといいですね(まとめ