日本語の扱い方

euslispで日本語を扱いたい時、文字コードはUTF-8である必要がある。

例えばconcatenateを用いると、リストの中の日本語を連結することが出来る。 ROSのトピックとして一つずつ取ってきた日本語を、連結することで一つのstring型の言葉に変換したい時などに便利である。

(concatenate string "け" "ん" "し" "ろ" "う") → "けんしろう"

最初から全ての文字がリストに入っていて、文字を連結したい時はこのようにすればよい。

(reduce #'(lambda (val1 val2) (concatenate string val1 val2)) (list "我" "輩" "は" "ピ" "ー" "ア" "ー" "ル" "ツ" "ー" "で" "あ" "る"))

→ "我輩はピーアールツーである"

coerceを用いて、次のように書くことも出来る。

(coerce (append (coerce "私はナオより" cons) (coerce "背が高い" cons)) string)

→ "私はナオより背が高い"



2016-04-05