- 1 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 01:09:54 ]
- プログラミング言語 D について語るスレッドです。
過去スレは >>2 ■本家 ttp://www.digitalmars.com/d/ ttp://www.kmonos.net/alang/d/ (和訳) ■コンパイラ ttp://www.digitalmars.com/d/dcompiler.html (DMD, 本家) ttp://dgcc.sourceforge.net/ (GDC, gccフロントエンド) ttp://gdcmac.sourceforge.net/ (GDCのmac用バイナリ) ■参考URL ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究) ttp://dsource.org/ (dsource)
- 477 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 17:45:51 ]
- >>476
何故バレた?ちなみにPPCのOSXだぜwww
- 478 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 17:52:27 ]
- >>477
OS9のStuffitやOSXの標準zipを使うと、リソースフォークが別ファイルになって保存されるので、*xやWindowsのユーザーからはすぐ判別つきますよ。 .DS_Storeとか__MACOSXで検索すると理由はわかるはず。 私は卒論書いてたころはOS9で、いまはMacBook Proだす。コンパイル速いっすよ。
- 479 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 17:54:57 ]
- >>478
そんな事があるのか。ありがと。
- 480 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 18:01:35 ]
- 煮るなり焼くなり好きにしろライセンスキタ━━━━━━(゚∀゚)━━━━━━ !!!!
- 481 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 18:02:37 ]
- Thumb.db が入ってたら Windows ユーザだな。
- 482 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:01:37 ]
- NYSL : winNY iS his Life.
- 483 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:05:06 ]
- むりがあるだろ
- 484 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:16:15 ]
- NYSL = NewYork StyLe
- 485 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:16:32 ]
- >>463-468
自前でこんなん書いて逃げるしかないのかなあ Font createFont(char[] font, uint size) { return new Font(toMBSz(font)[0..font.length], size); } 作者にtoMBSzを使わなくてもいいようにしてもらうべきか? 自分でやろうにもフォント関係は経験なくてわからんのだが・・・
- 486 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:28:08 ]
- NYSL Yields Synonym License.
- 487 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:29:19 ]
- しまった。これじゃGPLみたいだ、、、
- 488 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 22:18:00 ]
- >>475
確かに、1.007がリリースされたのに、まだ1.006だったり。
- 489 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:11:49 ]
- 各自が勝手に追加すればいいんじゃない?
それがwikiってもんでしょ。
- 490 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:21:03 ]
- うー。やぱし文字列はもっと簡単に扱いたい……。
UTF-8/16/32の生のバイト列をドンと置かれただけで、 「この言語はUnicode対応、文字列を簡単に扱えます」とか言われても納得いかーん。
- 491 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:29:14 ]
- うむ。もうちとコードポイントを抽象的に扱う手段が欲しいな。
- 492 名前:468 mailto:sage [2007/03/09(金) 23:42:51 ]
- >>485
dfl/drawing.d の 2965〜2968行 #################################### if(name.length >= lf.lfFaceName.length) throw new DflException("Invalid font name"); lf.lfFaceName[0 .. name.length] = name; lf.lfFaceName[name.length] = 0; #################################### を、とりあえず #################################### { char* p = toAnsiz(name); for( int i = 0; (lf.lfFaceName[i] = p[i]) != 0; i++ ) if( i >= lf.lfFaceName.length-1 ) throw new DflException("Invalid font name"); } #################################### と、書き換えてみた。
- 493 名前:デフォルトの名無しさん [2007/03/09(金) 23:59:56 ]
- で、もうパーサコンビネータライブラリは登場した?
- 494 名前:485 mailto:sage [2007/03/10(土) 00:23:01 ]
- thx
>>492 を誰か ttp://dsource.org/forums/viewforum.php?f=39 にコミットしてくんない?
- 495 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:27:00 ]
- chappy * <= penis.toAnal(name);
まで読んだ
- 496 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 09:37:22 ]
- >>495 二項演算子inをオーバーロードしようぜ
- 497 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 16:48:45 ]
- 1.008とばして1.009か。
- 498 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 16:56:11 ]
- 新しいフィーチャーはないのね。
- 499 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 16:57:45 ]
- ノーフューチャー
- 500 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 20:46:15 ]
- フィーチャーで思い出したけど、
1.Template inheritance. 2.Array operations. この辺の更新ってやる気ないんかね。 そもそもできて何の得があるのか…
- 501 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 20:57:09 ]
- >>500
1.0よりずっと前から絶賛放置中。
- 502 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 21:32:09 ]
- いまのWalterタンの興味の対象はなんなんだぜ?
- 503 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 21:42:51 ]
- コミュニティに振り回されてるのでは・・・・
- 504 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 22:09:02 ]
- 1.Template inheritance.
は,コードの重複をさらに減少させることができて 2.Array operations. は,マルチコアCPU時代には必要な物では
- 505 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 22:10:16 ]
- 1.008ないのかよww
バージョン番号を無駄遣いし始めたら 1.998->1.999->1.1000も夢ではないなw
- 506 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 22:14:43 ]
- >>502
C++0x
- 507 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 21:04:40 ]
- マジで1.008どこにいったんだ。
普通にウォルタータンの間違い?まさかギャグ
- 508 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 22:11:08 ]
- 1.4.2 → 5.0 の Java よりはマシ。
- 509 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 22:12:04 ]
- 1.5じゃないのか・・・
- 510 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 22:56:45 ]
- >>507
本人曰くスペシャルビルドらしい。詳細は不明。
- 511 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 23:02:16 ]
- なんかやばい機能をつけて、出す前に封印したとか?
- 512 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 23:08:03 ]
- 10.21Hzの低周波で暴走する機能が付いたはず
- 513 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 23:48:46 ]
- HOS?
- 514 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 23:56:39 ]
- SRAM隔離しとくか。
- 515 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:00:31 ]
- >>492
import dfl.all, dfl.internal.utf; { Font font = new Font(toAnsi("MS 明朝"), 16); } これで解決できてしまうので投稿はやめようかと思う 自分で変換しなきゃいけないのは誰が悪いんだ? OSがフォント名をUnicodeで受け付けてくれないのが悪いのか dflが変換してくれるべきなのかどっちだろう dflが変換するべきならどうやって切り替えるべきだろう?
- 516 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:03:33 ]
- そういうのはライブラリが吸収すべきだと思うんだが
- 517 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:25:37 ]
- >>515
> OSがフォント名をUnicodeで受け付けてくれないのが悪いのか OS側は勿論Unicodeフォント名に対応してるよ。 CreateFont(Indirect)()にしろ、LOGFONTにしろね。 糞な現状では、ttp://www.kmonos.net/alang/wnd/topics/winapi.ja.html に書いてある方法が比較的マシな対処法かと。 少なくともTCHARマクロに慣れているC/C++プログラマにとっては親しみやすい 方法だろう。
- 518 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:33:48 ]
- charはUTF-8文字(のうちの1オクテット)ってことになってるのに、
他のバイナリデータを平気で代入してるなんて気持ち悪すぎる。
- 519 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:44:11 ]
- DのGCってポインタ再配置されたりする?
Cの関数に渡すようなポインタはmalloc()とかGlobalAlloc()とかすべき?
- 520 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:51:56 ]
- >>517
あーそうかわかったわかった -version=Unicode かどうかで CreateFontIndirectA/W を使い分けてもらえばいいだけっぽいな
- 521 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 01:00:43 ]
- dfl 内部で CreateFontIndirectA / LOGFONTA を使ってしまっているからダメなんだな
CreateFontIndirect / LOGFONT に alias してそっちを使ってもらおう
- 522 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 01:37:30 ]
- 1byte圏の人がW版のAPIの使い所がわからないからA版使ってるなんてオチは都市伝説でいいんだよな
- 523 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 01:52:08 ]
- >>522
Latin-1とかでもUTF-8エンコーディングならマルチバイトになるよ。 な〜んも気にしないでいいのは、ASCIIしか使わない人だけ。
- 524 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 10:52:16 ]
- 結局sjisつかえないの?
- 525 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 11:27:54 ]
- リテラルは無理なのかな。
CGIならDで十分いけますか?
- 526 名前:デフォルトの名無しさん [2007/03/13(火) 12:18:16 ]
- 日本語で始まる引数がとれないんです><
ver1.009, XPpro // jp.d import std.cstream; void main(char[][] arg) { dout.writeString(arg[1]); } >jp 日本語 {語 >jp 0日本語 0日本語
- 527 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 12:33:55 ]
- 過去ログ嫁
- 528 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 12:34:57 ]
- >>526
引数はshiftjisじゃね? 出力先もshiftjisだから微妙に表示できて混乱するだろうが。
- 529 名前:デフォルトの名無しさん [2007/03/13(火) 13:18:38 ]
- >527
テンプレの過去ログは全滅っぽくて見つからないのです・・・ どこかに倉庫ありますか? >528 引数はshiftjisだと思います・・・ でもJcodeConvert通してもだめで, argの配列に切り分けるときにすでに失敗してるんじゃないかと
- 530 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 13:24:43 ]
- inabaさんのとこのtxのargvfix使え。
でもあれも\が消えるんだよね。仕様?
- 531 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 14:20:03 ]
- void main(char[][] _args){
char[][] args; foreach(char[] arg; _args){ args ~= fromMBSz((arg ~ '\0').ptr); } なんてのをわざわざ入れてる俺。 ホントはスタートアップルーチンでやってくれなきゃ困るんだけどなぁ。
- 532 名前:531 mailto:sage [2007/03/13(火) 14:27:23 ]
- って、これをそのままwriteStringしてもやっぱ文字化けしちゃうか。
さんざ語られた文字コード問題だけど、過去ログ消えてるのは痛いか。 困ったときはinabaさんに頼るか。 www.kmonos.net/alang/wnd/topics/pitfall.ja.html#mojibake
- 533 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 18:47:10 ]
- >529
にくちゃんねる Part8 >50-100 Part9 >509-
- 534 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 01:25:00 ]
- >>532
>正しくは、標準ライブラリが画面出力の直前に、その環境の文字コードへと変換をかけるべきです。 (「利用者がwriteflnする直前に変換する」のは間違いです、念のため…)。 そうかなぁ?おいら的には、正しくはコンソールがUTF-8を表示出来るべきです。 で、次善の策としては、利用者がwriteflnする直前に変換するで、最後が、 標準ライブラリで対応だと思う。 D言語はUTF-8(UNICODE)で動くんだから、環境の問題は環境で解決するべきだと思う。
- 535 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 01:34:21 ]
- >>534
> D言語はUTF-8(UNICODE)で動くんだから、環境の問題は環境で解決するべき そういう言語は決して実用的な言語にはなりえません。 そのようなポリシーで開発されたソフトウェアを多くの人に/多くの環境で 使ってもらうことは不可能です。
- 536 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 02:33:19 ]
- いい加減UTF8環境に移行しても良いと思うんだ。
- 537 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 02:38:31 ]
- >>536
Windowsでは無理だからそれ。
- 538 名前:526 [2007/03/14(水) 02:38:45 ]
- >528
できました!が\はやっぱり無視されたみたいです... // jp.d import std.cstream, tx.all, jcode; void main(char[][] arg) { argvfix(arg); dout.writeString(JcodeConvert(arg[1],"auto","sjis")); } >jp 日本語\ほげ 出力:日本語ほげ >531 解決しないみたいです.同じような症状になってしまいました. >533 ありがとうございます>< 今から見ているところです. part8 res69にある"で括る方法は使えそうです >test "もうだめぽ" >自 ファイルのパスを与えるのが目的だったので -fパス のような形式にしたらとりあえずちゃんと動きました 皆さんありがとう
- 539 名前:>526 [2007/03/14(水) 02:41:12 ]
- >538の,
>528は>530の間違いです
- 540 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 02:48:27 ]
- 日本語WindowsのシステムコードページはCP932固定。
UTF-8のコードページはあってもMultibyteToWideChar()等で使えるだけの 偽コードページ。 コンソールコードページも当然UTF-8なんてものはない。 日本語版MSVC++もCP932なソースしか通さない。 そんな環境だぞWindowsは。 MBCS=DBCSと決めうち、mb_len()は2以下で決めうちなコードがあまりにも はびこっているために、もはや修正不可能であるらしい。
- 541 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 03:17:40 ]
- >>535
そりゃそうだ、だから、しょうがなしに標準ライブラリで対応(サービス)するのは 構わないと思う。 んがぁ、「正しくは」と言い切るかどうかに、引っかかるわけ。 理念を曲げる、余計な装飾を施すことを否定しないけど、そっちを正しいとするのには 違和感が有るんですよ。
- 542 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 04:13:23 ]
- でも仮に「Windowsが対応してないのが悪いんだよ!」ってウォルターたんに言われたらやっぱり開き直りに感じない?
一応Dは現実的に実用的っていうポリシーがあるわけだし。 標準の入出力が化けるって実用上冗談にもならないじゃん。
- 543 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 04:14:43 ]
- D言語で作られた有名なアプリって何がある?
- 544 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 05:07:24 ]
- 開き直りとは思わないなかな。
まだ、やりたくない事をやってもらえる段階じゃ無いと思うし。 あと、そんな所に時間を使って欲しくないのもあるな。 ほっときゃWindowsが対応して時間が解決してくれるかもしれないし。
- 545 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 08:36:04 ]
- おうぷんそおすなのでそうすをおくりつけることでたいおうしてもらいたいおとしごろ
- 546 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 08:48:32 ]
- いつDはおうぷんそおすになったんだよw
ソース公開してねぇじゃんよw
- 547 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 09:04:48 ]
- xml関係に関して。いろいろほじってみました。
ttp://www.prowiki.org/wiki4d/wiki.cgi?AllLibraries/XmlLibraries ttp://www.dsource.org/projects/mango/browser/branches/v2.1/mango/xml Boost::Randomみたく、 DOM, SAXともにinterfaceが定義してあって、 実装を任意に結合できるようにすると賢い気もするがどうなんだろ。 個人的にはECMAScript系(JavaScriptとかActionScriptとか)のDOM結合が 使いやすかったりしなくもないので、そういう拡張が無理なくできるとうれしいのだが。
- 548 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 10:26:15 ]
- >>546
例えば、dmd/src/dmd/*とか、厳密な意味でのオープンソースでも仕様が公開されてるし、日本人が書いたpatchをオフシャルに取り入れたりとか。
- 549 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 11:45:31 ]
- >>542
そう言う問題じゃないし、標準ライブラリの話だし。
- 550 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 13:02:27 ]
- >>530
1週間以内になおしまっす >>534,>>541 言語の都合に環境の方を合わせるっちゅーのは変だと思うのですが。 特定の(かなり限定された)条件の環境でしか動きませんというのは汎用言語としてはダメじゃないかなあ。 環境はOSごとマシンごとユーザー毎に違うのが当然で、それを全部吸収して 言語から統一的に扱えるようにすることこそが標準ライブラリの役目では。
- 551 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 13:14:19 ]
- コンソール側でUTF-8対応するのは大いに結構なのだけど。
POSIXで定められた標準入出力はバイナリストリームなので、 アプリ側の出力するテキストに何のエンコーディングが使われてるかは コンソール側ではどれか1つと仮定するしかないべ。 SJISとUTF-8なプロセスを2つ立ち上げたらどっちかが文字化け。 ckなんかはSJISもUTF-8も表示できるけど、アレも内容から推論してるだけだろうし。 1つに仮定するならどれかと言われれば、環境デフォルトので、ってのが妥当だと思う。 Walterも文字列の国際化に関してはそれほど詳しいわけじゃ無いって気がする。 「時代はUnicodeです・言語は文字列を簡単に扱えるべきです」なんて言ってた割には まだ「英語環境でしか動作しねぇじゃん」て箇所多いし。 あっちも「マルチバイト環境のノウハウあんだろーくれよー」とか思ってんじゃ? うちら日本人も本家にがんがんフィードバックを提供すべきなんだろうけど、 英語/日本語の壁はASCII/Shift_JISよりも厚いなぁ……。
- 552 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 14:51:57 ]
- ま、言語実装にしか興味が無いっつか、要は趣味なんじゃないの。
I18N化の泥仕事なんて、実用上は必要だけれども、退屈なだけだろうし。 しっかし、OS内部を早々とUTF-16化していたWindows NTファミリが、 UTF-8には対応しない(出来ない)ってのも、何か笑えるものがあるな。
- 553 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 19:46:56 ]
- >>550
お世話になってます
- 554 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 20:32:44 ]
- >>550-551
君達は要不要で議論してると思う。要不要で言えば有れば便利。 ここには争いが無いんですよ。
- 555 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:08:20 ]
- あらゆる状況を考えると、言語側で変な細工をするよりも、
ユーザープログラムが吐く文字コードに環境があわせるか、 ユーザープログラムが吐く文字コードを環境にあわせるか、 で考えるべきだろう、という理屈は納得できる。 (吐く出力だけじゃなくて、入力についても同じことね) 利便性を考えると、各々の(言語)ユーザーがその時々で対処するよりも、 ライブラリで既存の環境に応じて処理されるのが自然で、それを実現する ライブラリが標準でついてくるのが当然だ、というのも分かる。 入出力を標準ライブラリ側でD言語の文字型に変換してくれるのをデフォとして、 それぞれの入出力関数について無変換(つまりubyte列)で入出力できるものを別途用意、 というのが自然だと思う。
- 556 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:29:45 ]
- >>555
それはかなり言語一般に対する議論が混ざってると思う。 D言語はその言語仕様で高らかに、Unicodeが言語仕様です。 と唱えてるんだから、「本当は」とか「当然」が使えないはず。 本当はUnicodeが前提なので、当然環境に合わせる処理が必要。 と考えるのが自然。 まず、一番良いのは環境側が受け入れてくれること、(コンソールのUTF-8対応) 次にプログラムで明示すること、(作り込み) そして最後が標準ライブラリでの対応(サービス、サービすぅう)
- 557 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:41:37 ]
- まあ、自然だろうが何だろうが、
肝心の Walter タンにやる気がなきゃどうにもならんなあ。
- 558 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:43:11 ]
- >>557
だから、ライブラリの話だって。 Walterタンのやる気はあんまり関係ないと思う。
- 559 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:54:55 ]
- >>556
> D言語はその言語仕様で高らかに、Unicodeが言語仕様です。 > と唱えてるんだから、「本当は」とか「当然」が使えないはず。 > 本当はUnicodeが前提なので、当然環境に合わせる処理が必要。 ここらへんどういう意味なのかよく分からんけど、 D言語では文字型とソースコードはUTFである、ってだけで、 D言語が想定する文字コードはそれだけだ、とは仕様は 言ってないと思うんだけど、どっかでそんなこと言ってたっけ?
- 560 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:55:17 ]
- つまりおいらが言いたいのは、標準ライブラリで当然(本当は)コード変換に対応すべき。
と言う考え方に立つと、日本限ってみても、標準ライブラリに当然EBCDIC対応もJEFコード対応も、 EUC対応も、TRON対応も、DEC漢字対応、ISOも必要という話になるわけで、こんな行為が、「本当は」 と言える事なのか疑問という事。 ここの交通整理をするために、D言語はその言語仕様で「Unicodeです」と宣言してるんだから、 「本当は」というのは、もの凄く間違った考え方だと思う。
- 561 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:56:26 ]
- >>559
議論を混ぜ返してるだけだと思う。 他文字コード対応を標準ライブラリで行うことが、「本当は」に当たるか否かを議論してる。
- 562 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:02:23 ]
- もちろんD言語に限らず、言語一般の議論に拡張すれば、実行環境に対応した文字コード変換ライブラリの
存在を言語標準に規定する方法や、実行環境の文字コードで言語を記述することを仕様とする(C言語)など、 色々有ると思う。 でも、D言語は、言語仕様でUnicodeとする道を選んでるんだから、「本当は」は使えないと思う。
- 563 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:03:21 ]
- >>560
> も必要という話になるわけで ならんでしょ。 あらゆる状況に対応することまでは要求されてないだろうし。 >>561 >560の > ここの交通整理をするために、D言語はその言語仕様で「Unicodeです」と宣言してるんだから、 とかいうのがどこから出てきた話なのか訊いてるわけで、 混ぜ返すとかよく分からん意図じゃないよ。
- 564 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:04:54 ]
- # レガシーエンコーディングももう少しマトモに扱えるようにならんもんかなあ
# 現状、Unicodeもだめだめだけど
- 565 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:07:26 ]
- >>563
ここまでかみ砕いて説明してるのに、まだそんなこと言ってるのなら、 君は文字コードを理解してるとは思えない。
- 566 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:09:11 ]
- >>564
そこで必要なのは、ICUをDに移植することだと思う。
- 567 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:10:32 ]
- コンソールの標準エンコードがutf-8じゃないレガシーなOSなんて窓から(ry
- 568 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:18:03 ]
- >>556
望み通り「コンソールがUTF-8対応」したとして、 SJISを吐くプログラムとUTF-8を吐くプログラムを コンソール側はどうやって見分けるんだ?
- 569 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:19:17 ]
- >>568
どうも議論がかみ合わないんだけど、Win厨なのか?
- 570 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:24:17 ]
- >>567
乱暴な話だけど、その通りだと思う。 Winはかなり特殊な環境だと言う自覚が無いから、「本当は」とか言っちゃうんだと思う。
- 571 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:28:40 ]
- >>566
あいや待たれよ、移植しただけではDのchar[]と入り乱れて混乱する。 いっそICUのUnicodeStringをDに丸ごと組み込んでStringという名を与え、 文字列リテラルもStringのインスタンスとしてしまう方が……。
- 572 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:33:18 ]
- たしかに文字列が文字配列ってのは潮流に乗り損ねてる気がしないでもないよなあ。
- 573 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:33:57 ]
- >>571
なんだよねー。 で、そうなってくると、Walterタンのやる気が問題になってくるか… というか今更出来ないになってしまうか・・・
- 574 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:47:27 ]
- 結局、
> D言語はUTF-8(UNICODE)で動く というのを、 > D言語はその言語仕様で高らかに、Unicodeが言語仕様です。と唱えてる > ここの交通整理をするために、D言語はその言語仕様で「Unicodeです」と宣言してる > D言語は、言語仕様でUnicodeとする道を選んでる と拡大解釈したために、文字コード関係の標準ライブラリ対応を > 理念を曲げる、余計な装飾を施す と捉えて、 > 正しくはコンソールがUTF-8を表示出来るべきです。 と考えた、 ということかな。一連の引用部が同一人物かどうかは知らんけど。 www.kmonos.net/alang/d/overview.html > 宗教やおおげさな哲学とも縁がありません。 > 現実的なプログラマのための、 現実的な言語です。 という(そのうえ後発言語である)D言語としては、 やっぱり標準ライブラリ対応が自然だと思った。
- 575 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:51:51 ]
- Win厨とか言い出すやつの相手はしないほうがいいぽ
- 576 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 23:33:42 ]
- DにC99の複合リテラルっぽいものないの?
- 577 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 00:08:23 ]
- >>574
>やっぱり標準ライブラリ対応が自然だと思った。 >>560
|

|