1 名前:D1はオワコン [2012/02/20(月) 14:05:31.03 ] プログラミング言語 D (D Programming Language) について語るスレッドです。 ■前スレ D言語 Part27 toro.2ch.net/test/read.cgi/tech/1314133332/ ■本家 www.d-programming-language.org/ www.kmonos.net/alang/d/ (和訳) 最終更新 2011年2月頃 d.puremagic.com/issues/ バグ報告 ■コンパイラ www.d-programming-language.org/download.html (DMD, 本家) bitbucket.org/goshawk/gdc/wiki/Home (GDC, gccフロントエンド) www.dsource.org/projects/ldc (LDC, バックエンドにLLVM) ■参考URL dusers.dip.jp (D言語友の会) prowiki.org/wiki4d/ (Wiki4D) dsource.org/ (dsource)
357 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 13:32:47.13 ] >>356 2.059でmakeかけたらコンパイラに怒られまくったorz
358 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 15:03:26.23 ] 自分で機能追加とかする気がなければラッパーで・・・って C++じゃそうもいかんべ
359 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:27:47.44 ] >>357 2.059でもinoutとビット演算の部分なおしただけでコンパイルは通ったけど・・・
360 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 17:12:51.04 ] LF改行の中に CRLF が混じってて行番号ずれに悩んだ・・・ぐぬぬ
361 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 17:15:50.71 ] >>359 他にも↓とか直したんだけど ・final→immutable ・変数名lambda→別名 ・no reachなんたら ・final switch ・@property ↓なんぞ・・・・ bzNullContactに2引数のコンストラクタ持たせても消えない・・・ .\dynamics\contact\bzContact.d(120): Error: null dereference in function _D5blaze8dynamics7contact9generator13bzNullContact13bzNullContact6__ctorMFZC5blaze8dynamics7contact9generator13bzNullContact13bzNullContact
362 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 17:35:13.99 ] >>361 class bzNullContact : bzContact { this() { super(null, null); // 実行時にぬるぽ } } いや、コンパイラがそんなとこまで頑張らなくていいから・・・w
363 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 17:36:40.42 ] コンパイラじゃなくてオプティマイザの仕業だったかも
364 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 00:29:24.64 ] とりあえずこれでdmdは大人しくなってlib作れたけど そもそも元のソースで構造体変数にnullをセットするようになってたのはOKなのか・・・ class bzNullContact : bzContact { private bzShape s1_; private bzShape s2_; this() { super(s1_, s2_); } override void evaluate(bzContactListener listener) {} }
365 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 01:07:28.28 ] helloWorld.dを実行すると 一辺1.0のBoxが y=4.0 から自由落下した結果 y座標が3.9972〜0.9972まで変化して表示されるんだけどこれって正しい動作? 0.0028ずれてない・・・?
366 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 08:29:26.71 ] >>364 新しいdmdは賢いからそういうおかしなコードは通らない。元々許してたのがおかしいんだけど。
367 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 11:37:01.30 ] VisualD 0.3.32
368 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 19:14:41.32 ] >>365 それもおかしいし,落とす物体の初期x座標を0.01ほどずらすともはやカオス
369 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 23:34:36.20 ] ふとしたことからiniファイル読むプログラム作るはめになりそうなんだけど std.iniって結局phobosに入るの?
370 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 00:08:48.17 ] わざわざ入れるほどのものでもない ほしければ自分で取り込めばイイ 機能追加とかも考えにくいし
371 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 01:31:33.64 ] 入らないっぽいのか じゃあ自作するかー。Dなら5秒で書けるだろ
372 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 02:56:38.92 ] なんかblazeメンテされてないから最新のBox2DをBox2D4Dとかの名前で移植しようかと思ったけど 全部だとめんどいですね。ポーティングの方がいいのかな。でも元ソースがC++という・・・
373 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 21:55:08.86 ] D言語で構造体変数の参照(非ポインタ)をreturnする場合って↓みたいにすればコピーコンストラクタ走らないですか? ref const(S) f(){return m_s;} C言語で言うと↓見たいのがやりたいです const S& f(){return m_s;}
374 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 22:29:45.50 ] >>373 戻り値のref は左辺値として使う時専用みたい。 構造体Sにint x; というメンバがあるとして、 f().x = 10; // コピーコンストラクタは走ってない。 戻り値を代入すると、 auto s = f(); // コピーコンストラクタが走る。 みたいな感じ。
375 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 02:05:15.04 ] あれ・・D言語のstructがわけわからない・・・2が表示される sの参照がssにセットされるからss.aに値を代入すればs.aも連動するはずじゃないのかな コピーコンストラクタも動いてないし何が起きてるのかさっぱり import std.stdio; struct S { int a; this(int a){this.a = a;} this(this){ writeln("copy ctor!"); } } ref S f(ref S s) { return s; } void main() { S s = S(2); S ss = f(s); ss.a = 101; writeln(s.a); }
376 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 02:07:40.10 ] ss を初期化する時点でコピーされる C++ の参照でも同じじゃん
377 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 02:22:08.78 ] コピーされたなら コピーコンストラクタのthis(this);が呼ばれない? "copy ctor!"が出力されてないからthis(this);が呼ばれていない⇒コピーされていないって思ってるのだけど
378 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 02:46:11.89 ] this(this) はビットコピーが完了した後呼ばれる・・・呼ばれてないな
379 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 02:50:30.52 ] D2の構造体は複雑だなあ・・・ ideone.com/dUrpK バージョンが古いので、最新版でどうなってるかは分からん。
380 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 02:56:24.92 ] もう少し詳しく。 ideone.com/M0QFD
381 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 16:39:51.62 ] >>372 フォーラム見てるとBox2D4Dってプロジェクトはアルっぽいけど動いてなさげ box2dをDに移植するのと,blazeをD2に移植するのどっちが楽なんだろ.blazeはどの程度使いまわし出来るんだろ
382 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 18:38:09.08 ] >>381 ・blaze⇒D2 ほぼsed等の置換でD2に対応出来た 元のソースのバージョンが古いためスプライト描画等の機能が少ないと思われる。 挙動がおかしい? 最新版のbox2dとはファイル構成をはじめ結構違う ・最新のbox2d⇒D2 移植めんどい C++等でbox2Dを使用したソースを流用しやすい(古い版を使用したソースはその辺に転がってない・・) blazeのベースとなった当時よりbug fixされていて安定していると思われる
383 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 23:03:01.91 ] >>380 なんか"this"の出力多いな、と思ったんだが、opAssign の副作用で呼ばれてるのか ideone.com/harBY これ見る限りでは >>375-378 にあたる"-3-"で"this"が出力されないところだけおかしいってとこかな。
384 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 23:22:34.43 ] copy on writeとかの処理ミスってるぽい動きだなあ
385 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 16:40:05.29 ] ビットコピーだけして終了してる感じなのだろうか
386 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 21:38:32.29 ] SQLiteって今のDでだれか使ってる? すぐに使えるのなら使ってみたいんだけど。
387 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 21:45:12.81 ] 検索したら出てきた d.hatena.ne.jp/ottu/20090114/1231946126
388 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 21:52:33.17 ] 生のC用APIそのままでいいなら普通に使ってるよ
389 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 22:58:43.31 ] Dを普通に使ってるのもすごいな・・・
390 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:01:06.57 ] ウィジェット・ツールキット以外は使えるんだよ、それ以外は。
391 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 23:17:28.41 ] shiftjisのファイル読みたいんだけど、Dで手っ取り早い方法ある?
392 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 01:47:58.64 ] >>391 WindowsでUTFを使う 今も使えるかは知らない
393 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 02:30:24.25 ] >>391 std.windows.charset.fromMBSz があるじゃなーぃ ttp://dlang.org/phobos/std_windows_charset.html
394 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 12:29:56.48 ] char*に突っ込む
395 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 19:42:46.79 ] jcode.d
396 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 23:02:25.71 ] Dを何気ないツール書くのに使うときってtemplateとか素敵機能使う? 俺ベターC++的な使い方以上なかなかできない
397 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 23:23:02.36 ] むしろテンプレートだと意識してないかもしれない to!int(n) とか頻繁に出てくるし、 void foo(T)(T n) {} とか普通に書くよ
398 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 23:34:39.88 ] 逆にテンプレートがないと書けない。 C++もboostがないと書けない。
399 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 23:59:58.61 ] (T)(in T[] list, ..){ ... みたいのはよく使う
400 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 08:00:22.38 ] C++にない機能はあんまり使わないかも。 2進数リテラルとforeach、レンジ、スコープガードを使うくらいかな?
401 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 19:50:19.92 ] 組み込みの連想配列とか配列スライシングは頻繁に使う C++でもできるけど文法面がけったるいというか あと型推論 文字列もimmutableになってるのは結構便利だったりするし
402 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 20:36:49.01 ] std.xmlめ、行内にascii以外の文字があるとインデントがでたらめになりやがる どうせ直さないのはわかってるけど結局今phobosのXMLはどうなってるの?
403 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 01:25:04.60 ] C++のfriendとかどうやって移植すればいいんだ・・・
404 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 01:55:03.66 ] 普通に同じモジュールで
405 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 03:14:18.14 ] private は、同じクラスのメンバのみが参照できる、 あるいは同じモジュールのクラス/関数のみが参照できることを示します。 private メンバをオーバーライドすることはできません。 モジュールのメンバを private と宣言するのは、 C での static宣言と同等です。
406 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/05/10(木) 18:16:16.58 ] D言語のWin32 APIサポートは貧弱みたいだね。何かいいのある?
407 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 18:26:13.26 ] 最近あんまり触れてなかったからよくは知らないけど BindingsプロジェクトのWindowsAPIとか使えるんじゃね?
408 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/05/10(木) 18:30:45.82 ] >>407 サンクスヴェリーマッチョ
409 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 20:14:30.52 ] >>404 C++の元のソースがあんまり関係ないクラスのprivateメンバをチラ見したいがためにfriend指定してるっていうひどい作りなので そういうクラスたちを一緒のファイルに入れるのがすごく抵抗あるんだ しかもそんな利用法のfriendが大量に並んでるからものすごいカオス 真っ当じゃない使い方のfriendに相当する機能がないってことは設計から見直すしかないのか・・・・・
410 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 20:26:14.75 ] >>409 1モジュールに全部詰め込んでしまえばいい。
411 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 20:33:34.07 ] >>409 なんだそのカプセル化の基本を無視したコーティングはwwww 逆に興味ある。
412 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 20:34:58.13 ] >>410 頭いいな!そうする
413 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 20:36:00.10 ] publicでいいんじゃね?w
414 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 21:05:36.02 ] ここまで作った。(なげやり) ideone.com/4FCX6
415 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 21:44:12.04 ] character
416 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 23:39:20.62 ] >>414 cast(immutable)なこと出来たのかー
417 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 00:05:18.70 ] 実態は大差ないけどassumeUniqueの方がいいかもね
418 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 00:09:30.34 ] assumeUnique()の「決意表明である!」みたいな説明を見て なんとなく不安になるのは俺だけじゃないはず
419 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 00:20:53.74 ] 「コードを書く側がimmutable性を保証する」って意味だからそんなに怖がらなくても
420 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 00:22:36.71 ] 心折れそう。(まだ途中) ideone.com/MX7Lg
421 名前:386 mailto:sage [2012/05/11(金) 00:46:05.19 ] >>387 ,388 遅くなったけどありがとう 程々にがんばってみるよ
422 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 01:32:04.42 ] Linuxはiconv使えばいいかな
423 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 18:49:32.68 ] box2d4dのコードをD2用になおして動かしてみたんだ. バウンドすらしねえ
424 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 20:33:47.56 ] SWIG でなんとかならんかな〜と思ったけど 情報が少なすぎて手も足も出ない
425 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 09:27:59.41 ] これってどっちもOKじゃなかったっけ?1の方がエラーになる 1: std.stdio.writeln("xxx"); 2: import std.stdio; writeln("xxx"); ----------------------------------------------------------- Error: undefined identifier std
426 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 09:38:23.12 ] std.stdio.って付けてもimportの省略とかはできませんよ 同じ名前の関数が別モジュールで複数ある場合に「どこの」関数であるかを明確にするために使います
427 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 10:01:03.44 ] あれ?おっかしいなぁstd.conv.toはできるんだけど ↓とかv2.059でも行けた。でもwritelnの方にはつけるだけじゃだめぽい import std.stdio; void main() { writeln(std.conv.to!int("123")); }
428 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 12:19:28.09 ] >>427 ただのバグです。static importが無視されるってのは大昔からある伝統的なバグ。 最近若干改善されたから >>425 が正しくエラーになるようになった。 ttp://d.puremagic.com/issues/show_bug.cgi?id=314
429 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 12:22:26.74 ] ばぐっすかーなるほど
430 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 11:37:20.50 ] >>27-29 en.wikipedia の TLS には書いてあるのを見つけた
431 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 11:48:07.43 ] 公式の Glossary に UFCS の項目がないのは重大な手落ちだと思うんだ 誰か(ry
432 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 23:11:49.02 ] いつからだ・・・・いつから 「new 構造体()」が実体じゃなくポインタを返すようになったんだ・・・・
433 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 23:17:16.99 ] 構造体newの犠牲者がまた一人
434 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 00:01:48.44 ] 実体を返してた時代があったのか・・・ Phobosがstruct使いまくりだした時代にはもうそれがなくなってたのかな?
435 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/05/14(月) 11:10:32.63 ] 誰かD言語用の入力補完システムを作ってくれませんか?
436 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 12:56:13.75 ] iconvの使い方って、本当にこれでいいのだろうか・・・ ideone.com/3rQNj
437 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 16:09:06.52 ] WideCharToMultiByteは置き換えられない文字は?になるけどiconvは途中までの結果でエラーリターンしてくるぜ。
438 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 08:14:42.31 ] 構造体をnewしたことないわw
439 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 09:12:29.92 ] D言語で書かれた国産ソフトってある? ゲーム以外で。
440 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 10:07:56.85 ] うちの会社のデータ処理アプリ 分析やら整形やら
441 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 16:32:02.35 ] 使えるようで使えないのがD言語 大した使用の差なんてないくせにいつまでもベータ版気取りやがって!!
442 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 16:40:32.33 ] 別に値打ちこいてる訳じゃなくて あまりに魅力無いからレイプしたいと誰も思わないだけ
443 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 19:10:50.98 ] GUIがろくに書けない時点で作れるソフトの選択肢が大幅に
444 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 19:14:20.52 ] 標準入出力のパイプで通信してGUIの構築とか入力の受け取りとかやってくれるソフトないの?
445 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 19:48:02.92 ] gtk-serverとか? 破壊的変更毎に修正する手間はかけられない。 つまり普及の最大の障害人物は(ry
446 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 19:55:37.23 ] とりあえずstd.datetimeを捨ててくれたら使ってやる。 あれが必須レベルでリンクされるとか実用の妨げにしかなってない。
447 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 20:15:06.31 ] rdmdって単一ファイルにしか使えないの? importで別の.dソースファイル参照するとか出来れば幸せなんだけども
448 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 20:44:38.62 ] >>439 ttp://www.vector.co.jp/soft/winnt/util/se496559.html
449 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 21:24:35.80 ] 私に良い考えがある。 破壊的変更をしないベターC++としての、D--を作って普及させるんだ。
450 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 21:51:23.73 ] >>446 何があかんの?
451 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 07:44:25.00 ] でかいんでしょう
452 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 07:59:19.46 ] std.regexって今後小さくなるかな GCとかも
453 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:58:34.30 ] 間違いなく大きくなりますね
454 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:36:55.12 ] なんで? 今はまだ最低限の実装ってこと?
455 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 22:11:58.74 ] 世代型のコピーGCェ・・・
456 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 22:52:06.53 ] こないだうぉるたんがGCまわりいじってたけど 世代型はまだまだ手付かずと思っていいのかな
457 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 01:41:44.18 ] GCなしオプションこい GC使う機能は全て無効で
458 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 01:50:51.50 ] @nogc属性が追加されます
459 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 02:10:27.71 ] GC無しはD言語使う意味半減な気がするから、 もっと賢く軽くなって
460 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 03:17:55.19 ] 組み込み用のクロスコンパイルくらいでしか使わない機能だな
461 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 03:40:57.58 ] 関数のbodyのとこにelseって書けない? こういうのしたい void func(T)(T t) if(is(T : xxx)){ }else if(is(T : yyy)){ }else{ }
462 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 03:52:35.59 ] static ifでどう?
463 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 08:39:24.59 ] とりあえず中身は遅くてもバグだらけでもいいから インターフェイスを完璧に固めてくれ
464 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 12:42:00.76 ] >>462 そう思ってやってたんだけどなんかコンパイルエラーになるんだよなあ ideone.com/CE03v
465 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 12:54:12.32 ] >>464 staticの付け忘れのようだ。 ideone.com/YgZpQ
466 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 12:58:13.43 ] うわああああああああああああああああああああ そんなとこにもstatic・・・・orz else ifってelseifじゃなくてelse{if}だったね、そうだね・・・勉強になった
467 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 17:24:04.84 ] Phobosに内部表現そのままでキャストする関数ってないのか? *cast(type*)&varって書かないとだめ?
468 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 17:29:23.43 ] >>467 そんなことしてもメモリ配置は変わらないぞ。 型の変換をしたい →std.conv 同一の型か調べたい →is()式
469 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 18:04:09.56 ] >>467 もしかして、型情報だけ変えたい? cast()でおk。
470 名前:467 mailto:sage [2012/05/19(土) 18:12:57.52 ] 例えばuintの0x7fc00000をfloat.nanにしたいってこと cast()だとnanにはならない phobosに用意されてるのがあれば使いたいだけでポインタ通すままでもいいんだけど
471 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 18:59:27.07 ] >>470 ああ、これは確かに気持ち悪い。 ideone.com/285cb もしかして、これが必要だったりする? std.math pure nothrow @trusted real NaN(ulong payload); payload の情報を埋め込んだ Quiet NAN を作ります float に対しては、埋め込み可能な最大の payload は 0x3F_FFFF です。 doubles では 0x3_FFFF_FFFF_FFFF、 80-bit や 128-bit の real では、0x3FFF_FFFF_FFFF_FFFF が最大です。 pure nothrow @trusted ulong getNaNPayload(real x); NAN から整数値のエラー情報を取り出します。 Returns: ulong で payload を返す float に対しては、埋め込み可能な最大の payload は 0x3F_FFFF です。 doubles では 0x3_FFFF_FFFF_FFFF、 80-bit や 128-bit の real では、0x3FFF_FFFF_FFFF_FFFF が最大です。
472 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 19:29:53.82 ] 俺は*cast(T*)cast(void*)pとかやってるなあ おまじない的にvoid*挟んでる
473 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 11:49:59.59 ] そろそろideoneもDのバージョン上げて欲しいなう
474 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 19:56:00.02 ] こういうのできないかな a[0..10].func();→foreach(ref x; a[0..10])x.func();
475 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 21:15:25.28 ] UFCS的に不可
476 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 21:41:26.66 ] import std.algorithm; a[0..10].map!(x=>x.func)(); これじゃダメなん?
477 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 21:49:13.62 ] >>475 やっぱり? >>476 よいね
478 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 21:51:52.68 ] 素直に書けばいいだけなのでは・・・ ideone.com/a2yka
479 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 23:25:37.69 ] ごめんね素直じゃなくって 夢の中なら言える
480 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 23:44:42.54 ] 思考回路は ショート寸前 今すぐ 書きたいよ
481 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 23:47:08.69 ] ラムダ式って複文書けないのか・・・ 実行されないと思ったら関数が返されてたっていうね 結果()=>{}()とか何の暗号だよ
482 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 23:49:44.66 ] それがλ式
483 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 00:20:37.03 ] (args){}のargsが空の時省略できる代償 Scalaに慣れてる人は戸惑いそう それでなくとも文としての{}は単なるスコープになるし関数リテラルは=>デフォでいいんじゃ…と思ったけどコンパイル処理が
484 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 05:56:35.57 ] 結論: 関数リテラルでよかった。
485 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 08:10:16.83 ] λ式って単に記述がシンプルに書けるってだけの存在なのかな。
486 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 08:23:06.75 ] ","演算子多用してこうぜ
487 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 11:04:29.70 ] カンマ演算子は滅びるべき ()なし関数リテラルも滅びるべき ラムダは言語の機能・特徴を一言で表せる点で有意義
488 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 22:13:00.95 ] プールしたメモリを使用するnewを提供するテンプレートクラスください
489 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 07:19:51.11 ] 再利用の基準とかあるんだし 自分で作れよ
490 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 16:19:22.94 ] 条件コンパイルの version識別子を複数一括で変えたくなったとき もうちっと気の利いた手段がほしいな version -> ファイルをまたぐ -> static if + enum -> 共通ヘッダにまとめて public import -> カコワルイ
491 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 15:05:06.10 ] int型数個のみ入ったshared構造体から値コピーしてsharedを外すにはどうすればいいんですかね
492 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 15:23:30.65 ] >>491 ideone.com/xZN89
493 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 15:27:01.76 ] S d = cast()s; ideoneは古過ぎて検証目的には使えない
494 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 15:46:14.06 ] 公式サイトの和訳も、すっかり古くなってきてるなぁ・・・
495 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/05/24(木) 11:59:45.98 ] D言語をインストールする katahiromz.web.fc2.com/d/install.html D言語ソースにShift_JISを埋め込む katahiromz.web.fc2.com/d/mbconvd.html
496 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 12:10:12.52 ] まさか今になってD1の新規記事を書かれるとは
497 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/05/24(木) 13:50:22.41 ] DのWin32 APIのフルサポートをやっちゃうぞぉ! 乞うご期待。
498 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 20:04:21.59 ] >>497 public domainで既にあるしなんで今更 しかもAPI直叩きなんてポインタの嵐でDの良さ半減しちゃう どうせならDのサポートするOS全部サポートするGUIライブラリにしてよ
499 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 20:42:58.04 ] まじでなんでD1
500 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 21:08:57.23 ] 我々の界隈ではD1を選択することを逃げと呼ぶ
501 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 21:10:49.58 ] 新しいGUIライブラリなんてもういらない どうせやるなら既存のものを他のOSに対応させたり機能を洗練させたりすることに力を注いで
502 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 22:04:26.39 ] DWTはいいぞぉ、元がSWTで使い倒されてるだけあって機能不足だけはありえない
503 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 12:38:59.63 ] DWT をWindows で使う時ってどうなの? ユーザー側でのランタイムのインストールとか DLLやバイナリが水ぶくれになるとかがなければ使ってみてもいいけど よくわからんw 気にしなくていいのかな
504 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 12:54:36.64 ] Q. The executable are big A. Yes, this is still a problem. A DWT application with debug info can easily grow bigger than 10 MB. The UPX tool can often compress the executable significant. So it probably a good advice to use UPX for the programs release version. ttp://www.dsource.org/projects/dwt/wiki/FAQ ttp://www.dsource.org/projects/dwt/wiki/Installation ttp://www.dsource.org/projects/dwt
505 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 12:56:56.36 ] wxD のがいいんじゃない?
506 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 13:23:15.20 ] UPX使えとか投げやりな
507 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 13:43:58.15 ] >>504 ありがと サイズの小さいやつを見かけて もしやと思ったけど残念 >>505 更新されてるのん?
508 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 15:13:04.57 ] immutable(byte)[] bytestring = ['a','b','c']; string text = bytestring.to!string; writeln(text); writeln(text.length);
509 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 15:23:01.43 ] DWTはD2へのインストール法がわからん。
510 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 20:14:28.73 ] >>509 D1と同じやり方で使える んだけど、実はsubmoduleが最新になってないことがあるので 最新のD2で使うにはpullかけて更新しなきゃいけなかったりする git clone https://github.com/d-widget-toolkit/dwt.git cd dwt git submodule init git submodule update git submodule foreach git pull origin master <- 全submoduleのpull rake base swt wxDはTreeCtrlがまともに動かなかったのは直ってるのかなぁ
511 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 21:55:26.78 ] >>510 サイトに書いてあるインストール法とチガ(ry 冗談はさておき、pullを含めてもエラーはstd.loader。 dwt/base/src/java/nonstandard/SharedLib.d(8): Error: module loader is in file 'std/loader.d' which cannot be read 環境はarchのdmd2-git最新だけど、Linuxの開発者いないのかな。
512 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 22:13:25.07 ] 2.059タグからstd.loaderを持って来たけど、 core.thread.Thread.sleepのdepricatedで止まった。 やはり向いてないのであきらめる。
513 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 22:34:50.53 ] >>511 linuxは手出してないわ…すまぬ たぶん2.059の崩壊的変更で死んでると思う
514 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 22:54:10.77 ] >>510 お礼忘れてた。とんくす。 >>513 DはWin率が高い気がするな。
515 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 23:25:45.42 ] メリットないからな
516 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 23:56:30.22 ] linuxの場合はそれこそGtkDとかが相性良さそうな気がするな Windowsで使うとDLLだらけになって死ぬ
517 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 00:36:50.00 ] GtkDはtypedefをaliasに直す作業がいる
518 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 01:01:10.42 ] class A{} class B : A{} A b = new B(); typeof(b) ←A 実際のインスタンスの型のBが知りたい場合どうすればいい?
519 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 01:07:29.50 ] A a; if (なんか分岐) a = new B; else a = new C; こうなると「型」を得るのは無理。 実行時型情報ならclassinfoプロパティで取れる writeln(a.classinfo);
520 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 01:22:38.19 ] 可能性のある型全部にcastしてみるとか
521 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 14:53:36.76 ] classinfoどうもです
522 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 16:50:46.09 ] >>511 Ubuntu10でやってみたけどstd.loaderがなんとかとは言われなかった 何か別の問題があるのかなぁ 以前はlinuxの方メンテしてくれてた人がいたんで当て込んでたんだけど動きない… とりあえず動くようにはしてpull request出しときました
523 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 16:54:13.60 ] あれ、というかArch版Phobosにはstd.loader無いの?
524 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 17:23:36.68 ] >>522 調べたら2.059以降に削除。かなり昔にdepricatedが出てる機能。 ただ2.059で入れ直しても別のdepricatedエラーで無理だったからメンテナが居ないっぽい。
525 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 17:39:56.23 ] するとphobosは標準で動的ロードができないのか tangoの時代来るな
526 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 18:25:00.08 ] tangoはもう眠らせてやってくれ
527 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 00:29:57.33 ] というかいい加減眠ってくれ
528 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:31:27.41 ] これの処理結果はどうなる? assert([] == null); assert("" == null); assert([] is null); assert("" is null);
529 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:40:21.65 ] 1.空配列はnull 2.文字列比較演算子オーバーライドでnullと判断される? 3.空配列はnull 4.""は'\0'が末尾に付くのでnullじゃない
530 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:45:50.37 ] Dの空文字列は[]じゃないの?どちらにしてもemptyの使用を推奨
531 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:49:09.79 ] ""は長さは0だけど、C(ゼロ終端)用に、その奥にヌル文字が付いてる。ただしリテラルに限る
532 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 20:06:16.29 ] コンパイルエラー false コンパイルエラー false でw 適当ww
533 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 20:41:44.70 ] バグくさいけど 知っておかないとそのうち痛い目に遭う
534 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 22:06:59.07 ] 仕様通りじゃね? 俺は不思議には思わん
535 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 23:06:54.64 ] true true true false -- assertion error 2番目が false あるいはコンパイルエラーなら納得できるんだが 暗黙変換でもしてるのか?
536 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 23:11:05.81 ] 配列の==比較は 1. 長さをチェックして異なればfalse 2. 各要素foreachで、==演算子がfalseならfalse 3. trueを返す 2番は両方の要素数が0ならそもそも行われないので falseを返す要素が無いのでtrue
537 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 23:15:51.26 ] 公式の等値式と同一性式を参照 == nullはコンパイルエラーで弾かれてほしい
538 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 22:12:53.71 ] COMと相性悪いのか知らんがダイアログが開いた途端落ちるのは何でだぜ ideone.com/XJrlq
539 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 22:18:45.31 ] >>538 俺もwin32API使うときにそうなったけど、何が原因だったんだっけなぁ。 ポインタ周りだったかなぁ。
540 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 22:45:37.79 ] >>538 CoCreateInstanceが成功してるならIFileOpenDialogの定義が間違ってるとか? 後はIFileOpenDialogの使い方自体だけどよくわからんな Vista以降の割と新しいIFだからWinMainから呼び出さないと死ぬとか? COMはいろいろ使ったけど困ったことないなあ
541 名前:538 mailto:sage [2012/05/29(火) 23:10:18.59 ] GetOpenFileNameでも同じ結果のようだ ただ、フック掛けると古いスタイルのダイアログになるんだがそのときは成功する >>540 宣言は間違ってないし、C++でほぼ同じ感じでmainから呼び出すと成功する
542 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 23:17:06.21 ] もしかしてエラー6BA?
543 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 08:03:06.73 ] >>538 勘で答えるけどIFileOpenDialog* dlg;ではなくて?もしくはcast(void*)か
544 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/05/30(水) 08:28:54.84 ] Segmentation faultが発生する。なぜだか分からん。教えてくだされよ。 codepad.org/jrhvKyNv あと、Dで64ビットプログラムは作れますか?
545 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 08:37:34.97 ] 64bitコードを吐けるDを実装したら作れるだろ
546 名前:538 mailto:sage [2012/05/30(水) 10:57:35.81 ] >>542 もうちょっとkwsk >>543 Dではinterfaceはclass同様ポインタなんだ そもそもそこの宣言が間違えてたらダイアログを開くことすら出来ない(Access Violationでね) 問題なのはダイアログが表示されてから落ちることなんだよね
547 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 12:07:34.51 ] >>546 詳しくは忘れたけど GetOpenFileNameやリストビューなんかのWinのコントロールは 何のためか忘れたけど内部で必ずエラーコードとしてトラップされる 値を返す構成になってて、そのコードが6BAって感じだったはず 前者はダイアログが表示されてから、後者はフォーカスを持ったら 値が返ってくる感じになってる
548 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 12:36:34.07 ] >>544 プログラムが終了した時にデストラクタが呼ばれるけど、その時には標準出力が閉じてるから。 内部のオブジェクトがすぐに解放されないのは、その時点で本当に使われてないのか判断できないから。 あと、適当にリファクタリングしてみたw 重複コードがどうにかならないか検討中・・・ codepad.org/QXAeG2aJ
549 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 12:39:20.26 ] >>548 追記 型比較するだけなら、.nameいらないみたい。
550 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/05/30(水) 13:08:07.27 ] >>548-549 有難うございます。GCってあまり賢くないのですね。。。
551 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 13:11:34.91 ] >>550 いやいや。 単純に内部のオブジェクトが別の場所で参照されてる可能性を考えてるだけ。
552 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/05/30(水) 13:43:28.67 ] RbArrayの中身がうまく解放されるようにするにはどうすればいいですか?
553 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 14:10:52.74 ] >>552 単純な方法は、RbArrayのデストラクタで、内部のオブジェクトを明示的にdeleteする。 ただし、親のRbArrarも明示的にdeleteされる必要がある制約が付く。
554 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/05/30(水) 14:34:53.00 ] これってバグかなあ。フォーラムで報告した方がいいかなあ。
555 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/05/30(水) 14:47:49.93 ] 報告したよ。 forum.dlang.org/thread/vndvjforbvpnhhgilixi@forum.dlang.org#post-vndvjforbvpnhhgilixi:40forum.dlang.org
556 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 15:40:17.11 ] プログラム終了時のデストラクタでオブジェクトの参照をするのは もともと正しく動かないと言われているよ
557 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 15:52:26.52 ] さらにリファクタリング。 と、D1/D2両対応する試み。(中途半端w) codepad.org/pkCB9GNK ・・・結構大変だったの!w
558 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 15:56:03.65 ] んー。不具合なのかな。 リソース持つ物はそういうもんだと思ってた。
559 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 16:06:29.44 ] ところがドッコイ、仕様です! www.kmonos.net/alang/d/2.0/class.html GC が参照されなくなったオブジェクトを必ず解放するという保証はありません。 さらに、 GC がデストラクタを呼び出す順番も保証されません。 これはつまり、 GC管理下にあるオブジェクトへの参照をメンバとして持つオブジェクトのデストラクタを ガベージコレクタが呼び出すときには、それらの参照は既に無効となっている可能性があるということです。 従って、 デストラクタからはメンバオブジェクトを参照できません。 この規則は、 autoオブジェクトや DeleteExpressionで削除されるオブジェクト (GCが自動で解放することはないので、参照は必ず有効)には当てはまりません。
560 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 16:22:05.48 ] >>559 って、一般的なGCのあるオブジェクト指向言語だと当たり前だと思ってた。 Disposeせな。
561 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 16:26:35.12 ] 当たり前かな? GCも作成順と逆順を保証してくれるのは結構ある気がする。
562 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 16:34:39.16 ] >>561 賢いのもあるんだなぁ でもそうすると、複数オブジェクトの中で参照が循環しちゃうと、誰にも開放できないのが出来ちゃうんじゃないか? 親が消えれば必ず子が消えなければいけないというのも、不便かも。
563 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 16:37:40.70 ] >>562 参照カウンタじゃあるまいし。
564 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 17:20:23.19 ] でもそれでも循環参照が発生すれば結局segfaultも発生すると思うよ
565 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 19:03:53.80 ] 日本語訳が更新されたっぽいぞ! www.kmonos.net/alang/dd/
566 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 19:34:34.94 ] 「Dがもう一個」の名言が消されてるからむむ、と思って概要を見に行ったら あのマスコットはまだ頑張っていて絶望した
567 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 19:42:16.98 ] >>555 バグじゃないよGC持ってる系の言語初めて?
568 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 20:25:02.27 ] 今日、D1の仕様和訳が、誤訳ってレベルじゃ無いってくらい、間違いだらけなのに気づいた。 まあ、D1だけどねw
569 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 20:49:17.52 ] 暇にかまけて作ってしまった。後悔はしていない。 ttp://www.dotup.org/uploda/www.dotup.org3038466.png っていうか、オリジナルのテイストって結構難しいな。
570 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 20:50:42.09 ] >>569 ああ・・・次はアクションゲーム部分だ・・・
571 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 20:58:10.10 ] え?アクション?えぇ??ちょっ・・・。Orz うーん。D自体を触ったのが大分前なんだよなぁ。うーん。 ウィンドウが出て画像が貼れるライブラリってどれなんだろう。 SDLはよくわからないから普通のGUIキットがいいなー。速度、度返しで!
572 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 21:08:27.31 ] AliasThisテンプレート。 D1でD2のAlias thisの再現をする試み。 全然洗練されてないけど出しちゃうww codepad.org/ombQzFd1
573 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 21:12:01.39 ] アクションゲーム作るなら普通のGUIツールキットは使いづらいんじゃないかなぁ それこそSDLとかのほうがやりやすい
574 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 22:00:21.15 ] せっかくだし、共同制作でもしようぜ! とりあえず仕様決めよう。 sourceforge.jp/projects/d-action/wiki/FrontPage アクションゲームでいいんだよね? どんなアクションゲームにする? あと、>>569 とは別人です。
575 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 22:25:45.01 ] >>569 の画像って使ってもいいのかなー。
576 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 22:28:09.04 ] dxlib4dとか最近あるよ 簡単だし、いいんじゃないかな
577 名前:569 mailto:sage [2012/05/31(木) 02:41:56.42 ] >>573 うーん。そうですかねー。うーん。 >>574 アカウントとったんですか!!!!! 仕事早すぎですよ。 >>575 欲しければMQO上げますけど。元画像の版権のことは知らない! ちなみに、トランスフォーム済みでボーンとかは入ってません。 ムラムラして1時間で作ったんで・・・。 >>576 ほえー。それは楽そうですね〜。
578 名前:577 mailto:sage [2012/05/31(木) 02:57:20.55 ] ファイルで上げるの面倒なので、いでおんに投げておきました。 ttp://ideone.com/dH3p0 主要データをまるっとテキストエディタにコピーして、.mqoのファイルに保存してください。 メタセコイア良すぎる!! ライセンスは面倒なので以下を適応します。 ttp://www.kmonos.net/nysl/nysdl.ja.html そこの作者の人の成果物にはお世話になったので自分も真似てみるてすと。 何が出るかな!何が出るかな!!
579 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/05/31(木) 10:59:08.77 ] this(int i) { ... } this(long l) { ... } this(double d) { ... } このようなコンストラクタの呼び出しのあいまいさを回避する方法ありますか?
580 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 12:26:32.97 ] >>577-578 まさかのハードコードww まあ、実用上は問題ない。 画像が欲しかったのは、プロジェクトロゴに使いたかったからで、実際のゲームに使われるかどうかは知らないw
581 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 12:34:39.37 ] >>579 あいまいさの意味はわからないが、 呼び出し側で、型指定すればいい。 引数に、 cast(int) cast(long) cast(double) をつける。
582 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/05/31(木) 12:44:29.60 ] >>581 有難う御座います。
583 名前:538 mailto:sage [2012/05/31(木) 14:06:37.21 ] バカな・・・ -L/SUBSYSTEM:WINDOWS:4.0で直った・・・だと・・・ M$は俺に謝罪しろ!今すぐにだ!
584 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 14:23:37.51 ] >>583 defファイル渡してなかったってオチ?w
585 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 14:35:25.51 ] >>583 4.0ってだいぶ古いぜ? 指定するなら少なくとも5.0(Windows 2000)にしたいし、それで動かないならAPIの宣言が古いんだろう。
586 名前:538 mailto:sage [2012/05/31(木) 14:51:10.07 ] >>584 VisualDに任せっきりなのでdefファイルてのは分からん >>585 どっかで見たのが4.0だったんで特に意味は無い でもありがとう5.0かそれ以上にしとく
587 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 18:52:23.64 ] >>579 あいまいになりようがなくね?
588 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 20:23:19.10 ] >>580 あ、それなら使ってもいいですよ。 あと、一般的な汎用の大の字のモデルを作るのはそんな難しくは無いですね。
589 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 20:44:12.44 ] >>580 あ、そうそう。ハードコードじゃないです。 メタセコイアっていうモデリングソフトがあるんですけど、それのLE板で作りました。 www.metaseq.net/metaseq/ とてーもいいソフトなのでムラムラしたらためしてみるといいと思います。 俺は、シェア版欲しいんだけど、迷ってるところです。
590 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 22:44:37.01 ] import std.net.curl;すると隣家に怒られるんだけどもしかして外部のライブラリを拾ってこないとだめ? 環境はwindowsです
591 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 02:09:34.61 ] やってみたけどバイナリ拾ってきて自分でimplibしたら一応使えた
592 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 09:21:34.65 ] Ubuntu Linuxでもリンクエラーが出る % dmd -ofdt dt.d -L-lcurl /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libphobos2.a(curl.o): In function `_D3std3net4curl4Curl19_sharedStaticCtor28FZv': std/net/curl.d:(.text._D3std3net4curl4Curl19_sharedStaticCtor28FZv+0xf): undefined reference to `curl_global_init'
593 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/06/01(金) 16:24:38.48 ] D1とD2を両方インストールする katahiromz.web.fc2.com/d/instboth.html
594 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/06/01(金) 16:28:02.53 ] AliasThis(修正済み) codepad.org/FyQaxFrm
595 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 16:43:10.26 ] dlang.orgもdigitammars.comもどうしちゃったん?
596 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 16:53:31.72 ] >>594 おお、修正したか!
597 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/06/01(金) 17:01:03.40 ] opIn, opIn_rがD1で動作しないみたいだが。。。
598 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/06/01(金) 17:19:12.65 ] >>595 Digital Daemonというタイトルで戦闘機に乗った赤い悪魔が表示される。
599 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 17:19:48.95 ] >>597 あー、そういえばin演算子だけ、戻りの型が元の型と違うんだった。 is(Base T: T[])なら、T opIn(Base)だw あとopInAssign()もいらなかったw
600 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 17:20:50.46 ] いや、T* opIn(Base)か? どっちかなw
601 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 17:25:13.48 ] ちげえ、T* opIn(T)かw もう、分けわかんなくなってきた。
602 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 17:27:05.88 ] と思ったら、もう修正してあるのか・・・ すまん。
603 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/06/01(金) 17:33:08.27 ] opAssignを削った。 codepad.org/ag57xGM2
604 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/06/01(金) 17:36:35.73 ] >>603 ごめん、間違えた。
605 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 17:40:38.89 ] >>603 ん? よく見たら戻りの型がポインタじゃない?
606 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/06/01(金) 17:45:05.82 ] >>594 が正しくて、>>603 が間違いです。
607 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 18:57:45.04 ] 超オッケー! codepad.org/prMuyK0w
608 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 19:37:44.19 ] なんで今さらD1なんかで盛り上がってんだ?
609 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 19:38:20.51 ] 陰謀を感じる
610 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 19:55:04.89 ] D1が完全終了するのは今年末だっけ? 半年しかないぞ
611 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 21:37:04.62 ] いつも終わったところで車輪の再発明するそういう趣味なんだよほっといてやれ
612 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 00:37:47.20 ] >>569 >>574 メタセコイア用のローダ書いたのでよかったらお使いやがれください。 ttp://dl.dropbox.com/u/1630843/hp/d/mqo_loader.zip
613 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 01:08:33.74 ] >>612 超いい仕事した
614 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 01:37:55.66 ] >>612 おー、まわる〜。
615 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 02:05:51.07 ] >>612 すげー。 俺もパースしようと何度か挑戦したけど、いつもエネルギー切れて中途半端になってしまう。 めちゃくちゃ感動した。
616 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 05:50:05.78 ] コードがちゃんとDっぽい つーかこれに地味に感動した→ "Dさん.mqo".read.to!string 俺もmqoパーサ書いたけどmqoってsjisなんだよなあ readLineで読んでるんだけどファイル中に全角文字が来ると落ちる・・・
617 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 08:23:00.41 ] immutableなデータをdeleteするなんてことが許されていいんですか!?
618 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 18:19:43.63 ] >>612 sworks.compo.*も自作?
619 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 03:18:52.09 ] >>613-616 あざーーす >>616 なんちゃってsjis対応しました。 ttps://dl.dropbox.com/u/1630843/hp/d/mqo_loader.zip utf8と32以外の文字コードなんて滅びてしまえばいいのに >>618 自作です。シコシコ作っては再利用できそうなのを集めてるんだけど意味フなバグが散見されます。 で、次は動かしたいと思うのが人情なんだが、アニメーションを記述するのでメジャーなのってなにがあるんだろう?
620 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 04:21:43.03 ] 3Dの一般的なモーションデータならbvhらしいけど、メタセコ特化ならmikotoやMMDの形式はどうだろう
621 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 12:38:45.42 ] sjis対応乙したー 使う場合ライセンスとかどう扱えば良い?
622 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 14:14:04.32 ] socketstreamのavailableが常に0で来る・・・
623 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 16:01:59.28 ] std.streamのreadLineはseekableなstreamにしか"\r\n"改行対応してないせいで seekableではないstreamであるsocketstreamを使ってHTTPやろうとしても http応答のヘッダ最後の空行を読みきれなくて(\rだけ読んで満足してそのあとの\nを読まない) 本体データの先頭に"\n"が混入するんだけどスマートな回避策ないですか?
624 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 16:06:04.84 ] UTF16を可変長にしたやつが悪い CJKの要求全部まとめて突っぱねればよかったんや