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)
152 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 17:51:33 ] delegateの構文としてdoを採用するんだったらこうなるわけか。 hoge(x, y, z) do|int x, int y| ... end どうみてもRubyです。 しかし盛り上がりすぎワロタw
153 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 20:40:42 ] D言語の正式版の存在の意味が分からないw 明らかに人柱版としか思えないんですけどwwwww
154 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 20:51:12 ] >>153 正式版も何も、単にバージョンが1になったというだけの話でしょw
155 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 21:05:47 ] とりあえず落ち着かないとIDEとか無理だよな
156 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 21:20:10 ] >>152 hoge(x, y, z) do (int x, int y) { ... } でいいんじゃねえの? パイプって左右の区別なくて気持ち悪い。
157 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 21:56:47 ] char[][] commentlessScript = File.collectLines("foo.myscript") do (char[] line){ if(line == "---EndOfScript---"){ break; } if(line.startWith("#")){ continue; } return line; }; class File{ static char[][] collectLines(char[] filePath) do (char[] delegate(char[]) yield){ char[][] result; open(filePath) do (File file){ while(!file.eof){ result ~= yield(file.readLine()); } } return result; } static void open(char[] filePath) do (void delegate(File) yield){ File file = new File(filePath); scope(exit){ file.close(); } yield(file); } } /* コンパイラは、delegateの呼び出しが行われるのがwhileやforの中のみと判断した場合に限り、 そのdelegate内でのbreak、continueを許します。それらが行われた場合、delegateの実行は中断され、 delegate呼び出しから最も近いforやwhileに対してbreak、continueが行われたものとして処理されます。 */ 妄想が窮まってきたので、いい加減もう寝ます……。
158 名前:157 mailto:sage [2007/02/13(火) 22:09:33 ] ……コメントに付け足させてくれ。 /* 検討事項: ... do (loop char[] delegate(char[]) yield){ ... のようにloopキーワードを付けるなどして、 delegate引数の宣言の側でbreak、continue可能なことを明示すべきかもしれません。 この場合、この`yield`はwhileやforの中で呼び出さない限りコンパイルエラーになることになります。 */ 今度こそ寝る。
159 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 22:25:00 ] >>156 「関数呼び出し do 関数リテラル」って形だな。 doを既存の演算子に置き換えて、 その演算子をオーバーロードしたクラスを関数呼び出しが返せば、 「関数呼び出し 演算子 関数リテラル ;」という形にはなりそう。 その場合、文じゃなくて式だけど。
160 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 23:16:44 ] forの方が単純でいいような気がしてきた。
161 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 23:34:45 ] トリッキーなコードには演算子オーバーロードは欠かせない。 我々にはopDoが必要だ。
162 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 05:40:33 ] ネタでしょ?
163 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 05:57:51 ] 括弧内に { } があるのってダサくね?
164 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 06:31:20 ] まさかこんなのが古きよきforループより分かりやすい、初心者にも 教えやすいとか思ってないよな? しかも性能が劣るのは確実 単なるジャンプに過ぎないbreakやcontinueの代わりに例外なんて 論外もいいところ 馬鹿じゃないの?ただのオナニーじゃん
165 名前:デフォルトの名無しさん [2007/02/14(水) 06:39:54 ] >>158 おまいばかじゃね? ネタだとしても、折角do使ってキーワード増やさない様にしてるのに何してんだ。 そんなんなら最初から新たな構文作るだろ。
166 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 06:41:12 ] くだらんことでスレ延ばしてる香具師は 仕様いじくりまわして使えなくしてしまおうという スパイの陰謀にしか思えない
167 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 06:44:17 ] どこのスパイだ
168 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 06:52:10 ] Jで始まる言語を使うところだな。 Japanese
169 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 06:52:26 ] for ループと do 記法の提案の話は別ジャン。
170 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 07:43:56 ] 一所懸命相手のレスをねじ曲げて馬鹿にしてるんだから水を差すな。
171 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 08:03:36 ] うそみたいだろ 全部ネタなんだぜ
172 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 08:20:55 ] Don't touch me!
173 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 09:11:02 ] sampleのhtmlget.dのhtml表示部分のprintfをwritefに変えたら4invalid UTF-8 sequenceってなった(printfのままだと通る。ちなみに接続先はwww.google.co.jp) ・・・なんで? もしかして、writefだとUTF-8通らないのか?
174 名前:173 mailto:sage [2007/02/14(水) 09:11:56 ] あっ、改行忘れてた。すまん
175 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 09:25:14 ] BOMとか関係あったりして
176 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 11:44:20 ] 逆だろ、writefはUTF-8とか16辺り以外通らない。
177 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 12:01:41 ] みんな速度には結構神経使うな……当然ちゃ当然だが。 一口に速度と言っても、みんなどれくらいのをイメージしてるんだ? 俺は元々Java/Webな人間だし、個人的に作りたいモノも大抵Winアプリだしで、 停止時間が0.3秒くらいに収まればいいかな、くらいに思ってるけど。 だからforよりパフォーマンス落ちるとか程度は、(多分)全然許容範囲。 やっぱゲームとかリアルタイム処理な人は、 1万回のループが1/60秒以内に収まらなきゃ論外(数値は適当)、 delegateとか話にならん、て感じなんだろか。
178 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 12:58:51 ] 停止時間とか言ってる意味がよく分からんが、 ループ箇所の処理時間はボトルネックになりやすいという 一般論を前提にして今の話は進行してたんだろ
179 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 13:04:37 ] >>176 たしかにそうみたいだな import std.stdio; void main() { printf("ほげほげ"); writef("ほげほげ"); } で、ちゃんと表示されてるから。 でも、なんでちゃんと表示できなかったんだろう・・・>htmlget.d
180 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 13:17:42 ] >>178 GC関係じゃね?<停止時間
181 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 13:30:43 ] >>177 別に性能がどうでもいいんならVM言語やスクリプト言語でいいし って話じゃねーの? 画像データをピクセル単位で弄くったりすることを考えると 遅いループなんて使う気にならないよ、少なくとも俺は。
182 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 13:47:42 ] >>178 停止時間は例えば「ユーザがメニューから項目を選択してから、 再びユーザに制御が戻るまでの時間」くらいのつもりだった。 >>181 性能がどうでも良いとしても、Dは結構魅力的だと思うけど。 ランタイム要らずで起動の早い単体exeを作れる、かつC/C++より幾分モダンだし。 とゆーか、ごめん。なんか分かり切った事を聞いた気が自分でもしてきた。
183 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 14:46:30 ] D言語そのものが人柱言語なんだからこのままイカレ仕様につっぱしってほしいぜ! # 実用に使えるかどうかはプログラマの腕次第
184 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 15:00:48 ] Rubyのイテレータとか見てると、 複雑な制御構造やありがちな制御構造をモジュール化して、 名前を付けられるって点がありがたいなぁ、と思う。
185 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 15:13:57 ] >>177 意外と、会計処理でも、5時間かかるか、4時間で済むかは大問題だったりする。 夜間バッチのスケジュールが有って、会計処理なんて今時古いとか言われても、 必要なもんなんだし、お前らみたいにお絵かきやエロやってる訳じゃなく、従業員 が1万人関連取引先含めると20万人、顧客まで含めると100万人規模の、会社 にとっては、本当に死活問題。
186 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 15:18:17 ] >>173 www.google.co.jpはuser agentを見てUTF-8返したりShift_JIS返したりしてた気が。 たぶんSJISで送られてきてる。
187 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 15:43:07 ] >>186 つかさ。 普通にprintfで書き出して hoge.exe > tmp.txt でtmp.txtの文字コード調べりゃ済んだはずだよな
188 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 15:48:27 ] そういう高速な処理したい人は普通にfor書いて それ以外の速度が死活問題にならない人は短くてわかりやすい構文が使えるってのでいいんじゃないかな。 コンパイルはもともと激速なんだし構文増えてもそんなに遅くはならないと思うし。
189 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 16:23:46 ] >>188 それはもったいないとおも
190 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 16:45:38 ] >My goal is to make the Boost implementation code look as obsolete as a muzzle-loading smoothbore. ガンガレWalterタソ!
191 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 16:59:48 ] muzzle-loading smoothbore みた事無いからわかんないや
192 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:01:40 ] >>188 ここらで直交性について触れておくべきだろうか。 まぁDはとっくに醜悪な恐竜になりつつあるがな。C++のように。
193 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:12:22 ] > muzzle-loading smoothbore ググって見たら軍事用語かいな。どういう喩えなのかさっぱり解らんw >>192 STLだと型、データ構造、アルゴリズムだっけ。 Dが醜くなりつつあるというなら、どっかを削るべき?
194 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:21:11 ] > muzzle-loading smoothbore muzzle-loadingは先込め式銃で銃口から玉を込める銃のこと。 そしてsmoothboreはライフリングがない銃の事らしい。 とりあえず火縄銃なのかな?
195 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:26:15 ] > 火縄銃 なるほど、obsoluteだな
196 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:34:46 ] つまりDの目標はBoostを現在の銃と火縄銃くらい時代が違う物にしたいと
197 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:36:10 ] 要は「ちょwwBoostwwwwww」ってなるくらいってことだろ
198 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:43:37 ] for や do のあたりの話をまとめると、こんな感じか。 ・ foreach(i : 1..array.length, n; array) { ... } ってできたら、インデックスもズレないし、便利だよね? ・ ついでに foreach(i : 0..TIMES) { ... } ってできてもいいんじゃね? ・ それとは別に、Ruby のイテレータみたいなの欲しいな。 times(5) do (size_t i) { ... } void times(size_t n, int delegate(size_t) yield) { ... } みたいな。
199 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:44:36 ] boostが出てくるということは、 強力で設計の良いライブラリも持ちたいという意志はあるのねw 頑張れWalter! 出来れば「標準」ライブラリで頼むぜ!
200 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:46:57 ] >>199 >強力で設計の良いライブラリ boostはそんなライブラリじゃない訳だが。
201 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:48:39 ] 頑張れWalter!
202 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:49:35 ] >>200 Walterはboostを持ちたいと言っている訳じゃないんだからいいんじゃね?
203 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:52:26 ] boost は標準化目指してなかったっけ?
204 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:53:56 ] >>202 既にtupleとかbindとか標準ライブラリでサポートされてきてるじゃん。
205 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:54:41 ] >>198 そのあたりHaskellだとキレイにかけそう。
206 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:55:59 ] >>203 C++0xで採用される予定のtr1はboostが基になってるのが多いね。
207 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 18:04:07 ] とりあえず boost は糞で桶?
208 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 19:30:05 ] "Boost implementation code look as..." だから、 boostの「実装コードが」時代遅れに見えるくらいにしたい、じゃね。 boostと同じ(or以上の)レベルの事を、もっと奇麗なコードで出来る言語仕様を…… というニュアンスとも。
209 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 20:33:13 ] >>208 俺にもそう読めた boostライブラリを言語仕様で実現したいんじゃないの
210 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 22:02:34 ] 209が208に同意してるのに微妙に違うこと言ってて混乱。 Boostみたいなライブラリをダーティハック(とかいったらC++の人に叱られそう)なしで出来るようにしたいって話では。
211 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 22:13:58 ] 変態っていえば多分彼らは納得してくれる。
212 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 22:25:59 ] たしかにやべえ変なことしてるなあコレwって部分に興奮してる部分はあるかもだよな、>C++の人
213 名前:209 mailto:sage [2007/02/14(水) 22:40:39 ] >>210 よく読んでみたら確かに微妙に違ったみたい ニュアンスを完全には把握できてないや ところでさあ TangoってErrorクラスがなくなってたりして dfl(dwtも?)と一緒に使うことができないっぽいんだがどうしようもないのかこれ
214 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 09:26:23 ] ファイルコピーてstd.fileに無いの?
215 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 10:20:57 ] >>214 ? ふつうにvoid copy(char[] from, char[] to); が載ってるが。
216 名前:199 mailto:sage [2007/02/15(木) 10:33:07 ] >>200 boostを思い出してみるに、確かに何となく違った気がする。 C++の言語仕様ならこれだけのことが可能なんだから、 これくらいは基礎として入っているべきだ、て感じ? 実際>>206 な話だし。 GUIに通信にXMLにと何でも最初から入ってる、Javaみたいな意味での”強力”さってのは、 Dの標準ライブラリでは目指して無さそう? それはそれでいいのだけど。
217 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 11:33:55 ] >>216 標準ライブラリにバイナリ本体を載せなくても、標準的なインターフェースは定義予約しておいてほしいと思う。
218 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 13:05:53 ] >>186 あぁ、本当だ よくよく見たらcharset=Shift_JISになってたわ
219 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 20:28:59 ] IEやExcelを操作したいのだけど COMを扱うライブラリを、紹介してもらえないですか? 出来れば、スクリプト並みに楽に扱えるものだと嬉しいです あー、DもCOMも検索しづらい
220 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 23:33:38 ] 伸びてるな
221 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 00:54:15 ] >>113-152 この流れ、おもしろすぎwwww はたから見てて、久々にD言語使いたくなったwwww
222 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 02:18:21 ] yield欲しい……。
223 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 02:24:25 ] てかマイクロスレッド自体は実現できるんだったな・・・。 うらおの奴が作ってたような・・・。
224 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 02:33:01 ] >>223 使用メモリを自分で決めるのと例外が投げられないのがちょっと気になる。
225 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 02:46:26 ] >>224 あー確かにそうだったな・・・。 でもスタックって最初からサイズ決まってるんじゃないっけ。
226 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 03:35:21 ] What's New for D 1.006 Feb 15, 2007 New/Changed Features * Added -Jpath switch, which is now required in order to import text files. * Enhanced -v output to include actual filename. * name string for TypeInfo_Struct now part of the TypeInfo_Struct comdat. * Compile time execution of functions
227 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 03:42:17 ] * Compile time execution of functions コンパイル時ユニットテストが・・・!!
228 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 10:34:50 ] > * Compile time execution of functions 定数要求されてるところに関数書いておくと、それが いくつかの条件をみたす関数ならコンパイル時に実行しとくよ、 という話で、ユニットテストとはちょっと違う気が
229 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 12:00:35 ] class Person{ MyArray!(Person) children = new MyArray!(Person)(); } とか、ひょっとして通るようになったんでせうか。
230 名前:229 mailto:sage [2007/02/16(金) 12:44:32 ] ダメだた……orz
231 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 13:24:14 ] よー考えたら、newはGCにメモリをねだる処理なんだから、 コンパイル時実行で解決できるわきゃなかったか……。スレ汚し失礼。
232 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 16:00:13 ] Web鯖みたいの作っててacceptしたSocketをスレッド作ってどんどん渡してってるんだけど GCが自動的に動いたときに Error: Thread error: cannot pause とかいってデッドロックしてしまう これはphobosかなんかのバグ?
233 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 17:41:38 ] GCが動く時には全てのスレッドを停止しなければならないとかは聞いたが、 どういう順番でどう停止させているのか、あたりに問題が潜んでる可能性はあるかも。 ただ、普通にデッドロックが発生する設計になっちゃってるせいじゃないか? という疑念がひしひしと。同期の設計を慎重に見直してみたら?
234 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 18:09:04 ] ttp://d.puremagic.com/issues/show_bug.cgi?id=645 これかな?
235 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 19:05:41 ] std.threadを見てみたが、これはいたるところ微妙すぎないか? というか書き直したほうがいいなこれ Walterタンがんばって><
236 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 01:44:30 ] >>235 ひどい奴だな、そこまでわかってるなら手伝ってやれよ。 つか別インプリメントして投稿ってのはナシなの?
237 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 01:57:01 ] std.threadをてきとうに応急処置してみたんだがどうだろうか? だれかえろいひと見てもらえると助かる grugru.mine.nu/file.cgi?v=guru_guru_2560.zip
238 名前:237 mailto:sage [2007/02/17(土) 02:07:30 ] あああ 間違った void wait(uint milliseconds) のほう変更し忘れた
239 名前:237 mailto:sage [2007/02/17(土) 02:41:23 ] grugru.mine.nu/file.cgi?v=guru_guru_2561.zip イベントのあたりがいろいろ間違ってたのをなおしました
240 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 21:30:04 ] なんちゅ〜かDっぽくなくて恐縮なんだが、 テンプレートクラスA(T)とクラスBがあったとして、 A!(B)のオブジェクトのclassinfoをたどって、 Tの(ここではB)のClassInfoなりTypeInfoって取得可能?
241 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 21:53:22 ] テンプレートクラスの引数はclassinfoだとメンバ変数nameが一応持ってはいるけど、文字列だしどうしようもない。
242 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 22:26:49 ] mixinはどうだろ
243 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 23:29:10 ] >>239 乙 しかし俺には評価できない罠 どういう問題が解決されているのかな
244 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 23:46:11 ] >>243 f17.aaa.livedoor.jp/~labamba/?BugTrack%2F26 たぶんこれが直ってるのと、スレッドハンドルがどんどんリークしていたのを修正しました
245 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 01:25:19 ] >>242 classinfo.nameはコンパイル時定数じゃないから…
246 名前:デフォルトの名無しさん [2007/02/18(日) 02:13:13 ] >>244 >>234 で絶賛放置中のBugであり>>232 の原因の疑いアリという代物じゃないっすか。 問題ないならcommitして欲しいくらいですねぇ。 私ゃ評価も翻訳もできない身ですけど・・。
247 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 02:58:27 ] >絶賛放置中 クソワロタ 身に覚えがあるし・・・
248 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 09:11:54 ] >>240 import std.stdio; class A(T){} class B{} template TypeOfA( T ) { static if( is(T U : A!(U)) ) alias U TypeOfA; else alias void TypeOfA; } int main() { alias A!(B) A_B; writefln( typeid( TypeOfA!(A_B) ) ); // modulename.B return 0; } こんなんじゃだめ?
249 名前:240 mailto:sage [2007/02/18(日) 10:35:53 ] >>248 A_Bの型からじゃなくて、A_Bのオブジェクトから取得可能か、知りたいんだよね。 Dっぽくなくて恐縮なんだが。 >>241 のゆうように無理っぽそうだが。(dクス)
250 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 01:35:01 ] SDLの話なんだが・・・ hoge.dとsdltest.dっていう名前のソースが二つあって、 以下のようにコンパイルすると、sdltest.dのほうだけ128が返るんだが・・・どうしてだろう? この128はdmdが返してるのか、SDLが返してるのか・・・それすらも分からないorz %dmd hoge.d SDL.lib #SDL.libはあらかじめPATHが通ってる %dmd sdltest.d SDL.lib ソースは以下の通り import std.stdio; import SDL int main(char[][] args) { if (SDL_Init(SDL_INIT_VIDEO)) throw new Error("Could'nt initialize video"); printf("hello,SDL!"); return 0; }
251 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 01:36:24 ] あっ、import SDLに;忘れてた・・・orz もう寝る。
252 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 01:37:51 ] あぁ・・・orz if (SDL_Init(SDL_INIT_VIDEO)) > if (SDL_Init(SDL_INIT_VIDEO) < 0) でした・・・ こんどこそ寝る。