[過去ログ] 関数型プログラミング言語Haskell Part16 (978レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
738
(1): 712 2011/12/18(日)21:56 AAS
>>736
すいません

まず最終的にやりたいことは、PostgreSQL に作ったテーブル内のデータが UTF-8 の日本語で、
その文字列データを取得してコマンドプロンプトに表示するプログラムをHaskellで作る
ということ

Haskell コード内でその文字列データ([Char] 型)を変数に束縛するとことは問題なくできた
というのも、その変数に System.IO.writeFile 関数を適用して得られたファイルを見ると、
正しく UTF-8 エンコードの日本語になっていたから
(当然だけど、writeFile の前に hSetEncoding 関数を utf8 に適用している)

コマンドプロンプトの方は、cmd.exe へのショートカットファイルのプロパティで
[オプション タブ]-[現在のコードページ] を "932" に、
[フォント タブ]-[フォント] を "MS ゴシック" に、
[ショートカット タブ]-[リンク先] を "%windir%\system32\cmd.exe "/K chcp 65001" に設定

このプロパティでコマンドプロンプトを起動し、その上で ghci を立ち上げ、
自作の *.hs ファイルをロードして、関数を評価しているが、
先ほどの [Char] 型の変数を ghci 上で評価すると utf-8 文字がエスケープされる
( ascii 文字以外は \ マークと数字数桁で表示される)

同じ [Char] 型の変数に putStrLn 関数を適用すると、
>>712(正確には >>713)のように日本語部分だけ各日本語文字1字に対して
余計な文字が2つずつ後に付随してくる(まぁエスケープに比べて読めなくはない)

どうすれば、コマンドプロンプト(コンソール)に UTF-8 日本語を正しく表示できるのだろうか

上記の現象はデータベース処理とは関係なく、UTF-8 エンコードされた
Haskell プログラムが書かれたファイル内に直接 s="テスト" と書いて、
それを ghci 上で同じように評価したりしても再現できるため、
>>712 では現象再現のための最低限の情報だけで質問しました
739: 712 2011/12/18(日)21:58 AAS
>>738
訂正

> [ショートカット タブ]-[リンク先] を "%windir%\system32\cmd.exe "/K chcp 65001" に設定

[ショートカット タブ]-[リンク先] を "%windir%\system32\cmd.exe /K chcp 65001" に設定
740
(1): 2011/12/19(月)03:22 AAS
これってコマンドプロンプト側の問題じゃなかったっけ・・・
他の言語でも似たようなことになった記憶が
申し訳ないがhaskellでの解決法は知らない
741: 2011/12/19(月)07:05 AAS
>>737
自動でテンプレとかはHaskellだけじゃなく、関数型全体として得意分野だから、>>720の記事の企業が作ってても全く不思議じゃないな
742
(2): 2011/12/19(月)14:54 AAS
Haskell使ってるゴミが小学生やガキ相手に
コマンドプロンプト開いて計算結果みせてみろよw

ガキ「なにこれ 意味不明」
大人「なんですかこれ DOS窓っていうやつですか? ハッカーですか?」

ゲーム開発者のほうが驚きや感動がすごいね

まじ君たち意味ないじゃん

なんかすげーでかいシステムとか 最適化  ノーベル賞とかもらってるわけじゃない
クソ研究しちゃって
頭大丈夫かよ病気かよ
743
(1): 2011/12/19(月)15:00 AAS
Haskellを作ったやつはすごいけど
それ使ってインテリゲンチャ気取ってる天才でもないお前らはマジゴミのきわみ

お前らがHaskell使っても アルバイト以下の賃金量だろWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

ヘラクレス本片手に持って くそみてーな計算式
足し算とかモナドとかほざいちゃって
Macbook片手に持って 作ってもくだらねえ 計算式やHaskell GUI
そんなのVBでできますよ レベルの
まじごみなんじゃないんですかね ぱねえっす ぱねえ まじぱねえ
頭おかしい印ですか??
ぱねぇまじぱねぇ
744: 2011/12/19(月)15:05 AAS
はい
745: 2011/12/19(月)15:12 AAS
>>743
プログラミングの話をしないなら板違いなのでマ板行ってください
746: 2011/12/19(月)15:35 AAS
金正日死んだのがそんなにショックなのか
747: 2011/12/19(月)17:29 AAS
正日がGHCコミッタだったという可能性がヒッグス粒子レベルで存在している?
748: 2011/12/19(月)17:36 AAS
諸君、そろそろ議論に戻りたまえ
749: 2011/12/19(月)17:57 AAS
742が言ってることは事実だからな
750: 2011/12/19(月)18:02 AAS
742乙
751: 2011/12/19(月)18:24 AAS
>>742が小学生やガキまたはそれに準ずるものという事が読み取れるわけですね
752: 2011/12/19(月)18:25 AAS
理解できない人間を病人と呼ぶ病気にかかってるから仕方がない
753
(1): 2011/12/19(月)18:36 AAS
haskellでWEBアプリって簡単にでける?
作ってる奴いるか?
754: 712 2011/12/19(月)18:48 AAS
>>753
snap とかのフレームワークを使え

簡単かどうかは気分次第
755
(1): 712 2011/12/19(月)18:51 AAS
>>740
そうですか

私も心が挫けそうで、もう諦め気味です
Windows 標準搭載のコマンドプロンプト以外のコンソールでもダメだったら諦めます
756: 2011/12/19(月)18:53 AAS
精神科医の春日武彦先生から統合失調症の前駆症状は「こだわり・プライド・被害者意識」と教えていただいたことがある。
「オレ的に、これだけはっていうコダワリがあるわけよ」というようなことを口走り、
「なめんじゃねーぞ、コノヤロ」とすぐに青筋を立て、「こんな日本に誰がした」というような他責的な文型でしか
ものごとを論じられない人は、ご本人はそれを「個性」だと思っているのであろうが、実は「よくある病気」なのである。
統合失調症の特徴はその「定型性」にある。
757: 2011/12/19(月)19:14 AAS
>>742
あなたの発言は傾聴に値する.是非これからは鳥あるいはコテハンをつけて発言して欲しい.
758: yuitest 2011/12/19(月)20:00 AAS
相手が会話の主体なのか、会話の内容が主体なのかという議論をするときの主体は何か
742は主体
759
(1): 2011/12/20(火)11:32 AAS
やっとこさ新版 Hasklell Platform2011.4.0.0 がリリースされてたよー
ghc 7.0.4 で 7.2 ぢゃないんですね。
760: 712 2011/12/20(火)12:36 AAS
7.2 はライブラリの方がまだ追いついていない場合が多い
base のバージョンとかコンパイル仕様の変更とか
761: 712 2011/12/20(火)12:40 AAS
>>755
msys とかでもダメっぽいんで、もう諦めました
762: やんやん ◆yanyan72E. 2011/12/20(火)12:56 AAS
統合失調症に定型性なんてねーよ。
陽性症状、陰性症状、人によって症状は様々。
精神医学の専門書の一つでも読んでからそういうこと言えよ。
大雑把にいえば、心の中の自分と他人の境界に穴が開く病気だ。
だから、自分が思っていることが人の声として幻聴で聞こえたりする。
763: 2011/12/20(火)13:35 AAS
5年から10年ぐらい前ぐらいに思考盗聴こえええ皆も気をつけろとか叫んでた人を結構みたけど
あれがそうだったのか・・・
764: 2011/12/20(火)13:50 AAS
Database.HDBC.MySQLのfromSqlでstringに変換するとasciiデータはputStrLnで表示出来るのですがunicodeは文字コードが表示されます。
まだunicodeに対応できていないのでしょうか?
765: 2011/12/20(火)15:03 AAS
unicodeも表示出来ました。
766: 2011/12/20(火)16:29 AAS
742がやってることはホームレスを無差別にいじめてる事と同じでしょ。
767
(6): 2011/12/20(火)21:54 AAS
listAは重複がないリストとする。
listBは空でなく、順序は不明だがlistAの要素の連続になっている。
listAの要素であるxを渡された時、それがlistBと比較して前方にあるか
後方にあるか、それともlistBに含まれるかを判定したい。
例で書くと
listA = ["A","B","C","D","E",...]
listB = ["C","D","B"]
xが"E"なら、listBに含まれるB,C,Dに対して「後方」ということになる。
このとき、haskellらしい考え方だとどういうアプローチになる?
俺の手続き脳だと
1. xがlistBにあるかどうかを判別
2. xとlistBそれぞれの要素のlistA内での位置を調べる
3. 調べた位置を比較して「前方」「後方」を判定する
と考えたんだけど、ザ・手続きっぽくてダサいよなぁ、と思って。
1-
あと 211 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.011s