#もしくは遅延シーケンスを使うべき状況なのかなとか思いました。リストの遅延シーケンスをフラットな遅延シーケンスにする方向かなと。
#gconcatenateは既にコミットしたのですが、同じ理由でlconcatenateも必要かなと思いました。おもしろいことに、eagerなリストではconcatenateはappend wo
#むしろ、generatorをcomposeでつなぐよりも、遅延シーケンスで書いたほうがいいという事例だったかも。(汗)
#appendの便利バージョン (concatenate xs) == (apply append xs) なんですが、ジェネレータや遅延シーケンスでは性質が変わるんですね。
#おお、gconcaternateを使ってみます。ありがとうございます。
#gosh> (string->regexp "\\/")
#/\\//
#なんだか,バックスラッシュの数がおかしいような気がします.
#gosh> #[\\]
#[\]
#char-setでも起きますね.
#Gauche-TkがWindows環境で上手く日本語を扱えず、難儀しております。
#Ubuntuでは、日本語のラベルやボタンは問題無く表示できています。
#(tk-init '("-encoding utf-8")) でwishにオプションを与えてみましたが効果無しでした。
#(with-module tk
(use gauche.charconv)
(define-method encode ((x <string>)) (ces-convert (tk-escape (format "~s" x)) "UTF-8" "SHIFT_JIS")))
を追加すれば、ラベルのテキスト等は日本語化できました。
#正攻法としては、wishとのプロセス間通信で、gosh->wish方向はSHIFT_JISへ、wish->gosh間はUTF-8に変換すれば良さそうなのですが、ここから先が手が出ません。何かヒントがあれば教えてください。
#-encoding オプションはファイルのエンコードを指定するものみたいですね。
#\u に続いて unicode のコードポイントを書く形式のエスケープ方法だとうまくいくっぽいので Shift_JIS へ変換するよりは良いかも。
#\u672c\u65e5\u306f\u6674\u5929\u306a\u308a\u000a
#↑ こういうの。
#と、思ったけど化けた… orz
#コンソールからだと大丈夫なのに Gauche からだとこの方法でエスケープしても化けちゃうなぁ。
#あ、 Gauche の文字列がエスケープを解釈しちゃうからもうひとつエスケープしなきゃいけないのか。
##ぐぬぬ…
#直接ならこれでいけるんだけどなぁ。
##Gauche-tkにtk側のエンコーディングを指定できるオプションをつけて、プロセス間通信時に変換かけちゃうのが面倒が少ないような気がする。今windows環境が無いのですぐには試せないけど。
#なかなか難しそうですね。もう少しあがいてみます。
#ぐぬぬにイイネつけたい