D言語 Part24
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2010/01/26(火) 00:06:57■前スレ
http://pc12.2ch.net/test/read.cgi/tech/1253443684/
■本家
ttp://www.digitalmars.com/d/
ttp://www.kmonos.net/alang/d/ (和訳)
■コンパイラ
http://www.digitalmars.com/d/dcompiler.html (DMD, 本家)
http://dgcc.sourceforge.net/ (GDC, gccフロントエンド)
http://www.dsource.org/projects/ldc (LDC, バックエンドにLLVM)
■参考URL
ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究)
ttp://f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF)
ttp://dsource.org/ (dsource)
ttp://tinyurl.com/candcpp2d2 (C/C++に疲れた人のD言語2.0)
ttp://www.kmonos.net/alang/wnd/ (わかったつもりになるD言語)
ttp://shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか)
ttp://shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座)
ttp://www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画)
ttp://www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games)
ttp://dusers.dip.jp (D言語友の会)
ttp://www.wish.sakura.ne.jp/desuno/game/Drawing (PrincessDrawing! D言語で作られた横スクロールSTG)
>>2へ続く
0002デフォルトの名無しさん
2010/01/26(火) 00:08:21ttp://forums.codeblocks.org/index.php?board=20.0 (Code::Blocks)
ttp://www.dprogramming.com/entice.php (Entice Designer)
ttp://www.dsource.org/projects/descent (Descent)
ttp://www.dsource.org/projects/poseidon (Poseidon)
ttp://alexanderbothe.com/?id=27 (D-IDE)
ttp://codepoet.sourceforge.net (CodePoet ※計画中)
■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000
■その他関連スレ
Eclipse統合M28【Java/C/PHP/Ruby/Python/Perl】
http://pc12.2ch.net/test/read.cgi/tech/1247051216/
eclipseってそんなに良いか?【エクリプス】
http://pc11.2ch.net/test/read.cgi/tech/1099300344/
統合開発環境Eclipseプラグイン開発QA
http://pc11.2ch.net/test/read.cgi/tech/1081517094/
"Code of the Nerds" Digital Mars C/C++
http://pc11.2ch.net/test/read.cgi/tech/1044210976/
0003デフォルトの名無しさん
2010/01/26(火) 00:10:200004デフォルトの名無しさん
2010/01/26(火) 00:12:02乙です
0005デフォルトの名無しさん
2010/01/26(火) 07:32:590006デフォルトの名無しさん
2010/01/26(火) 13:02:510007デフォルトの名無しさん
2010/01/26(火) 21:31:21最近のD事情がまとめられているようです。
0008デフォルトの名無しさん
2010/01/27(水) 01:39:260009デフォルトの名無しさん
2010/01/27(水) 02:21:160010デフォルトの名無しさん
2010/01/27(水) 06:58:120011このくらいテンプレにしとこうぜ(レスカットされた人ごめんね)
2010/01/27(水) 10:48:21Dに未来はある?
962 名前:デフォルトの名無しさん投稿日:2010/1/21(木) 19:21:55
>>954
Dに関してははっきり「ない」と言える
963 名前:デフォルトの名無しさん投稿日:2010/1/21(木) 19:59:47
Pythonを知ってるプログラマが100人いるとすればDは0.02人くらい
964 名前:デフォルトの名無しさん投稿日:2010/1/21(木) 23:18:39
pythonと比べるなんてpythonをバカにしているとしか思えない
965 名前:デフォルトの名無しさん投稿日:2010/1/21(木) 23:26:03
Python を 100 とすると
VB 1000000
PHP 500000
C/C++ 100000
Java 50000
Ruby 1000
D 0.02
968 名前:デフォルトの名無しさん投稿日:2010/1/22(金) 03:16:14
D弱杉www
969 名前:デフォルトの名無しさん投稿日:2010/1/22(金) 23:38:53
Dは永遠に迷走し続ける
0012デフォルトの名無しさん
2010/01/27(水) 12:38:080013デフォルトの名無しさん
2010/01/27(水) 20:01:15うぉるたんはそろそろヒゲを生やすべき
0014デフォルトの名無しさん
2010/01/29(金) 00:27:340015デフォルトの名無しさん
2010/01/29(金) 01:32:00>>7と>>9も載せてるが、ttp://www.kmonos.net/pub/Presen/zatsu5.pdf
五月予定。
0016デフォルトの名無しさん
2010/01/29(金) 03:13:280017デフォルトの名無しさん
2010/01/29(金) 23:06:31thx
じゃあAndreiの本はD3.0のガイドにもなるのだろうか
英語苦手なんだよなー
0018デフォルトの名無しさん
2010/01/30(土) 00:52:00発売どんどん延期してるし,最後に触れる可能性はあるか
0019デフォルトの名無しさん
2010/01/30(土) 08:30:59D3.0のガイドにもなる……か。
確かに脱稿時点でD2.0の仕様を固定と書かれているので、
その可能性は否定できないな。
>>18
同感。
0020デフォルトの名無しさん
2010/01/30(土) 17:43:51* Clarification: function returns are not lvalues
* Added shared static constructors/destructors, regular static constructors/destructors now deal with TLS
* Add -map command line switch
* Add @disable attribute
* Delegates and function pointers may be used in CTFE
* Delegate literals and function literals may be used in CTFE
* Lazy function parameters may now be used in CTFE
* Slicing of char[] arrays may now be used in CTFE
* added static/final function implementations to interfaces
* added getOverloads, identifier, and isStaticFunction traits.
* ModuleInfo changed from class to struct
* Bugzilla 3556: version(CTFE)
* Bugzilla 3728: getOverloads and identifier traits
0021デフォルトの名無しさん
2010/01/30(土) 18:56:02乙
なんかいろいろ来たな
@disableって何だろ?
0022デフォルトの名無しさん
2010/01/30(土) 19:48:56かなり前にこのスレで話題に出てたな
0023デフォルトの名無しさん
2010/01/30(土) 22:23:150024デフォルトの名無しさん
2010/01/31(日) 04:09:39乙。
これでBindings for the Windows APIを最新版で使える……。
0025デフォルトの名無しさん
2010/01/31(日) 08:17:14前に話していたのは
interface A{
int f(int i) in{assert(i>0);}
out(r){assert(r>0);}
}
みたいに非final/非staticなメソッドじゃなかったか?
何で普通のメソッドが含まれていないんだ・・・
0026デフォルトの名無しさん
2010/01/31(日) 16:10:11@disableはc++1xの=deleteみたいだぜ
0027デフォルトの名無しさん
2010/01/31(日) 16:11:55使用禁止にするためにprivateに押しやっても
効果が出ないので@disableみたいなのがいるんだろう
0028デフォルトの名無しさん
2010/01/31(日) 16:15:38ソースで書いてくれ
それじゃわからん
0029デフォルトの名無しさん
2010/02/01(月) 11:54:45場合はどうすればよいですか?
例えば
sort!(Sorter(10), SwapStrategy.unstable)(List);
みたいにして、Listの中身を10からの差の絶対値でソートするみたいな
処理をしたいのです。
0030デフォルトの名無しさん
2010/02/01(月) 14:07:19schwartzSort
0031デフォルトの名無しさん
2010/02/01(月) 16:49:30http://twitter.com/mono_shoo/status/8487179130
0032デフォルトの名無しさん
2010/02/01(月) 16:51:41003329
2010/02/01(月) 17:03:00でも実は本当にやりたいのは10がローカル変数だったりする場合なのです。
int[] ary = [1,5,9,13,18,23];
int Num = 10;
sort!q{abs(Num-a) < abs(Num-b)}(ary);
writeln(ary);
とすると
Error: static assert "Invalid predicate passed to sort: abs(Num-a) < abs(Num-b)"
instantiated from here: sort!("abs(Num-a) < abs(Num-b)",cast(SwapStrategy)0,int[])
なエラーになってしまいます。
これをC++でのbindみたいに何とかすることはできませんでしょうか。
0034デフォルトの名無しさん
2010/02/01(月) 17:28:54int[] ary = [1,5,9,13,18,23];
int n = 10;
bool f(int a, int b) { return abs(n-a) < abs(n-b); }
sort!f(ary);
writeln(ary);
0035デフォルトの名無しさん
2010/02/01(月) 21:02:460036デフォルトの名無しさん
2010/02/01(月) 21:09:460037デフォルトの名無しさん
2010/02/02(火) 00:06:22finalまたはstaticならvtblの衝突はない、という話だったかと思う
でも名前の衝突は回避案が見つかったのか?
interface A { static void f(){} }
interface B { static void f(){} }
class C : A, B {...}
としたときのC.fの扱いとか
0039デフォルトの名無しさん
2010/02/02(火) 18:54:17int[] ary = [1,5,9,13,18,23];
int Num = 10;
sort!((int a, int b){return abs(Num-a) < abs(Num-b);})(ary);
writeln(ary);
0040デフォルトの名無しさん
2010/02/03(水) 23:00:25>>これでBindings for the Windows APIを最新版で使える……。
使ってみた。確かに数箇所コンパイラに指示された所を修正するだけで使えましたさ…だがッ!!
(d3d10.d の ID3D10Device の中の)
誤>> void ClearRenderTargetView(ID3D10RenderTargetView pRenderTargetView, FLOAT[4] ColorRGBA);
正>> void ClearRenderTargetView(ID3D10RenderTargetView pRenderTargetView, FLOAT[4]* ColorRGBA);
……なんだぜッ…(dmd2の場合)!!
…や、みんなもうご承知かもしれませんが3日ほど詰んでたので一応…
0041デフォルトの名無しさん
2010/02/03(水) 23:29:11って例外が投げられたのですが、どう対処してよいのやら・・・
どんな原因が考えられます?
0042デフォルトの名無しさん
2010/02/03(水) 23:49:080043デフォルトの名無しさん
2010/02/03(水) 23:51:11そのまんま、循環依存してるんじゃないの?
循環依存しないようにプログラム書いたらいいんじゃない?
0045デフォルトの名無しさん
2010/02/04(木) 00:46:10import foo;
int fuga;
static this() {fuga = foo.bar + 10;}
module foo;
import hoge;
int bar;
static this() {bar = hoge.fuga + 10;}
どちらの static this() を先に実行したらいいかわからないため、循環依存の例外が発生する
004641
2010/02/04(木) 01:11:04なるほど! よく解りました^^
しかしながら相互importで例外が発生するのなら、
素直に初期化関数を作ったほうが良さそうだ。。。
0047デフォルトの名無しさん
2010/02/05(金) 10:05:35http://d.hatena.ne.jp/repeatedly/20100201/1264972016
流行ってるのか
0048デフォルトの名無しさん
2010/02/05(金) 18:11:50004924
2010/02/05(金) 20:55:54d3d10.d の ID3D10Device の中の定義ミスには気付かなかった。
サンキュー直しとく。
005040
2010/02/07(日) 01:14:41これは、回避可能なのか…?
0051デフォルトの名無しさん
2010/02/07(日) 01:20:24諦めてFLOAT*にしてしまってはどうか
0053デフォルトの名無しさん
2010/02/07(日) 23:28:410054デフォルトの名無しさん
2010/02/07(日) 23:32:53dmd=言語仕様になってる現状そんなもんあっても仕方がない
0055デフォルトの名無しさん
2010/02/07(日) 23:40:44これを再開させよう
0056デフォルトの名無しさん
2010/02/08(月) 00:15:39あ、 >>40 と >>50 は別の話。書き方が悪かった。スマソ。
>>40 は FLOAT[4]* でたぶんいけてる感じ。
>>50 の方は「extern(C++)のinterface内の関数呼び出しに失敗(別の関数を呼んでしまう?)する」
と言うdmdのバグ。おいらにゃお手上げです。
0057デフォルトの名無しさん
2010/02/08(月) 00:28:18でも、ライブラリ周りとか統合できないの?
あとは他言語とのDLL介した連携とかでGC絡みがよくわからん・・・
DでDLL作らん方がいいんだろうか
0058デフォルトの名無しさん
2010/02/08(月) 19:55:23GCを使うのは、一つのDLL内で完結する部分のみだね。
連携部分はmallocとかAPIとかで別個に処理。
0059デフォルトの名無しさん
2010/02/08(月) 21:28:27extern (C++) の interface って DirectXのやつ?
extern (System) にしてもだめ?
006056
2010/02/08(月) 22:15:06006156じゃなくて59
2010/02/08(月) 22:16:430062デフォルトの名無しさん
2010/02/08(月) 22:38:14なるほど、結局そうなるのか。
DLLのサンプルでマルチスレッド未対応になってるのは、
Dの管理外スレッドからのコールはそれこそ”リソースを管理できない”から
falseを返してると勝手に思ってるんだけど、これで合ってるのかな
D言語間でもGCのハンドルを引き回したり・・・DLLは何か後で嵌まりそうだ
0063デフォルトの名無しさん
2010/02/08(月) 23:30:33shared_ptr最高。でもC++はもう使いたくない……
0064デフォルトの名無しさん
2010/02/08(月) 23:53:050065デフォルトの名無しさん
2010/02/09(火) 02:18:56統一フレームワークっぽいのがあれば何かと便利な気がする
複数のD系統DLL使ってたらどうすれば良いのやら・・・
お互いのインターフェイスとかで混乱しそうorz
0066デフォルトの名無しさん
2010/02/09(火) 03:25:320067デフォルトの名無しさん
2010/02/09(火) 08:55:18>統一フレームワーク
Dの弱点はそれだよねえ。.NET使うと「どの環境でも共通して使えるライブラリ群の強み」って言うのを強く感じる。
006865
2010/02/09(火) 10:43:03せめてメモリ周りくらいは何か共通基盤が欲しい。
phobos/tangoとかライブラリ関係なく使えるのが良いんだけど難しいんだろうか。
今は混ぜるな危険って感じがする
0069デフォルトの名無しさん
2010/02/09(火) 11:06:47共通して使えるってなると仮想マシンみたいなもんの上で実行する必要が出てくるんじゃないかなと。
あるいはランタイムライブラリ必須になったり。
0070デフォルトの名無しさん
2010/02/09(火) 12:54:390071デフォルトの名無しさん
2010/02/09(火) 13:17:430072デフォルトの名無しさん
2010/02/09(火) 19:37:15何でtangoはあんなに使い勝手悪いんだろう
命名規約のせいなのか
何にでもclassを持ち出すからか
0073デフォルトの名無しさん
2010/02/09(火) 19:58:070074デフォルトの名無しさん
2010/02/09(火) 22:55:41>命名規約のせいなのか
なぜかPHPのことを思い出した
0075デフォルトの名無しさん
2010/02/10(水) 09:21:38アルファベット順にソートされた形で、foreachで回したいです。
どうやればよいのでしょうか?
0076デフォルトの名無しさん
2010/02/10(水) 12:28:52auto v = aa[k];
...
}
0077デフォルトの名無しさん
2010/02/10(水) 12:35:04thx
keyだけをforeachで回すという発想がなかったです。
0078デフォルトの名無しさん
2010/02/10(水) 17:28:590079デフォルトの名無しさん
2010/02/10(水) 19:56:280080デフォルトの名無しさん
2010/02/10(水) 21:11:23たとえば上位4バイトをhash値でテーブルにして
残りの下位バイトをhash重複のリンクリストにすれば最強
0081デフォルトの名無しさん
2010/02/12(金) 02:00:160082デフォルトの名無しさん
2010/02/12(金) 02:48:30(´・ω・`)あ?
0083デフォルトの名無しさん
2010/02/13(土) 01:42:35http://www.dsource.org/projects/phobos/changeset/1419
opUnary, opBinary
0084デフォルトの名無しさん
2010/02/13(土) 01:49:080085デフォルトの名無しさん
2010/02/13(土) 08:43:56SDLはライセンスが面倒くさそうなのが気になります。
0086デフォルトの名無しさん
2010/02/13(土) 09:43:04あとはDXライブラリとかAllegroとか
0087デフォルトの名無しさん
2010/02/13(土) 11:05:05どうもです。
ライセンス関係はあまり知識がないのですが、LGPLはよく理解した上で使わないと痛い目に遭いそうな怖さを感じます。
DXライブラリを使う事にします。
0088デフォルトの名無しさん
2010/02/13(土) 13:01:27int member = void;
}
これできないのですが代替手段ありますか?
0089デフォルトの名無しさん
2010/02/13(土) 13:08:350090デフォルトの名無しさん
2010/02/13(土) 23:40:300091デフォルトの名無しさん
2010/02/14(日) 11:25:260092デフォルトの名無しさん
2010/02/15(月) 07:45:260093デフォルトの名無しさん
2010/02/15(月) 17:53:19デリミタを残したまま分割することってできないのでしょうか。
0094デフォルトの名無しさん
2010/02/15(月) 18:01:510095デフォルトの名無しさん
2010/02/15(月) 19:26:260096デフォルトの名無しさん
2010/02/15(月) 21:01:580097デフォルトの名無しさん
2010/02/15(月) 22:49:410098デフォルトの名無しさん
2010/02/16(火) 01:12:150099デフォルトの名無しさん
2010/02/16(火) 03:47:350100デフォルトの名無しさん
2010/02/16(火) 05:27:280101デフォルトの名無しさん
2010/02/16(火) 07:15:450102デフォルトの名無しさん
2010/02/16(火) 07:19:390103デフォルトの名無しさん
2010/02/18(木) 06:40:44DXライブラリってC言語用じゃ……?
0104デフォルトの名無しさん
2010/02/18(木) 06:41:36ポーティングはそんなに難しくないと思うけど。
0105デフォルトの名無しさん
2010/02/18(木) 07:51:11C#用のDLLで使えるらしいです。
ttp://d.hatena.ne.jp/imokenpi00/20100109/1263001470
0106デフォルトの名無しさん
2010/02/19(金) 00:10:17AssignOverride a = null;
a = new AssignOverride;
でアクセス違反になって頭抱える俺を見て嘲笑いたいの?
というかこれで落ちるのって言語仕様的にどうなんだ
0107デフォルトの名無しさん
2010/02/19(金) 00:42:380108デフォルトの名無しさん
2010/02/21(日) 15:33:150109デフォルトの名無しさん
2010/02/21(日) 20:11:120110103
2010/02/22(月) 07:33:42準備するメンドイな。
宣言とかもイチイチ書かなくちゃいけないとか。
D言語からでもDXライブラリを使える事が分かっただけでもマシか。
0111デフォルトの名無しさん
2010/02/22(月) 08:18:06>>105のサイトにコンバート済みのヘッダおいてあるじゃん。
0112デフォルトの名無しさん
2010/02/22(月) 10:09:13import std.array;
import std.range;
class Hoge {
void f(R)(R r) if (isInputRange(R))
{
auto app = appender(ranges_);
app.put(r);
}
private:
XXX[] ranges_;// XXXは何にすれば?
}
インターフェイスを継承する方法しかないんですかね?
0113112
2010/02/22(月) 15:06:530114デフォルトの名無しさん
2010/02/22(月) 15:28:10そのコードが無意味すぎて何したいのか分からないけど
class Hoge
{
void f(R)(R r) if (isInputRange!(R))
{
static R[] ranges_;
auto app = appender(&ranges_);
app.put(r);
}
}
は?
0115デフォルトの名無しさん
2010/02/22(月) 15:49:35それだとRの型毎にranges_が存在する事になってしまいます。
デリゲートの「引数と戻り値の型が合っていれば、どんな関数でも保持できる」のように、
「conceptが合っていれば、どんな型でも保持できる」方法があったら便利だなーと思いました。
0116デフォルトの名無しさん
2010/02/22(月) 16:18:32concept関係無しに使えるVariantとかは駄目なの?
0117デフォルトの名無しさん
2010/02/22(月) 16:23:55へ?
0118デフォルトの名無しさん
2010/02/22(月) 16:47:17Variantは格納はできても、取り出すときに型情報が必要になってしまいます。
0119デフォルトの名無しさん
2010/02/22(月) 17:44:55GoのInterfaceみたいなのが欲しいという感じ?
今だと無理な気がするし,あまり必要性がない気もする
0120デフォルトの名無しさん
2010/02/22(月) 18:33:24そんな感じです。
OOPとtemplateを混ぜて使おうとしてるから必要になるのかなぁ。
そもそもここに無理があるのか・・・。
0121デフォルトの名無しさん
2010/02/22(月) 19:34:17this(){
buf = new WrapperBase[0];
}
void chain(R)(R r){
buf ~= new Wrapper!(R)(r);
}
/**/
private:
static abstract class WrapperBase{}
static class Wrapper(R)if(isForwardRange!(R)&&isImplicitlyConvertible!(ElementType!(R),T)):WrapperBase{
this(R r){this.r = r;}
private:
R r;
}
WrapperBase[]buf;
}
void main(){
auto hoge = new Hoge!(char)();
hoge.chain("test");
/**/
}
「conceptが合っていれば、どんな型でも保持できる」筈。
んでさー、ForwardRangeでないInputRangeってどうやって作ればいいの?
0122デフォルトの名無しさん
2010/02/22(月) 20:14:13「conceptが合っていれば、どんな型でも保持できる」という言葉をそのままの意味でとればそうですが、ダックタイピングの機能が残っていないと意味がないです。
つまり、WrapperBaseの配列型であるbufに対して、conceptを満たす操作ができないです(buf[0].frontとか)。
InputRangeはconceptの例として出しただけです。
0123デフォルトの名無しさん
2010/02/23(火) 05:12:100124デフォルトの名無しさん
2010/02/23(火) 08:34:07WrapperBaseからRへクロスキャストできるようにしておいて、
Modern C++ Designの第11章マルチメソッドに書いてあるディスパッチャのような物で型を復元することなるのかな。
ここまでしてやるメリットないですよねぇ。
0125デフォルトの名無しさん
2010/02/24(水) 10:25:180126デフォルトの名無しさん
2010/02/24(水) 11:07:07クラスは参照だからそもそもcopyしないよ。
0127デフォルトの名無しさん
2010/02/24(水) 11:19:24超適当に
template noncopyable() // mixin templateと書きたい・・・
{
@disable
{
this(this) {}
void opAssign(typeof(this) rhs) {}
}
}
struct Foo
{
mixin noncopyable!();
}
void main()
{
Foo a, b;
a = b; // error
Foo c = a; // error
}
0128デフォルトの名無しさん
2010/02/24(水) 13:16:20>>126
盲点でした。
逆にコピーしたい時にメソッドを用意する必要があるんですね。
>>127
structのコピーを禁止したい場合、言語の機能や標準ライブラリではできないですか。
でも、簡単に書けますね。
0129デフォルトの名無しさん
2010/02/24(水) 13:35:29> structのコピーを禁止したい場合、言語の機能や標準ライブラリではできないですか。
それが@disableだと思うんだけども
上のnoncopyableみたいなのがPhobosに入るかどうかは分からないね
それと上のだけど@disableにするのはコピーコンストラクタだけでよかった
refな引数取る場合はちゃんとopAssignを@disableにする必要あるけど(それをnoncopyableにいれるべきかな?)
0130デフォルトの名無しさん
2010/02/24(水) 14:32:38なるほど。
@disable this(this) {}
でいいんですね
0131デフォルトの名無しさん
2010/02/26(金) 23:33:44int[string] a;
int[string] b;
b = a;
b["hoge"] = 23;
b["piyo"] = 42;
if( a.length != b.length ) printf("???");
by DMD2.040
0132デフォルトの名無しさん
2010/02/27(土) 00:04:52ねむいからだれかためして
0133131
2010/02/27(土) 00:05:57勘違いでしたm(_ _)m
とりあえず上記のコードは間違いでした。
0135131
2010/02/27(土) 00:37:570136デフォルトの名無しさん
2010/02/27(土) 00:52:30例えば動的配列なら、ptr,lengthを持った構造体の変数を値渡ししてると考えれば…
http://codepad.org/LNIBIXvc
0137デフォルトの名無しさん
2010/02/27(土) 01:08:29nothrow int func() {}
int func() nothrow {}
で動きが違うバグとか直ったのかな
0138デフォルトの名無しさん
2010/02/27(土) 12:04:09ヘッダは下記のサイトで手に入れました。
http://dsource.org/projects/bindings/wiki/WindowsApi
objファイルはどこで入手できるのでしょうか?
自分のHDDにobjファイルがあるのですが、どうやって入手したのか思い出せません。
0139デフォルトの名無しさん
2010/02/27(土) 13:30:010140デフォルトの名無しさん
2010/02/27(土) 14:04:02C用のlibをcoffimplibで変換すればlibは手に入るのですが、
なぜか自分の書いたコードをビルドする時、wininet.objとwininet.libのように2つ指定しないとリンクが通らない物があるのです。
HDDにWinAPIのobjファイルが一通り入っているのですが、これがどこで入手したのか思い出せないのです。
0141デフォルトの名無しさん
2010/02/27(土) 14:13:52それって、多分、win32の.libファイルを作ってないからじゃない?
ttp://dusers.dip.jp/modules/wiki/?Libraries%2FBindings%20for%20the%20Windows%20API#pb0bb81a
ここ見てコンパイルすれば必要ないと思うよ。
0142デフォルトの名無しさん
2010/02/27(土) 15:12:35今、作ってみましたが、win32.libをリンクするだけだとエラーが出てしまいます(wininet.objやwininet.libをリンクすれば出ない)。
なんでかなぁ・・・。
0143142
2010/02/27(土) 18:47:280144デフォルトの名無しさん
2010/03/02(火) 23:44:15ノードを追加する時はcと同じく、mallocを使用するべきですか?
0145デフォルトの名無しさん
2010/03/03(水) 01:06:180146デフォルトの名無しさん
2010/03/03(水) 12:27:11定義の仕方はC++と同じでいい.
インスタンスの生成は特にこだわりがなければnewでいいよ.
0147デフォルトの名無しさん
2010/03/04(木) 17:47:30ですがstd.c.windows.windowsには入ってないのでしょうか。
0148デフォルトの名無しさん
2010/03/04(木) 19:21:180149デフォルトの名無しさん
2010/03/04(木) 23:36:190150デフォルトの名無しさん
2010/03/05(金) 22:36:13void foo(){}
void main(){ fo0(); } // <- もしかして:fooじゃないか?とコンパイラが教えてくれる
0151デフォルトの名無しさん
2010/03/06(土) 16:33:25template Value(T, T Init = T.init) {}
mixin Value!(int[string]);
みたいなのが出来なくなってて詰んだ
連想配列リテラルどうして静的に存在できないん?
0152デフォルトの名無しさん
2010/03/06(土) 20:02:54中でunsafeなことやってるし、コンパイルタイムに取り扱うのは難しかろう
0153デフォルトの名無しさん
2010/03/06(土) 20:23:180154デフォルトの名無しさん
2010/03/07(日) 04:13:30テンプレートの引数に受け入れるためにはマングルする必要があるから,文字列表現の一意性とかが厄介なんじゃないかと思う.
0155デフォルトの名無しさん
2010/03/09(火) 12:47:04新しいの来たよー。
0156デフォルトの名無しさん
2010/03/09(火) 14:34:37むしろ最終的な文法の整理になるのかな?
0157デフォルトの名無しさん
2010/03/09(火) 16:04:10ライブラリの整備が進んでくれないかなー。
0158デフォルトの名無しさん
2010/03/09(火) 19:31:460159デフォルトの名無しさん
2010/03/10(水) 13:05:17全く別物言語になったりしてな
0160デフォルトの名無しさん
2010/03/10(水) 19:36:59テンプレートのような面倒な機能は省略するが関数内関数やデリゲートは健在
そしてブラウザで動く
0161デフォルトの名無しさん
2010/03/10(水) 21:40:140162デフォルトの名無しさん
2010/03/10(水) 22:30:410163デフォルトの名無しさん
2010/03/11(木) 06:59:050164デフォルトの名無しさん
2010/03/11(木) 18:12:402.040ならエラーだけど,2.041ではコンパイル通るね
0165デフォルトの名無しさん
2010/03/11(木) 20:17:580166デフォルトの名無しさん
2010/03/15(月) 03:59:390167デフォルトの名無しさん
2010/03/15(月) 13:55:28http://d-ide.sourceforge.net/
0168デフォルトの名無しさん
2010/03/15(月) 19:47:13どうすれば.NET使ってて空白パスで落ちるように作れるのか興味がある
0169デフォルトの名無しさん
2010/03/15(月) 22:58:560170デフォルトの名無しさん
2010/03/15(月) 23:06:58int i = 1;
return {
writefln(i);
};
}
func()();
とかやるとD1だとiがアクセス違反になる…んだっけ?
0171デフォルトの名無しさん
2010/03/16(火) 16:38:02.NET?
D-IDEはC++製だぞ
0172デフォルトの名無しさん
2010/03/16(火) 16:38:50本物のクロージャが入ったのはD1の途中じゃなかったか
0173デフォルトの名無しさん
2010/03/16(火) 20:05:32あり?でもsourceforgeには.NET/Monoとあるし、C#のDLLが入ってるし、
リポジトリの中身だって…
ち、畜生!世界が俺を嵌めようとしてるんだな!
0174デフォルトの名無しさん
2010/03/16(火) 20:48:15なんか途方もなくでかいexeになったんだが
0175デフォルトの名無しさん
2010/03/17(水) 16:11:16void foo(int a, int b) {}
bind(&foo, _0, _0);
コンパイルエラーになります。
bindって現在バグで使えない状態なのでしょうか?
0176デフォルトの名無しさん
2010/03/17(水) 16:26:360177デフォルトの名無しさん
2010/03/17(水) 17:41:43言語仕様が変わっても泣かない人にはお勧め。
0178デフォルトの名無しさん
2010/03/17(水) 17:45:37学習用には資料が少ないからイマイチじゃない?
0179デフォルトの名無しさん
2010/03/17(水) 20:15:54最初から付き合ってないといまいちだけど。
0180デフォルトの名無しさん
2010/03/17(水) 20:24:26しかし最近の言語の概念が山ほど詰め込まれたてんこ盛り言語だから
無理に学んでおけばいろんなところで役に立つ か も
0181デフォルトの名無しさん
2010/03/17(水) 20:29:44となって成績がアップし部活でも活躍、背も伸びて彼女もできる
0182デフォルトの名無しさん
2010/03/17(水) 20:47:48今後新機能を持った言語が大々的に売り出されても、
それD言語にあったやつだろ……とかKYなこと言ってしまって空気に乗れずアンチ認定される。
ろくなことにはならんよ。
D言語がEiffelにした仕打ちでもあるけどなw
0183デフォルトの名無しさん
2010/03/17(水) 20:51:28とか言って嫌われてくる
0184デフォルトの名無しさん
2010/03/18(木) 06:30:46bindはずっと前から壊れてるけど誰も直そうとしない
0185デフォルトの名無しさん
2010/03/18(木) 08:42:37auto g = new class { auto opCall(T)(T x) const { return foo(x, x); } };
別にライブラリなくても、この程度で済むからな
0186デフォルトの名無しさん
2010/03/18(木) 10:59:43そうだったんですか。
当分は直る見込みもなさそうですね。
>>185
仕方ないのでその方法で書きますthx
0187デフォルトの名無しさん
2010/03/18(木) 22:27:03ちゃんとしたのを作るのは今のD言語の能力では難しいと思う。
>>185みたいに書けばその辺全部クリアできるんだけどね
0188デフォルトの名無しさん
2010/03/19(金) 23:32:12ヲルター氏はアメリカ人だから気づいてないんだと思う。
まぁ日本語に変換するための
オリジナルライブラリを公開しているサイトがあったけどね。
0189デフォルトの名無しさん
2010/03/20(土) 00:00:250190デフォルトの名無しさん
2010/03/20(土) 04:29:440191デフォルトの名無しさん
2010/03/20(土) 05:26:070192デフォルトの名無しさん
2010/03/20(土) 06:43:00UTF-8を表示出来ないWinのコンソールが悪いのであって、D言語を叩くのは見当違いでは?
PerlだってUTF-8をそのままコンソールに出力すれば文字化けするし。
ちなみに、
dmd -run xxx.d | nkf -s
っておまじないつけるといいかも。
0193デフォルトの名無しさん
2010/03/20(土) 06:54:120194デフォルトの名無しさん
2010/03/20(土) 07:22:43OSに設定された文字コードに変換してから出力するべきだろ。
真面目にやるならWindowsの場合はWriteConsoleWを呼びわけるべき。
0195デフォルトの名無しさん
2010/03/20(土) 07:46:330196デフォルトの名無しさん
2010/03/20(土) 07:56:250197デフォルトの名無しさん
2010/03/20(土) 08:00:29POSIXではターミナルがファイルデバイスだからそれでいけるかも試練が、
windowsでは全くの別物だから無理
0198デフォルトの名無しさん
2010/03/20(土) 08:01:34それから、リダイレクトされてるときどうするの?
0199デフォルトの名無しさん
2010/03/20(土) 08:11:07Windowsでもターミナルのスクリーンバッファはファイルハンドルで、ちゃんと区別もできるよ。
>>198
ハンドルの種類を確認して動作を変えるんだから、ハンドルの先がディスクファイルなら無変換でOK
0200デフォルトの名無しさん
2010/03/20(土) 08:21:320201デフォルトの名無しさん
2010/03/20(土) 08:23:510202デフォルトの名無しさん
2010/03/20(土) 08:37:32Windowsはコンソールのコードページを変更できるようにできてないわなあ
0203デフォルトの名無しさん
2010/03/20(土) 08:41:03Windowsに限らずLANG=ja_JP.EUCな環境とかでも化けるだろと。
まあ最近は全部UTF-8だからWindowsだけ浮いてるんだろうけど。
0204デフォルトの名無しさん
2010/03/20(土) 08:44:020205デフォルトの名無しさん
2010/03/20(土) 08:46:17わざわざひとつのプログラムのために変えてもらうのか?
他のプログラムは全部SJIS前提に動いているのに?
どう考えてもphobos側で吸収するべき。
0206デフォルトの名無しさん
2010/03/20(土) 09:37:380207デフォルトの名無しさん
2010/03/20(土) 09:45:000208デフォルトの名無しさん
2010/03/20(土) 10:56:16chcpコマンドとかそんなんで
0209デフォルトの名無しさん
2010/03/20(土) 10:59:02できるけどフォントが設定うまくできなくなったり文字幅の計算が糞だったり一部のアプリケーションが落ちたりする
0210デフォルトの名無しさん
2010/03/20(土) 11:34:000211デフォルトの名無しさん
2010/03/20(土) 11:50:20tangoはその辺ちゃんとしてくれるんだっけ?
tango.io.Stdout.Stdout("すばらしいよねtango").newline;
0212デフォルトの名無しさん
2010/03/20(土) 11:58:050213デフォルトの名無しさん
2010/03/20(土) 12:22:090214デフォルトの名無しさん
2010/03/21(日) 04:44:08windowsのコンソール画面で
文字化けしないで済むライブラリを入手したんだけど
これってどこに置けばいいのかな?
0215デフォルトの名無しさん
2010/03/21(日) 04:46:460216デフォルトの名無しさん
2010/03/21(日) 05:15:410217デフォルトの名無しさん
2010/03/21(日) 11:00:39「ライブラリ側の出力の問題」と「コンソール側の表示の問題」が判れば、
大抵のライブラリで表示可能な筈だよ。
0218デフォルトの名無しさん
2010/03/21(日) 11:13:510219デフォルトの名無しさん
2010/03/21(日) 19:43:520220デフォルトの名無しさん
2010/03/21(日) 19:49:010221デフォルトの名無しさん
2010/03/21(日) 20:22:030222デフォルトの名無しさん
2010/03/21(日) 20:35:050223デフォルトの名無しさん
2010/03/21(日) 22:52:17圧倒的なバグの力に屈服した模様
0224デフォルトの名無しさん
2010/03/22(月) 16:28:100225デフォルトの名無しさん
2010/03/22(月) 17:57:35今Dってどうなってんの?
0226デフォルトの名無しさん
2010/03/22(月) 18:10:40どうなってんの?
って感じかな
0227デフォルトの名無しさん
2010/03/22(月) 18:19:24そんな迷走してんのか
0228デフォルトの名無しさん
2010/03/22(月) 19:24:48安心して待て
0229デフォルトの名無しさん
2010/03/22(月) 19:26:512009年11月にタイムスリップするわ!
0230デフォルトの名無しさん
2010/03/22(月) 20:08:130231デフォルトの名無しさん
2010/03/22(月) 20:59:250232デフォルトの名無しさん
2010/03/22(月) 21:15:140233デフォルトの名無しさん
2010/03/23(火) 01:05:250234デフォルトの名無しさん
2010/03/23(火) 01:30:22俺も一瞬「すわデストラクタ問題に解答が!?」とおもったが、
clear()関数にbase classのデストラクタを呼び出す記述が追加されたって理解でいいのか?
0235デフォルトの名無しさん
2010/03/23(火) 15:24:10要するにbug fix
0236デフォルトの名無しさん
2010/03/24(水) 12:46:02オブジェクト指向
ガベコレ
文字列処理
正規表現
を加えてくれたらそれで十分だよ。
0237デフォルトの名無しさん
2010/03/24(水) 12:55:46それC++1xで
0238デフォルトの名無しさん
2010/03/24(水) 13:02:28読み取り専用で開いたファイルストリームに書き込もうとするのなんかを
コンパイル時に検出できるわけだけどphobosのFileはそういう風にする予定はないのかな
0239デフォルトの名無しさん
2010/03/24(水) 13:06:49全く困った事ないなぁ
0240デフォルトの名無しさん
2010/03/24(水) 13:21:570241デフォルトの名無しさん
2010/03/24(水) 21:30:230242デフォルトの名無しさん
2010/03/24(水) 21:38:490243デフォルトの名無しさん
2010/03/25(木) 06:02:39と
D言語 RADなし
だと
果たしてどちらが便利だろうか?
0244デフォルトの名無しさん
2010/03/25(木) 06:18:470245デフォルトの名無しさん
2010/03/25(木) 07:25:29そういうことでよろ
0246デフォルトの名無しさん
2010/03/25(木) 08:48:48C++Builderみたいなのが相手ならともかく、素のC言語+RADだと、
GUIデザインをD言語上のDSLでやるとしても(外部GUIデザイナを使わないとしても)、
まだD言語のほうが便利な気がする。
0247デフォルトの名無しさん
2010/03/25(木) 23:45:444invalid UTF-8 sequenceってでる
同じディレクトリをSpanMode.depth使うと正常に終わる
バグ?
try {
foreach (DirEntry entry; dirEntries(".", SpanMode.breadth));
} catch (Exception e) {
writeln(e.msg);
}
dmd 2.042
0248デフォルトの名無しさん
2010/03/25(木) 23:49:392.042から不定期にUnicodeエラー出したりアクセス違反したりメモリ確保失敗したりしてる
だから安心しろ
0249デフォルトの名無しさん
2010/03/26(金) 04:58:320250デフォルトの名無しさん
2010/03/26(金) 22:51:18std.algorithmなんかは関数型っぽい仕様してると思うのですが、なぜpureがついてないのでしょうか?
0251デフォルトの名無しさん
2010/03/26(金) 22:57:03pure できたのいつだっけか。
0252デフォルトの名無しさん
2010/03/26(金) 23:22:220253デフォルトの名無しさん
2010/03/26(金) 23:36:130254デフォルトの名無しさん
2010/03/27(土) 00:07:52pureをつけるためには引数がimmutableじゃないといけないから、
コンテナを引数に取るstd.algorithmの関数はpureにできない
0255250
2010/03/27(土) 04:15:58それと、標準ライブラリがまだ未完成でpureに対応してない部分もあるという事ですか。
関数型で書くのも簡単じゃないなぁ。
0256デフォルトの名無しさん
2010/03/27(土) 04:43:43確かに外からこっそりいじられる可能性がある限り、真の pure とは言い切れないな。
0257デフォルトの名無しさん
2010/03/27(土) 04:54:360258デフォルトの名無しさん
2010/03/28(日) 01:08:32void main() {
writeln(ElementType!(char[]).stringof);
}
dchar
この挙動は一体?
0259デフォルトの名無しさん
2010/03/28(日) 01:22:50"ほげほげ".front == 'ほ'
0260デフォルトの名無しさん
2010/03/28(日) 01:24:22static func() {
writeln("hoge");
return "fuga";
}
void main() {writeln(func);}
$ dmd -run test
hoge
fuga
mainとfuncの位置を入れ替えるとコンパイルエラーになる、そんな不思議
0261デフォルトの名無しさん
2010/03/28(日) 01:52:490262デフォルトの名無しさん
2010/03/28(日) 02:12:14なるほど。
しかし配列と文字列(charの配列)とでElementTypeの挙動が変わるのは釈然としないなー
0263デフォルトの名無しさん
2010/03/28(日) 04:28:19それは思う
他の言語でもあるように配列と文字列を完全に別のものにして欲しいかも
0264デフォルトの名無しさん
2010/03/28(日) 12:41:56文法見ると関数の戻り値型は省略できないはずなんだよね
せめてautoと書かないと
ところがstaticとかつけるとコンパイル通ってしまう(privateは駄目)
たぶん変数の型を省略できる辺りの仕様と混線してるんだと思う
0265デフォルトの名無しさん
2010/03/28(日) 16:24:54これだね
http://lists.puremagic.com/pipermail/digitalmars-d-learn/2010-March/016389.html
0266デフォルトの名無しさん
2010/03/28(日) 21:28:160267デフォルトの名無しさん
2010/03/28(日) 22:00:410268デフォルトの名無しさん
2010/03/28(日) 22:10:08読めるぐらい平易にならんよ
0269デフォルトの名無しさん
2010/03/28(日) 22:44:40http://www.dsource.org/projects/ddmd
0270デフォルトの名無しさん
2010/03/29(月) 00:21:25D3マダー?
0271デフォルトの名無しさん
2010/03/29(月) 12:18:39これ以上組み込み型増やすのは勘弁だわ
Cとの互換性も下がるし
0272デフォルトの名無しさん
2010/03/29(月) 14:17:470273デフォルトの名無しさん
2010/03/29(月) 14:24:140274デフォルトの名無しさん
2010/03/29(月) 15:22:52Cとの互換そんなことを考えていた頃も
あり…ありま…(ry
0275デフォルトの名無しさん
2010/03/29(月) 19:57:100276デフォルトの名無しさん
2010/03/29(月) 20:50:490277デフォルトの名無しさん
2010/03/29(月) 20:52:23何この大河ドラマ
0278デフォルトの名無しさん
2010/03/29(月) 20:57:16マジかよ・・・うぇ
0279デフォルトの名無しさん
2010/03/29(月) 21:00:01なげええええええええええええええええええ!!!!!!!!!!
0280デフォルトの名無しさん
2010/03/29(月) 21:26:31夜空を流れる天の川みたいだ・・・
0281デフォルトの名無しさん
2010/03/29(月) 21:36:320282デフォルトの名無しさん
2010/03/29(月) 21:44:08そんな風に思っていた時期が、俺にもありました
0283デフォルトの名無しさん
2010/03/30(火) 00:51:140284デフォルトの名無しさん
2010/03/30(火) 01:43:590285デフォルトの名無しさん
2010/03/30(火) 17:03:50そうでもない?
UTF-8 と決まっている D の char 型と、C言語用の文字(列)型としての char 型が
ごちゃ混ぜになってるのがそもそもの不幸の始まりだよね?
0286デフォルトの名無しさん
2010/03/30(火) 18:12:04それなら、Cのcharに相当するのをlocale_charみたいな名前で新設する方がいいな。
UTF-16をwchar, 32をdcharって名前にしてしまってるんだから。
0287デフォルトの名無しさん
2010/03/30(火) 18:23:370288デフォルトの名無しさん
2010/03/30(火) 18:33:37charでもubyteでも何の問題もないけど、そういうaliasが欲しいねって話と思ったんだが。
0289デフォルトの名無しさん
2010/03/31(水) 11:59:120290デフォルトの名無しさん
2010/03/31(水) 19:44:28locale_charとかsynchronizedとimmutableとforeach_reverseについで嫌いな名前になりそうだぜ
0291デフォルトの名無しさん
2010/03/31(水) 20:07:45もうちょっと良い感じのはなかったのだろうか
0292デフォルトの名無しさん
2010/03/31(水) 20:15:38OSの言語設定や環境変数LANGに左右されるC文字列と、UTF-8固定のD文字列を区別しておかないと
混同しても何も困らない欧米人が混同したコード書きやがるよね、
というよくある話を>>285は言いたいんじゃないのか?別人だけど。
0293デフォルトの名無しさん
2010/03/31(水) 20:21:130294デフォルトの名無しさん
2010/03/31(水) 21:16:10rforeachでいいよなぁ
0295デフォルトの名無しさん
2010/03/31(水) 21:25:30constに比べると長い
0296デフォルトの名無しさん
2010/03/31(水) 21:36:580297デフォルトの名無しさん
2010/03/31(水) 22:14:58むかしはメモリが少なかったし画面も狭かったから、
Cが発達したころ、その辺の事情と区別しやすさのバランスが取れた頃合いが5文字だったんだろう
0298デフォルトの名無しさん
2010/03/31(水) 22:50:320299デフォルトの名無しさん
2010/03/31(水) 23:19:23auto refとか
0300デフォルトの名無しさん
2010/03/31(水) 23:39:580301デフォルトの名無しさん
2010/03/31(水) 23:41:490302デフォルトの名無しさん
2010/04/01(木) 00:16:110303デフォルトの名無しさん
2010/04/01(木) 01:31:270304デフォルトの名無しさん
2010/04/01(木) 03:54:560305デフォルトの名無しさん
2010/04/01(木) 15:17:240306デフォルトの名無しさん
2010/04/01(木) 16:37:160307デフォルトの名無しさん
2010/04/01(木) 17:21:050308デフォルトの名無しさん
2010/04/01(木) 22:22:43え〜?そんなライブラリはないだろう……、と思ったがあったッ!!
うん。使えるんじゃないかな。使ったこと無いけど。
0309デフォルトの名無しさん
2010/04/01(木) 22:59:510310デフォルトの名無しさん
2010/04/01(木) 23:12:08具体的に言うと0.149があるとABA gamesのMu-cadeが楽にコンパイルできそうなんですが
0311デフォルトの名無しさん
2010/04/01(木) 23:54:09thx
0312デフォルトの名無しさん
2010/04/02(金) 00:01:04http://www.kmonos.net/alang/d/1.0/changelog.html
ここの「D 1.049 での変更点」から落とせる。
0313デフォルトの名無しさん
2010/04/02(金) 00:26:11必要なのは0.149でしたけど、older versionsから辿って見つけることができました。
ありがとうございます
0314デフォルトの名無しさん
2010/04/02(金) 11:49:030315デフォルトの名無しさん
2010/04/02(金) 12:20:51と順番に形を変えていきました
0316デフォルトの名無しさん
2010/04/02(金) 12:34:42ビット単位で詰め込みたい人はstd.bitmanipで便利に使ってくれって感じの方針だな
0317デフォルトの名無しさん
2010/04/02(金) 15:05:42byteをboolの代わりにするのもにょもにょする
0318デフォルトの名無しさん
2010/04/03(土) 10:48:050319デフォルトの名無しさん
2010/04/03(土) 11:04:00使ったことがないからこそまともに動く可能性があるかもと思えるのはD-IDE
0320デフォルトの名無しさん
2010/04/03(土) 12:45:14もっと大きなパラダイムシフトが起こるまでそんなことないですか
0321デフォルトの名無しさん
2010/04/03(土) 14:30:27Cはコンパイル言語じゃなくて高級アセンブラだからなー
ただ、C++の代替にならなる可能性は…やっぱり無いか…
0322デフォルトの名無しさん
2010/04/03(土) 14:46:350323デフォルトの名無しさん
2010/04/03(土) 14:59:56C++とかC#とかで書いてて思ったのは、
やはり関数の扱いがちゃんと関数で安心できることとか、
構造体型を返り値にするときの挙動の予測しやすさとかはいい点だと感じる
0324デフォルトの名無しさん
2010/04/07(水) 05:47:18コンパイラにバグが残ってたり、ライブラリが未完成だったり、言語仕様がコロコロ変わったりするし、
そのせいもあってかIDEもまともなのがないし、ネット上の情報量も少なくて敷居が高いよね。
登場から11年経つけどこれから流行るかな・・・?
0325デフォルトの名無しさん
2010/04/07(水) 06:40:08あとやっぱりRubyのgemみたいなのが標準で欲しいかな
0326デフォルトの名無しさん
2010/04/07(水) 10:54:17後方互換性がなく変わる状態じゃライブラリも周辺ツールも整備できねーよな
0327デフォルトの名無しさん
2010/04/07(水) 16:13:590328デフォルトの名無しさん
2010/04/07(水) 20:21:49そんな風に思っていた時期が、俺にもありました
0329デフォルトの名無しさん
2010/04/07(水) 21:11:11現状ではとてもじゃないがやる気にならない
0330デフォルトの名無しさん
2010/04/07(水) 21:53:140331デフォルトの名無しさん
2010/04/07(水) 21:57:210332デフォルトの名無しさん
2010/04/07(水) 22:28:370333デフォルトの名無しさん
2010/04/07(水) 22:36:420334デフォルトの名無しさん
2010/04/08(木) 00:57:390335デフォルトの名無しさん
2010/04/08(木) 03:05:180336デフォルトの名無しさん
2010/04/08(木) 20:36:180337デフォルトの名無しさん
2010/04/08(木) 22:35:590338デフォルトの名無しさん
2010/04/09(金) 00:02:010339デフォルトの名無しさん
2010/04/09(金) 00:36:170340デフォルトの名無しさん
2010/04/09(金) 00:40:470341デフォルトの名無しさん
2010/04/10(土) 00:54:58Version D 2.043 Apr 6, 2010
New/Changed Features
.init property for static arrays is now an array literal
Improved speed of associative arrays
std.bigint has been completely replaced with a faster implementation. Multiplication is now 5 times faster, division is 300 times faster, and squaring is 10 times faster. For large numbers (~5000 words), the speedup is 5 times larger than this.
Bugs Fixed
Fixed memory corruption problem with array appends
・・・
Bigint!
動的配列appendのバグが直ったー
ハッハー
0342デフォルトの名無しさん
2010/04/10(土) 01:43:480343デフォルトの名無しさん
2010/04/10(土) 01:49:390344デフォルトの名無しさん
2010/04/10(土) 02:11:240345デフォルトの名無しさん
2010/04/10(土) 03:12:240346デフォルトの名無しさん
2010/04/10(土) 07:46:110347デフォルトの名無しさん
2010/04/10(土) 08:31:250348デフォルトの名無しさん
2010/04/10(土) 08:53:190349デフォルトの名無しさん
2010/04/10(土) 09:30:160350デフォルトの名無しさん
2010/04/10(土) 10:48:01javaやC#ライクに書けるネイティブコンパイラとしては、確かに敵がいない
ただ、そこから一歩踏み込んだ先は広大なカオス領域。
そして、Dユーザは必ずそこに向かう。
0351デフォルトの名無しさん
2010/04/10(土) 10:53:580352デフォルトの名無しさん
2010/04/10(土) 11:13:310353デフォルトの名無しさん
2010/04/10(土) 11:21:060354デフォルトの名無しさん
2010/04/10(土) 11:22:330355デフォルトの名無しさん
2010/04/10(土) 11:23:19理論とは適当に折り合いをつけてプログラムしろぐらいの意味しかないだろ。
0356デフォルトの名無しさん
2010/04/10(土) 11:31:14それを許容するのも、Demon's Lang(略)
0357デフォルトの名無しさん
2010/04/10(土) 11:55:45Rubyでやるような内容で計算コストがかかる時とか大規模行列計算のない数値実験には重宝している。
実際速いよねDMD
0358デフォルトの名無しさん
2010/04/10(土) 12:46:58鉄板の保守的な機能のみ使うガイドラインというか
アプリ作る時と遊びたい時を分けたいんだよね
0359デフォルトの名無しさん
2010/04/10(土) 12:56:450360デフォルトの名無しさん
2010/04/10(土) 13:33:54例えば俺はあるプログラムでBigIntを何年か安心して使ってたんだが
2.043でコンパイルしたらそこでエラーを吐いたので修正が必要になった
そういう事態を避けるにはphobosを避けるしかないな!
0361デフォルトの名無しさん
2010/04/10(土) 13:36:020362デフォルトの名無しさん
2010/04/10(土) 13:38:080363デフォルトの名無しさん
2010/04/10(土) 13:52:230364デフォルトの名無しさん
2010/04/10(土) 14:58:360365デフォルトの名無しさん
2010/04/10(土) 15:20:040366デフォルトの名無しさん
2010/04/10(土) 15:25:09・constやinvariantも避ける
・portingされたライブラリは言語側の仕様変更で使えなくなるので避ける
・templateはいきなりmixinキーワードが必須になったりするので避ける
・GCやスレッドには触らない
・classはたまにトラブルが起きるので避ける
・動的配列はたまにエラーの発生源になるので避ける
・あるはずの変数が消えてたりするのでクロージャは避ける
・invariant {}で無限再帰になってりするので契約を避ける
0367デフォルトの名無しさん
2010/04/10(土) 15:32:490368デフォルトの名無しさん
2010/04/10(土) 16:03:52http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Dはころころ仕様や文法が変わってカオスなわり25位と健闘
Dとは違ったCの別の進化した形、Objective-Cは長い冬の時代を乗り越え42位から11位へと大躍進
ウォルタータンやDigital MarsにはD本出して開発版をD3に移行したら
devチームとメンテナチームを分けて編成してD2を安心してプログラミングに使える体制を確立して欲しいな
0369デフォルトの名無しさん
2010/04/10(土) 16:08:34すげぇな
そしてGoにはすでに10も差をつけられている
0370デフォルトの名無しさん
2010/04/10(土) 16:41:190371デフォルトの名無しさん
2010/04/10(土) 20:38:490372デフォルトの名無しさん
2010/04/11(日) 20:26:44これですね
5年くらい前の話かと思ってたらたった2年前の記事で驚いた
0373デフォルトの名無しさん
2010/04/11(日) 22:23:240374デフォルトの名無しさん
2010/04/14(水) 14:49:58char[] a, b;
this(in char[] a, in char[] b) { this.a = a.dup; this.b = b.dup; }
}
int[MyKey] arr;
arr[MyKey("hoge", "fuga")] = 0;
auto foo = arr[MyKey("hoge", "fuga")]; // ここで実行時にRange violation
toHashもopEqualsもopCmpもデフォのままなのが原因だとは思うのですが、デフォの挙動は一体どういう物なのでしょうか?
0375デフォルトの名無しさん
2010/04/14(水) 18:42:19ってことじゃないの?
0376デフォルトの名無しさん
2010/04/14(水) 19:10:17ありです。
同値性ではなく同一性ということですか。
==での比較とisでの比較とあるなら、==のデフォは同値性にして欲しかったなぁ。
0377376
2010/04/14(水) 19:30:22==での比較はできるようになったのになぜ?
const bool opEquals(ref const MyKey rhs){
return cmp(this.a, rhs.a) == 0 && cmp(this.b, rhs.b) == 0;
}
const int opCmp(ref const MyKey rhs){
auto result = cmp(this.a, rhs.a);
if (result != 0){return result;}
else{return cmp(this.b, rhs.b);}
}
0378375
2010/04/14(水) 19:43:01ググってみたらこんなんが引っかかった
http://www.bugbearr.jp/?D%E8%A8%80%E8%AA%9E%2F%E9%80%A3%E6%83%B3%E9%85%8D%E5%88%97
0379デフォルトの名無しさん
2010/04/15(木) 01:15:17http://www.kmonos.net/alang/d/2.0/arrays.html#associative
たぶん toHash の定義をしていないから、
object の toHash 使っちゃっていて、ハッシュ値としてアドレスが返されて
違うキーと判定されているんだと思うよ。
0380デフォルトの名無しさん
2010/04/15(木) 05:53:06どうもです。
toHashも定義する必要があるんですね。
0381デフォルトの名無しさん
2010/04/15(木) 21:20:25関係ないけど .get(Key key, lazy Value defaultValue) なんてあったのか。
.get(Key key, lazy Value defaultValue = Value.init) にしてほしい。
0382デフォルトの名無しさん
2010/04/15(木) 21:40:420383デフォルトの名無しさん
2010/04/15(木) 21:41:410384デフォルトの名無しさん
2010/04/17(土) 21:40:08デシマル演算北ーーーーーーーーーーーーーーーーーーーーー!!
http://www.kmonos.net/alang/d/2.0/d-floating-point.html
これで、intは、数値計算に使わないことにすれば良いと思う。
アドレッシングにしか使わない事にすれば、色々良いと思う。
0385デフォルトの名無しさん
2010/04/18(日) 01:23:12単なる比較として書かれているだけなんじゃないの?
http://ja.wikipedia.org/wiki/IEEE_754
http://journal.mycom.co.jp/column/architecture/104/index.html
デシマルでうれしいのは2進<->10進変換での変換誤差が出ないことであって、
(0.1*10 =1.0 が保障される)
Exponent がある限り精度はぶれるし、
結局 std.bigint の代わりにはならないよ。
amd64 だと10進演算殺されたし、
現段階ではそもそもCPU,FPUのサポートが得られないから
実装されたとしても、とても遅いだろうね。
まぁ、数値型の使い分けは結局のところ適材適所だよね。
0386デフォルトの名無しさん
2010/04/18(日) 02:35:32>(0.1*10 =1.0 が保障される)
いやそれ2進<->10進変換での変換誤差じゃないからw
0387デフォルトの名無しさん
2010/04/18(日) 02:44:48???
0.1 を2進変換したときにどうなるのか知らんの?
http://www.ritsumei.ac.jp/se/rv/joen/program05_2/program2_05.html
0388デフォルトの名無しさん
2010/04/18(日) 02:54:13http://www-01.ibm.com/support/docview.wss?uid=lsj14c32aea1f40e37ee49257037000d56fa
>>386
丸め誤差と言いたかったの? それともなんか別の話?
0389デフォルトの名無しさん
2010/04/18(日) 07:43:14指数部/仮数部のエンコーディングが2進だろうと10進だろうと関係無いって話でしょ?
0390デフォルトの名無しさん
2010/04/18(日) 08:49:18何を言ってるんだこれ?
ならば何のために decimal の必要性があるのか説明してよ。
0391デフォルトの名無しさん
2010/04/18(日) 09:23:56結局そういうことをしないといけない場合は
有理数クラスとかを作って対応するべきだよ
0392デフォルトの名無しさん
2010/04/18(日) 09:31:560393デフォルトの名無しさん
2010/04/18(日) 10:11:140.1が表現できないのは、小数点の位置を1, 0.5, 0.25...と浮動させるからであって
2進数10進数関係無いという話だよ。
10進の必要性なんか実装次第だろ。BCDなんかダンプ見て人間がわかりやすいのが目的だしな。
少なくとも「IEEE754の」decimalの必要性は10進数だからではなくて、1, 0.1, 0.01...と浮動するからだろ。
0394デフォルトの名無しさん
2010/04/18(日) 10:24:21まあ、>>389 の説明も分かりにくい気がするけど
仮数部×10の指数部で表現してありさえすれば、
仮数部と指数部を2進数で表現していても
0.1*10=1.0 になるよ、と言えばいい
0395デフォルトの名無しさん
2010/04/18(日) 10:26:11だった
0396デフォルトの名無しさん
2010/04/18(日) 10:55:160397デフォルトの名無しさん
2010/04/18(日) 10:58:30それは詭弁だろー。
指数がでかい場合にハードウェア的にどう演算するつもりなんだ?
0398デフォルトの名無しさん
2010/04/18(日) 11:02:15この有効桁数の間であれば「1つの値」は確かに正しく変換できるんだ。
だけど、有効桁数より小さい値に誤差が含まれていて、
これが計算していくと累積するんだよ。
1/3 の話はもうちょっと違う話だから分けて話をしてくれ。
0399デフォルトの名無しさん
2010/04/18(日) 11:31:34ちなみに誤差無く表現できる値同士を計算して結果も誤差無く表現できる値であれば
誤差は累積しないぞ。
やっぱりなんか勘違いしてるな。
0400デフォルトの名無しさん
2010/04/18(日) 11:41:15ってのは、
10進小数を2進小数に変換するときに誤差が出るという事実があって、
それの回避策だろ?
で、最初にケチ付けた奴は「それは変換誤差じゃない」と言ってるのだから
その説明がほしいんだよ。
0401デフォルトの名無しさん
2010/04/18(日) 11:42:432進浮動小数点数で計算した場合の話をしているんだが、
何を自分勝手な理屈並べているんだ?
0402デフォルトの名無しさん
2010/04/18(日) 11:43:59よーしパパPIを正確に表現する事に挑戦しちゃうぞー
0403デフォルトの名無しさん
2010/04/18(日) 11:45:21そんなの分かり切っている。
だけど、2進浮動小数点数で動いているのが現在の多くのハードウェアだろ?
わけわかんないわ。
0404デフォルトの名無しさん
2010/04/18(日) 12:14:03それ以外にもそういう場面はまあいくつかあるのではあるが
0405デフォルトの名無しさん
2010/04/18(日) 12:32:180406デフォルトの名無しさん
2010/04/18(日) 12:36:55何が分かってないのか李恢した。
まず、何進数で表そうが整数は整数で誤差なんか全くない。オーバーフローしない限り。
これはOKだよな。
次に、浮動小数点実数というのは、実数を仮数部×n^指数部のふたつの整数で表現する形式。
これもOKだよな。
では0.1を通常の「2進」浮動小数点数で誤差なく表現できない理由はなにか。
0.1を仮数部×「2」^指数部で表したときに仮数部が循環小数になってしまい
有限桁ではそのまま表現できないからだ。
これもOKだよな。
で、この指数部分「2」は2進数の2とは関係無い数字だ。
0407デフォルトの名無しさん
2010/04/18(日) 12:40:020408デフォルトの名無しさん
2010/04/18(日) 12:44:27これらは独立したパラメータなので当然別の組み合わせも考えられる。
で、2進・基数10なら0.1も表現できるし、10進・基数2なら0.1はやっぱり誤差が出る。
要するに一般的に浮動小数点実数の誤差と言われているものはn進変換の誤差では無くて、
実数を仮数部と指数部に分割したときの仮数部の丸め誤差だ。
OK?
0409デフォルトの名無しさん
2010/04/18(日) 12:45:20おいおい、で、ハードウェア的にその2進整数+10^n方式をいったいどうやって実装するんだよ…
VHDLで書いて見やがれ。
で、現実問題として実運用されている2進浮動小数点方式(2進数+2^n 方式)で
0.1に変換誤差が出ることは同意なんだな?
それは変換誤差ではないというならそれは何なのかと聞いているんだ。
0410デフォルトの名無しさん
2010/04/18(日) 12:50:08x それは変換誤差ではない
o それは変換誤差とは言わない
0411デフォルトの名無しさん
2010/04/18(日) 12:50:31仮数部の丸め誤差を変換誤差と呼んではいけない理由がわからん。
正式な用語ではなかったかもしれんが、それケチ付けることなんか?
0412デフォルトの名無しさん
2010/04/18(日) 12:53:02単にdecimal64だかdecimal128だかから、変な圧縮10進エンコードを省くだけだろ……。
VHDLで書けというなら書いてもいいが、見積りと報酬はちゃんと寄越せよ。
VerilogじゃなくてVHDLの名前を出すあたりマニアックだなw
0413デフォルトの名無しさん
2010/04/18(日) 12:56:162進数の10進シフトをどう実装するつもりなのか興味あります。
0414デフォルトの名無しさん
2010/04/18(日) 12:58:07おいおい、n*10をn*8+n*2にするのは最適化の初歩だぜ。
0415デフォルトの名無しさん
2010/04/18(日) 12:58:480416デフォルトの名無しさん
2010/04/18(日) 13:01:43ビットで表現されているかもしれないが
結局のところ a * 10^n + b * 10^(n-1) とかで格納されているんだ。
だから10進シフト演算も簡単にできるんだよ。
decimal じゃなくて、ちゃんと2進整数でなんとかしやがれよ?
0417デフォルトの名無しさん
2010/04/18(日) 13:03:02右シフトどうすんの?
0418デフォルトの名無しさん
2010/04/18(日) 13:05:27>>414を読んだ後にそれを書いているとしたら頭を疑うな。
ちなみにdecimalは10ビットで10進3桁を表現する圧縮がかかっているので
1000倍は楽だが10倍とかはちょっとややこしいと思う。
繰り返すが2進数を10倍するのは8倍+2倍でいいからね。
0419デフォルトの名無しさん
2010/04/18(日) 13:08:2210進のまま扱う方が楽なんだよな。
だから decimal みたいな折衷案が出てきてるんだろ?
単に言葉に突っ込んだだけなら、>>388 で結論出てる。
というわけでおしまいだ。
0420デフォルトの名無しさん
2010/04/18(日) 13:09:280421デフォルトの名無しさん
2010/04/18(日) 14:02:46きょうの被害担当艦か
0422デフォルトの名無しさん
2010/04/18(日) 14:31:49AMDは今度出す奴に実装してくる。インテルがmathライブラリ
を提供してるけども、実装するのかどうかは分からない。
インテルしねって感じ。
0423デフォルトの名無しさん
2010/04/18(日) 14:38:4710進演算に関して反対してたとか聞いた。
死ねばいいのにって思う。
0424デフォルトの名無しさん
2010/04/18(日) 14:39:002進 + 10^n とかいう奇怪な実装じゃないっしょ?
0425デフォルトの名無しさん
2010/04/18(日) 14:44:38死ねよ馬鹿。
Powerで実装したのは、Densely packed decimalで、IEEEも同様。
強烈に奇怪だけど、計算が速い。18桁でもワンクロックでいけるらしい。
http://journal.mycom.co.jp/column/architecture/104/index.html
こういう奴だ。ボケカス屑糞勉強不足、優しさ不足。
なのために生きてるんだろうねって思う、なんで10進演算を疎かに
出来るんだろって思う、キチガイなんじゃねーの?
0426デフォルトの名無しさん
2010/04/18(日) 14:48:130427デフォルトの名無しさん
2010/04/18(日) 14:50:19だからさー、仮数部は「2進数」じゃないんだよそれ。
「10進数」を形変えて入れてるの。
だから、POWERの実装はとても回路は素直で優しいんだよ。
奇怪だと言っているのは「2進数*10^n」の話なんだよ。
0428デフォルトの名無しさん
2010/04/18(日) 14:52:12だからIEEEのデシマルは、Densely packed decimalだって言ってるんだろうがー
何言ってるの?おまえ字読める?お前自分が奇怪な事言って、奇怪とかいうな
ちゅうの。
0429デフォルトの名無しさん
2010/04/18(日) 14:54:030430デフォルトの名無しさん
2010/04/18(日) 14:55:0510進を貶す奴は馬鹿でくず、存在価値無し、
ビッグイントより、数値計算は浮動小数10進に移行するべき。
イントはアドレスの計算とループカウンターという役割に限定すべき。
インテルの屑野郎早くハードウェア実装しろ。
以上だと思う。
0431デフォルトの名無しさん
2010/04/18(日) 14:58:32>10進数を圧縮格納するDensely Packed Decimal形式
>しかし、そのままの形式では演算はできないので、
>演算前にBCD形式に戻し、演算後、結果をDPD形式に戻す必要がある。
元記事のこの文読めないんだな。
0432デフォルトの名無しさん
2010/04/18(日) 15:05:10命令デコードのついでに出来るので、ワンクロックなんだよ。
0433デフォルトの名無しさん
2010/04/18(日) 15:05:100434デフォルトの名無しさん
2010/04/18(日) 15:07:38うん、それはその通り。とても素直なハードウェアが作れるよね。
でも、「2進数整数 * 10^n じゃないよね」って話を何度もしているんだけど、
なんかわかってもらえないんだ。
中身は結局BCDなのにさ。
0435デフォルトの名無しさん
2010/04/18(日) 15:10:55呼んだ?
>>434
馬鹿者ねーの中身がBCDだろうがなんだろうが10進演算こそ正義なんだよ。
まずは正義なんだよ。お前が言ってるのは無意味かつナンセンス。
あり得ない事を自分で書いて、あり得ないよねって言ってるんだよ。
釣られた俺が悪いんだけど、10進演算が正義だと言うことを知らない、
悪魔がやたらめったらいるから悪いんだよ、悪魔はしねっていうんだよ。
0436デフォルトの名無しさん
2010/04/18(日) 15:16:56そうじゃなくて、10進小数から2進小数に変換した時に誤差が出るから
「変換誤差」って書いたら
なんか「丸め誤差」と言い直させないと気が済まない人が出てきて、
2進整数*10^n なら誤差が出ないとか訳わかんない説明しだしたから
そんなアホなハードウェア作れんだろjk
と言っただけの話。
0437デフォルトの名無しさん
2010/04/18(日) 15:21:54>>430でその間違いに気がつき始めたけど、認めるのが恥ずかしいから
馬鹿だのアホだの書いて誤魔化してるのに、そうやって指摘するのは、
多分、優しさが足りないんだと思うんだよね。
そもそも、日本の言語関係者に、10進数を疎かにする奴が多いのが悪いんだし。
そういう悪魔が多いから、俺がトチ狂ったのは正しい行為だと強弁してみる。
だいたい、10進数の話になると訳分かってない奴が、訳の分からんこと言って
うやむやにするんだよ。酷いんだよ、何時も、何時も、IBMとかIEEEが
規格にしたら、いやいや、俺だって必要だとは思ってたよとか言い出すンだよ。
おかしいよねみんな、なんか変なんだよ。異常。
0438デフォルトの名無しさん
2010/04/18(日) 15:30:370439デフォルトの名無しさん
2010/04/18(日) 15:45:12この国はおかしくなった
0440デフォルトの名無しさん
2010/04/18(日) 15:51:200441デフォルトの名無しさん
2010/04/18(日) 17:01:580442デフォルトの名無しさん
2010/04/18(日) 17:18:49小学校で教えればこんなことにはならなかったのに
とりあえず走れ教育を施されてしまった
我々は愚かな為政者の犠牲になったのだ…
0443デフォルトの名無しさん
2010/04/18(日) 17:26:150444デフォルトの名無しさん
2010/04/18(日) 19:34:020445デフォルトの名無しさん
2010/04/19(月) 21:05:47782 :名無しさん@十周年 :sage :2010/04/19(月) 17:38:30
まあDMCの生みの親がDな訳だし
0446デフォルトの名無しさん
2010/04/19(月) 21:35:360447デフォルトの名無しさん
2010/04/20(火) 00:25:080448デフォルトの名無しさん
2010/04/20(火) 15:52:24どの言語でも、当然のように思いついて当然のように実装して、
痛い目にあって取り下げるという歴史があるんだよな。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/misc/threadPrimitiveDeprecation.html
.NET Framework でもおなじことやってたはず。
外から強制的に止めるというのはダメで、
一度スレッド内部にお伺いを立てて、スレッド内部で sleep していただく
というのがセオリーになってるね。
0449デフォルトの名無しさん
2010/04/21(水) 03:07:520450デフォルトの名無しさん
2010/04/23(金) 19:59:47void main() {
std.stdio.writeln(toString(getUTCtime));
std.stdio.writeln(toString(UTCtoLocalTime(getUTCtime)));
}
Fri Apr 23 10:57:03 GMT+0000 2010
Fri Apr 23 10:57:03 GMT+0000 2010
import std.datebase;
import std.date;
void main() {
std.stdio.writeln(toString(getUTCtime));
std.stdio.writeln(toString(UTCtoLocalTime(getUTCtime)));
}
Fri Apr 23 19:56:53 GMT+0900 2010
Sat Apr 24 04:56:53 GMT+0900 2010
!?
そんな些細なことはどうでもいいけどphobosはいつになったらまともな日付フォーマット関数が入るの?
0451デフォルトの名無しさん
2010/04/23(金) 20:07:460452デフォルトの名無しさん
2010/04/23(金) 20:15:330453デフォルトの名無しさん
2010/04/23(金) 20:18:330454デフォルトの名無しさん
2010/04/23(金) 20:27:51パーサーから、中間言語までを翻訳してくれれば
D言語だけじゃなく、色んな人が幸せになれると
思う。特に俺なんか喜ぶ。俺のために翻訳してくれた
って感謝する。
0455デフォルトの名無しさん
2010/04/23(金) 20:47:33翻訳者のジレンマがあるからな
0456デフォルトの名無しさん
2010/04/24(土) 01:11:50金にならないものを翻訳するなってことだ
0457デフォルトの名無しさん
2010/04/24(土) 09:54:54この前発売されたGC本くらいには売れるんだろうか?
0458http://twitter.com/mono_shoo/status/12740313433
2010/04/24(土) 11:56:58http://dusers.dip.jp/modules/forum/index.php?topic_id=66#post_id242
0459デフォルトの名無しさん
2010/04/24(土) 13:48:29今見てもtoにはやりすぎ感が
0460デフォルトの名無しさん
2010/04/27(火) 18:01:570461デフォルトの名無しさん
2010/04/27(火) 19:17:160462デフォルトの名無しさん
2010/04/27(火) 22:21:50ttp://www.wikihouse.com/sakurai/?DJcode
これですか。
自動判定版もあって便利そうですね。thx
0463デフォルトの名無しさん
2010/04/29(木) 03:08:090464デフォルトの名無しさん
2010/04/29(木) 03:09:130465デフォルトの名無しさん
2010/04/29(木) 14:54:400466デフォルトの名無しさん
2010/04/29(木) 18:10:570467デフォルトの名無しさん
2010/04/29(木) 18:26:08属性ともどもDDocはかなりの改修が必要な気がする
0469デフォルトの名無しさん
2010/04/29(木) 21:12:01ちょっと間空けると訳分からなくなってるわあ
0470462
2010/04/29(木) 23:15:59dmd2.041でコンパイルできるように修正してUPしました。
0471デフォルトの名無しさん
2010/04/30(金) 20:55:52お前ら後は任せた
0472デフォルトの名無しさん
2010/05/01(土) 16:11:320473デフォルトの名無しさん
2010/05/02(日) 19:31:04誰か進んで人柱になってくれる変態はいる?
0474デフォルトの名無しさん
2010/05/02(日) 22:45:25全裸待機完了
0475473
2010/05/02(日) 23:25:54>>474
ttp://www.usamimi.info/~wokonomono/program/lab/negui/index.html
サンプルで使い方を感じてくれ
0476デフォルトの名無しさん
2010/05/03(月) 11:13:430477473
2010/05/03(月) 12:32:180478デフォルトの名無しさん
2010/05/03(月) 13:30:108. URL表記・リンク
宣伝・罠・実行リンク
・明らかに宣伝を目的としたリンク・クリックや訪問で課金が発生するもの等は、宣伝掲示板以外では削除します。
0479デフォルトの名無しさん
2010/05/03(月) 13:50:580480デフォルトの名無しさん
2010/05/03(月) 13:51:19あっ作者じゃないよちなみに。
0481デフォルトの名無しさん
2010/05/03(月) 14:04:54h抜かないとリファラ取られるのが云々言われてなんでそんなん気にしてんだろって思ってた。
0482デフォルトの名無しさん
2010/05/03(月) 14:51:05h付けたURLは1スレあたりの数に制限があるので
それを回避してるだけだと思ったが
0483デフォルトの名無しさん
2010/05/03(月) 14:53:45どっちかっつーと ime.nu に負担掛けたくないだけだろうと
0484デフォルトの名無しさん
2010/05/03(月) 15:12:400485デフォルトの名無しさん
2010/05/03(月) 15:18:53伝承されていくうちにおまじないになっていくのと似てるな
0486デフォルトの名無しさん
2010/05/03(月) 15:42:03一体何がしたいんだろ
0487デフォルトの名無しさん
2010/05/03(月) 16:23:040488デフォルトの名無しさん
2010/05/03(月) 16:39:08・自分ではできないことをやられて悔しいのでとりあえず貶す
・削除ガイドラインの内容覚えたてで使いたくてたまらない
・スレの雰囲気を悪くすることによる遠回しなアンチ
ネガティブな理由しか思いつかん。
0489デフォルトの名無しさん
2010/05/03(月) 16:43:35え?恨み買うほど普及してない?
0490デフォルトの名無しさん
2010/05/03(月) 21:56:380491デフォルトの名無しさん
2010/05/03(月) 23:15:540492デフォルトの名無しさん
2010/05/04(火) 00:58:180493デフォルトの名無しさん
2010/05/04(火) 14:37:450494デフォルトの名無しさん
2010/05/04(火) 14:54:44New/Changed Features
Bugs Fixed
何も書いてない。これから書くのかな?
0495デフォルトの名無しさん
2010/05/04(火) 14:58:10変数の初期化がDEADBEEFになってるとか
0496デフォルトの名無しさん
2010/05/04(火) 15:26:220497デフォルトの名無しさん
2010/05/04(火) 15:28:39D言語の勉強始めてて素朴な疑問なんだけど、
C/C++でビルドするより実行ファイルが大きい傾向があるような気がする。
(Windowsの場合、Hello worldで230kb、DFL使った簡単なGUIアプリで700kb)
これはgcとか入ってるから仕方ないって考えるべきなのかな。
まあdmdのオプションは特にチューニングしてないから、その辺で変わるのかもしれないけど。
0498デフォルトの名無しさん
2010/05/04(火) 15:46:220499デフォルトの名無しさん
2010/05/04(火) 21:19:560500デフォルトの名無しさん
2010/05/05(水) 01:44:32OS作りたいとかいう時に絶対邪魔になる、というか、
OS作る用途ではGCなんて使えないだろうし
0501デフォルトの名無しさん
2010/05/05(水) 01:52:09それは、OOoをasmで作る、と同義だと思う。
0502デフォルトの名無しさん
2010/05/05(水) 02:50:180503デフォルトの名無しさん
2010/05/05(水) 19:55:000504デフォルトの名無しさん
2010/05/05(水) 20:54:12今は繋がる。
0505デフォルトの名無しさん
2010/05/08(土) 21:58:55そこでXMLで構造化することにより宣言的にGUIを設計できるようにすると便利だとおもうんだが、どうだろう。
現在、XAMLとXULを勉強中。
0506デフォルトの名無しさん
2010/05/08(土) 22:06:510507デフォルトの名無しさん
2010/05/08(土) 22:16:06・GUIのデザインが直接コード化されるため、コードとデザインが分離していない
・単体では国際化に対応していない
・(Foms単体の問題ではないが)Visual Studioによるデザイナーで定義できないデザインが結構ある
0508デフォルトの名無しさん
2010/05/08(土) 23:22:030509デフォルトの名無しさん
2010/05/09(日) 00:19:09サブクラス作ってカスタマイズして
それを登録してXMLで使うことも可能
0510505
2010/05/09(日) 00:55:44GTK+においてはGlade/GladeXML、QtにおいてはQt Designer/ui ファイルということでいいのかな。
どちらもXMLの書式のリファレンスがすぐには見つからなかった。
XAMLとXULでは後者のほうが概念の直交性が優れてるけど、
Tk並みのウィジェット自動生成エンジンを用意しないといけないので、
お手軽にでっち上げようとするには荷が重いな。
(その代わり、アプリの開発側はウィジェットの座標決めをほとんどやらなくていいから楽だが)
さしあたりXAMLを簡略化した実装を作ってみて、フォーラムに投げてみようかしら。
0511デフォルトの名無しさん
2010/05/09(日) 01:16:330512505
2010/05/09(日) 01:58:23http://knivez.homelinux.org/~spro/d/dfl_xml.zip
さて、フォーラム行ってきます。
0513デフォルトの名無しさん
2010/05/09(日) 05:41:15はええよw
0514デフォルトの名無しさん
2010/05/10(月) 02:14:100515デフォルトの名無しさん
2010/05/10(月) 08:32:03こいつを盛り上げていこうぜ!
コード補完やソースブラウズ機能をつければ、鬼に金棒だ!
0516デフォルトの名無しさん
2010/05/10(月) 13:02:08更新追ってく楽しみもあるし、sakura+mingw32-makeでかりかりやってたけどこっち使ってみようかな。
とりあえずVC++と違ってデバッグなしで開始してもコンソールが止まってくれないのが(どうでもいいが)ちょっと不満。
0517デフォルトの名無しさん
2010/05/10(月) 16:27:410518デフォルトの名無しさん
2010/05/10(月) 16:48:32Visual StudioはUTF-8/cp932をそれぞれ正しく読み込んで保存できるけど、
DコンパイラはUTF-8じゃないとだめだもんな。
確かに、新規作成してそのまま保存するとcp932になるようだ。
[ファイル]-[保存オプションの詳細設定]
から変更かけられるけど、毎回やるのは……。
Visual Dのソースを弄ったら直るだろうか?
0519デフォルトの名無しさん
2010/05/10(月) 19:45:410520デフォルトの名無しさん
2010/05/10(月) 19:48:39Ascii圏の人が作ってるから気がつかないだけで単純なバグなんじゃないかなあ
0521デフォルトの名無しさん
2010/05/10(月) 20:13:380522デフォルトの名無しさん
2010/05/10(月) 20:28:29入れてみれ。
0523デフォルトの名無しさん
2010/05/10(月) 20:38:34XML読み込みとテンプレートエンジンは何を使ったらいい?
0524デフォルトの名無しさん
2010/05/10(月) 22:38:46テンプレートエンジンは…まあ頑張れ
0525デフォルトの名無しさん
2010/05/11(火) 01:47:240526デフォルトの名無しさん
2010/05/11(火) 19:36:560527デフォルトの名無しさん
2010/05/11(火) 20:15:390528デフォルトの名無しさん
2010/05/12(水) 13:04:39D言語で使い物になるテンプレートエンジンはないっぽい?
日本語圏で2件ほどあるけど、1件は仕様が不明。1件はソースコードが公開されてないっぽい。
海外ではヒットしなかった。(というかD言語関係は検索が難しい)
しょうがないので、簡単なものを自作してみる予定。
仕様はERB的なもので、テンプレートを置換してDソースを出力させ、
アプリ本体と一緒にコンパイルしてしまう仕様。
0529デフォルトの名無しさん
2010/05/12(水) 19:36:53CとかC++くらいメジャーになるとそうでもなくなるんだけど
0530デフォルトの名無しさん
2010/05/12(水) 22:51:48C#はさっさと名前変えやがれ
0531デフォルトの名無しさん
2010/05/12(水) 23:08:000532デフォルトの名無しさん
2010/05/13(木) 01:05:050533528
2010/05/13(木) 09:45:05出力結果がどうなるか制御してあげないといけないな。
そこで結局出力先のDソース自体がテンプレート構造になり……。
というのが現状。
もうちょっとマシにならないか考えているところ。
0534デフォルトの名無しさん
2010/05/14(金) 21:46:460535デフォルトの名無しさん
2010/05/14(金) 21:56:520536デフォルトの名無しさん
2010/05/15(土) 00:13:510537デフォルトの名無しさん
2010/05/15(土) 01:48:41基底クラスのprotectedなクラスを継承
http://codepad.org/D0FdAuWy
0538デフォルトの名無しさん
2010/05/15(土) 02:36:300540デフォルトの名無しさん
2010/05/15(土) 12:40:390541デフォルトの名無しさん
2010/05/15(土) 12:43:56>Bugzilla 1001: print stack trace (in debug mode) when program die
まままマジかガクガク
0542デフォルトの名無しさん
2010/05/15(土) 16:03:430543デフォルトの名無しさん
2010/05/15(土) 17:03:150544デフォルトの名無しさん
2010/05/15(土) 20:16:320545デフォルトの名無しさん
2010/05/15(土) 20:31:42以前は問題なかったような気がするんだよな
0546デフォルトの名無しさん
2010/05/15(土) 22:22:25D2はstableじゃないけどD1と互換性のないところも多々あるんだから、
そろそろこっちでコード書いた方がいいんじゃない? って聞いてみたら、
>That's a bit like saying "only a few people use perl6? almost all people still use perl5"
(それはほとんどだれもperl6を使ってないんじゃない? ほとんどすべての人がまだperl5を使ってる、というのと似ている)
と答えられてしまった。
まだD1使うべきなのか……。
0547デフォルトの名無しさん
2010/05/15(土) 22:36:210548デフォルトの名無しさん
2010/05/15(土) 22:37:58ほんま地獄やで
0549デフォルトの名無しさん
2010/05/15(土) 23:28:42一直線に良くなっていくならいいんだけどね。
前に使えた機能がバグって使えなくなったりとかが重なると泣きそうになる。
0550デフォルトの名無しさん
2010/05/21(金) 04:22:350551デフォルトの名無しさん
2010/05/21(金) 19:58:240552デフォルトの名無しさん
2010/05/21(金) 21:37:000553デフォルトの名無しさん
2010/05/21(金) 21:44:210554デフォルトの名無しさん
2010/05/21(金) 22:19:540555デフォルトの名無しさん
2010/05/22(土) 20:54:470556デフォルトの名無しさん
2010/05/22(土) 21:50:220557デフォルトの名無しさん
2010/05/23(日) 03:32:20http://www.asahi.com/politics/update/0522/TKY201005220233.html
黄砂対策で連携強化、日中環境相合意 中国へ資金協力も 2010年5月22日21時26分
小沢鋭仁環境相と中国の周生賢・環境保護部長は22日、北海道千歳市で会談し、春先に中国大陸から飛来する黄砂対策で
連携を強めることを確認した。環境省によると、中国の環境相に当たる周部長は、日本、中国、韓国の3カ国で黄砂の発生を
抑制する対策を話し合う作業部会を、年内に中国で開くと表明。小沢環境相は、中国の黄砂対策への資金協力に前向きな姿勢を示した。
3カ国は2006年、黄砂対策を進めることで合意。飛来状況のモニタリング(監視)と、発生抑制策の二つの課題で
共同研究を進めている。発生抑制策については、08年に1回目の作業部会が開かれたが、09年の2回目に中国が欠席、
議論が進んでいなかった。この日、周部長は会談で「隣国に迷惑はかけない」と話したという。
これに対し、小沢環境相は、途上国の温暖化対策を支援するために12年までに官民合わせて1兆7500億円を拠出する
「鳩山イニシアチブ」の一環として、資金協力する姿勢を見せた。
黄砂は洗濯物や車を汚すだけでなく、アレルギーなどの症状を悪化させる可能性が指摘されている。
0558デフォルトの名無しさん
2010/05/23(日) 06:18:430559デフォルトの名無しさん
2010/05/23(日) 10:20:580560デフォルトの名無しさん
2010/05/23(日) 20:17:38それなら民主党に売り込もうぜ
0561デフォルトの名無しさん
2010/05/23(日) 20:48:420562デフォルトの名無しさん
2010/05/23(日) 21:45:05ttp://labaq.com/archives/51451319.html
0563デフォルトの名無しさん
2010/05/25(火) 04:12:43あのスクリプトに民なんとかと入ってないかなと思ったが見当たらなかった。
0564デフォルトの名無しさん
2010/05/25(火) 21:23:270565デフォルトの名無しさん
2010/05/25(火) 21:33:372. C++を勉強する
3. 投げ出す
4.
↓後は任せた
0566デフォルトの名無しさん
2010/05/25(火) 21:37:31まずC++を勉強する。で、嫌になる。
D言語のスタートはそこからだ、頑張れ。
0567デフォルトの名無しさん
2010/05/25(火) 21:44:120568デフォルトの名無しさん
2010/05/25(火) 21:46:130569デフォルトの名無しさん
2010/05/25(火) 22:04:110570デフォルトの名無しさん
2010/05/25(火) 22:41:180571デフォルトの名無しさん
2010/05/25(火) 22:51:23オブジェクト指向に目覚めるが、Cでは継承がまともにできないことに気がつく。
C++言語を勉強する。
メモリ管理と多重継承と名前空間で死ぬ。
とここまでやったらD言語をやるといいな。
0572デフォルトの名無しさん
2010/05/25(火) 23:38:07それ俺だ……
0573デフォルトの名無しさん
2010/05/26(水) 00:22:10・破壊的変更
・ライブラリのポーティング
・メモリ周りはGCあるとむしろ面倒なことも多い(shared_ptrのほうがいいじゃん!
あたりが原因でC++に戻ってくるけど、
cppとhを両方書くこととかコンパイル速度あたりに、もはや自分が耐えられない身体になっていることに気づく。
一縷の望みをかけて.netに浮気をするが、結局『ネイティブコンパイル』という言葉のミリキに抗えない。
で、この辺りまでこぎ着けて、再びDスレを覗いてみて、判定に成功すればDに永住フラグが立つ。
判定基準はGUIライブラリがタイミングよく更新してるとか、IDEがちょっと使えるようになってるとか、そんなん。
0574デフォルトの名無しさん
2010/05/26(水) 01:10:07まさにそんな感じだ俺は
0575デフォルトの名無しさん
2010/05/26(水) 01:24:05それなんて俺?
0576デフォルトの名無しさん
2010/05/26(水) 07:01:370577デフォルトの名無しさん
2010/05/26(水) 07:51:100578デフォルトの名無しさん
2010/05/26(水) 08:46:17List<element> を使う。もうひとつの配列型。デリゲートの代わりにラムダ式を使う。デリゲートの本気モード。
0579デフォルトの名無しさん
2010/05/26(水) 09:41:46array = new List<double>();
array.Add(1);
real[] array;
array ~= 1;
変わんないっちゃ変わんないのではあるが。
あと固定長配列が配列長込みの型にならんのも意外と不便。
拡張メソッドに相当する機能は(配列対象に限定せず)欲しいなあと思った。
0580デフォルトの名無しさん
2010/05/26(水) 10:03:07C#側の初期化コードは初期化子を使えばもっと短くなるけど、スレ違いなのでやめておく。
>>あと固定長配列が配列長込みの型にならんのも意外と不便。
そうか? そういう情報は変数側に持たせるべきだと思うんだが。
C/C++では型として厳密に区別されているにも関わらず実用上としてはほぼ同じ構文、形態で使用するので
コンパイルエラーが発生した時の対処が難しいと思う。
(特に他人のライブラリを初めて使い始めた時とか)
だからWin32などでは固定長配列は全てstructのメンバとして持たせる実装になっている。
0581デフォルトの名無しさん
2010/05/26(水) 21:39:51その点Dは分かりやすくていい
全然関係ないけどいつの間にか__traits(getMember)なんてのが出来てたので
これ使えばある構造体やクラスの中のすべてのフィールドを列挙することとかできるんじゃね?と思ってやってみた
import std.stdio;
import std.traits;
void printAllMembers(T)(in T t) {
foreach (mem; __traits(allMembers, T))
static if (__traits(compiles, {void a(in typeof(__traits(getMember, t, mem)) t) {} a(__traits(getMember, t, mem));}))
writeln(Unqual!(typeof(__traits(getMember, t, mem))).stringof, " ", mem, " = ", __traits(getMember, t, mem));
}
class C {
int a = 1;
string b = "2";
real c = 3.0;
}
void main() { printAllMembers(new C); }
int a = 1
string b = 2
real c = 3
5行くらいで書けたwwwwwD最強杉wwwww
0582デフォルトの名無しさん
2010/05/26(水) 22:05:320583デフォルトの名無しさん
2010/05/26(水) 22:47:00class_copyIvarList()
0584デフォルトの名無しさん
2010/05/26(水) 23:47:37どうやっても改行コードが勝手に書き換えられてしまいます
dmd 2.043
0585デフォルトの名無しさん
2010/05/27(木) 02:38:00stdout.rawWriteは?
0587デフォルトの名無しさん
2010/05/27(木) 19:06:28ちょっと待った
これでどう?
import std.stdio;
import std.c.stdio : __fhnd_info, FHND_TEXT;
extern(C) int fileno(FILE*);
void main() {
__fhnd_info[stdout.getFP()._file] &= ~FHND_TEXT;
stdout.rawWrite("1\n2\n");
}
0589デフォルトの名無しさん
2010/05/27(木) 23:42:210590デフォルトの名無しさん
2010/05/27(木) 23:59:54プログラム自身からは出力先をテキストモードにすべきかバイナリモードにすべきか区別出来ないので
とりあえずテキストモードにしてるってことなんだろう。
どうせUnixじゃあ関係ない話だし。
0591デフォルトの名無しさん
2010/05/28(金) 00:06:00独自にI/Oランタイムを作るとC言語との連携で支障出るしなあ……。
ほんとにC言語は呪いやで。
0592デフォルトの名無しさん
2010/05/28(金) 00:11:24いやまさに。
C++最高ー! とか言ってる奴らがとても信じられない思いだ。
オレは大半のプログラムは軽量言語や.NET系で書いていて、
C/C++を使うのはそれで書かれたライブラリを使えるようにするために仕方なく、
という形で最後の手段にしているのに。
D言語は使えるかどうかまだ勉強中。
0593デフォルトの名無しさん
2010/05/28(金) 02:54:390594デフォルトの名無しさん
2010/05/28(金) 03:49:23rawWriteなんだからバイナリモードにするべきじゃないのかと思ったんだけど違うのか。
0595デフォルトの名無しさん
2010/05/28(金) 07:53:49最近はLLとかでも言語独自のI/Oを用意しだしてるよね
0596デフォルトの名無しさん
2010/05/28(金) 08:18:420597デフォルトの名無しさん
2010/05/28(金) 13:05:220598デフォルトの名無しさん
2010/05/28(金) 19:45:270599デフォルトの名無しさん
2010/05/28(金) 20:02:510600デフォルトの名無しさん
2010/05/28(金) 22:16:46って、ググったらまだ発行してんのね。ある意味すげーわ。
0601デフォルトの名無しさん
2010/05/29(土) 19:27:06そんな夢を見たんだ
0602デフォルトの名無しさん
2010/05/29(土) 20:40:18前弄ったときなんかあったような気がしたんだけど、なんだったか忘れちまった。
0603デフォルトの名無しさん
2010/05/29(土) 20:52:39・推移的constを使える
・phobosが超強化
・普通のクロージャが使える
・__traits
・更新されるたびにコードを全面修正する歓びを味わえる
推移的constとかは逆に地獄を見る事もあるけど
0604デフォルトの名無しさん
2010/05/30(日) 05:20:16ttp://www.kmonos.net/alang/d/2.0/features2.html
0605デフォルトの名無しさん
2010/06/01(火) 01:34:250606デフォルトの名無しさん
2010/06/01(火) 12:20:270607デフォルトの名無しさん
2010/06/01(火) 13:58:50取り敢えず開発には使えるレベル。
次のリリースでコード補完機能が実装されるみたい。
0608デフォルトの名無しさん
2010/06/01(火) 19:37:390609デフォルトの名無しさん
2010/06/01(火) 20:52:00なんかSHGetFileInfoっていうAPIだけまともに動かないんですが・・・
0610デフォルトの名無しさん
2010/06/01(火) 20:52:560611デフォルトの名無しさん
2010/06/01(火) 20:57:520612デフォルトの名無しさん
2010/06/01(火) 21:05:42たぶんまだ対応してないと思うけどそんなところにスニペットはオレは使わないから無問題。
>>609
C/C++用の各種デバッガが使える。
>>610
セットアップインストーラーで配布されてるのに何を言ってるんだ君は。
0613デフォルトの名無しさん
2010/06/01(火) 21:39:150614デフォルトの名無しさん
2010/06/02(水) 01:43:190616610
2010/06/02(水) 18:51:40すまん、言葉足らで。
セットアップインストーラーを使った後。
VisualStudioを起動して新規プロジェクトの作成する時、
「'ConsoleAPP1.visualdproj'を開けません。このバージョンのアプリケーションではサポートされないプロジェクトの種類(.visualdproj)です。」
ってエラーが出る。
他にもツール→オプション→プロジェクトおよびソリューション→Visual D Setting を選択すると。
「このプロパティページの読み込み中にエラーが発生しました」
以外、何も出ない。
VisualDは最新版と前バージョンを試したが結果は同じだった。
VisualStudioは2008。日本語版。
もしかして、英語版じゃないとVisualDは使えないの?
0617デフォルトの名無しさん
2010/06/02(水) 19:06:03それは正しくインストールされてないな。
日本語英語関係ないよ。
0618デフォルトの名無しさん
2010/06/02(水) 19:10:02追加。どちらかというと言語じゃなくてVisual Studioのエディションを疑うべきだと思うんだが。
0619610
2010/06/02(水) 21:22:00VisualDを一度アンインストールして、再インストールしてもダメだった。
Visual Studioのエディションを疑うべきって、俺のExpressなんだが。
standard か Professional が必要って事?
一度、Expressも再インストールしてみるわ。
0620デフォルトの名無しさん
2010/06/02(水) 21:23:38そりゃあはいるわけないわ。当たり前じゃん。
Visual Studio Expressは、Visual Studioではないよ。念のため。
0621デフォルトの名無しさん
2010/06/02(水) 21:27:48http://www.dsource.org/projects/visuald/wiki/Features
公式の説明くらい読もうぜ…
0622デフォルトの名無しさん
2010/06/02(水) 22:20:340623デフォルトの名無しさん
2010/06/03(木) 11:01:08(wchar*,uint,SHFILEINFOW*,uint,uint)
matches both:
dwt.internal.win32.WINAPI.SHGetFileInfoW(wchar*,uint,SHFILEINFOW*,uint,uint)
and:
dwt.internal.win32.WINAPI.SHGetFileInfoW(wchar*,uint,SHFILEINFOW*,uint,uint)
これエラーなんですかね?
0624デフォルトの名無しさん
2010/06/03(木) 19:36:140625デフォルトの名無しさん
2010/06/03(木) 20:04:19コンパイラのバグかもしれないし
0626デフォルトの名無しさん
2010/06/04(金) 04:03:50DWORD SHGetFileInfoA(LPCTSTR, DWORD, SHFILEINFOA*, UINT, UINT);
version(Win32SansUnicode) {
alias SHGetFileInfoA SHGetFileInfo;
} else {
alias SHGetFileInfoW SHGetFileInfo;
}
dwt.internal.win32.WINAPIのSHGetFileInfoの箇所をこう書き換えたらちゃんと動きました。
エラー時にどういう風に記述したかは忘れちゃった><
お騒がせしました。
0627デフォルトの名無しさん
2010/06/04(金) 04:11:45バグ報告してあげたら?
0628デフォルトの名無しさん
2010/06/04(金) 07:10:08でもaliveらしいよ
安心だね
0629デフォルトの名無しさん
2010/06/06(日) 21:52:14ここのところ韓国からだとdsource.orgに繋がらないらしい
ひょっとして時々dsource.orgに全然繋がらなくなるのは日本固有の問題なんだろうか?
0630デフォルトの名無しさん
2010/06/07(月) 10:46:34D言語のIRCチャンネルでdsouceはD言語で書き直せって
冗談で語られるくらいだからサーバー側の問題だよ。
日本からの海底ケーブルの品質がそんなに低いわけないだろ。
0631デフォルトの名無しさん
2010/06/07(月) 10:47:37>>629
0632デフォルトの名無しさん
2010/06/07(月) 18:14:19関数名がネームマングリングされていて読みにくいです。
なんとかする方法はないのでしょうか?
0633デフォルトの名無しさん
2010/06/07(月) 19:26:37古代、こいつを使え
0634デフォルトの名無しさん
2010/06/07(月) 21:22:10普段これのサンプルそのまま使ってるなあ
0635デフォルトの名無しさん
2010/06/07(月) 21:26:59ぴったりの物がphobosにあったんですね。thx
trace.logでもう1つ気になったんですけど、文字化けの部分があるんですよね。
stdioのFileで読み込もうとするとinvalid UTF-8 sequenceが発生して面倒くさいです。
文字化けの原因は何なのでしょうか?
0636デフォルトの名無しさん
2010/06/09(水) 17:18:14っていうのをdflで見つけたんですが、これをオンにするにはどうしたらいいんでしょう?
0637デフォルトの名無しさん
2010/06/09(水) 18:44:50コマンドライン引数で
-debug=SHOW_MESSAGE_INFO
を渡すんだ!
0638デフォルトの名無しさん
2010/06/10(木) 01:17:19ありがとうございます!
0639デフォルトの名無しさん
2010/06/10(木) 02:28:590640デフォルトの名無しさん
2010/06/10(木) 07:41:200641デフォルトのD言語erさん
2010/06/10(木) 07:44:46へぇー・・・5月にリリース。
来年の5月にですね。わかります。
0642デフォルトの名無しさん
2010/06/10(木) 21:40:53ところでインタフェースを使わずDuck Typingを使うのはいいとして
その場合「コンテナのコンテナ」みたいなのはどう表現すればいいんだ?
List!(List!(int)) listInList;
みたいなの
0643デフォルトのD言語erさん
2010/06/11(金) 00:23:19そんなかんじゃねえの。
unittest内のコード的だと、
auto listList = SList!(Slist!int);
みたいな。
つーか、dcollectionのphobos入りを否定したんだから、
早めにstd.containerをdcollection同等かそれ以上の機能を実装してもらいたい。
0644デフォルトの名無しさん
2010/06/11(金) 07:10:36全部SListならいいんだけど
listInList.add(new ArrayList!int);
listInList.add(new LinkedList!int);
みたいなのをやろうとしてはたと行き詰まったのよ
0645デフォルトの名無しさん
2010/06/11(金) 16:39:430646デフォルトの名無しさん
2010/06/11(金) 18:56:37その辺はStevenが協力してやるんじゃないかな
正直な所,考えていたのであればもっと前にstd.containerのAPIとか公開して欲しかった
0647デフォルトの名無しさん
2010/06/11(金) 19:33:530648デフォルトの名無しさん
2010/06/11(金) 19:35:480649デフォルトの名無しさん
2010/06/12(土) 16:03:16Error: identifier ** is not defined
と表示されるんですが・・・
importしても認識されない条件があるんでしょうか?
ちなみに フルパス **.**.hoge(class hoge)と指定するとエラーが消えます。
例えば
import omg.moge.hoge;
new hoge() // Error: identifier 'hoge' is not defined
new omg.moge.hoge.hoge();//エラーにならない
こんな感じです。
0650デフォルトの名無しさん
2010/06/12(土) 17:05:25そんなことならないけども
最小のサンプル見せて
0651デフォルトのD言語erさん
2010/06/12(土) 19:16:14dmd omg.moge.hoge.d は?
0652デフォルトのD言語erさん
2010/06/12(土) 20:12:320653デフォルトのD言語erさん
2010/06/12(土) 20:13:290654デフォルトのD言語erさん
2010/06/12(土) 21:24:11それはリンクまで行ってからエラー吐くと思う
>>649のエラーはdmdが吐く奴だった気がする
あれ?でも普通に見つからない場合は"undefined identifier"って言うよなぁ
0655デフォルトのD言語er651さん
2010/06/12(土) 22:00:22>>649は"undefined"を書き忘れたのかと思ったから、言ってみた。
"identifier"ってエラーは実は見たこと無いんだ。
0656デフォルトの名無しさん
2010/06/12(土) 22:23:03オレは逆にDFLのsubversion開発版を使うことでdmd2の最新版で動くようになったぞ。
0657デフォルトの名無しさん
2010/06/12(土) 23:50:51プロパティって+=演算とかに対応してないんですか
0658デフォルトの名無しさん
2010/06/13(日) 00:54:23する予定はあるらしい
0659デフォルトの名無しさん
2010/06/13(日) 00:55:300660657
2010/06/13(日) 02:09:500661デフォルトの名無しさん
2010/06/13(日) 05:06:42あれー?おかしいなあ。
入れ直してみる。
0662デフォルトの名無しさん
2010/06/13(日) 12:46:200663デフォルトの名無しさん
2010/06/13(日) 14:30:122.061だと?
0664デフォルトの名無しさん
2010/06/13(日) 15:15:150665デフォルトの名無しさん
2010/06/13(日) 15:37:04D1と混ざってました
生まれてきてすいません
0666デフォルトの名無しさん
2010/06/13(日) 17:27:300667649
2010/06/13(日) 20:12:05mixinを使用したファイルでもtemplate内で使用される別ファイルで定義されてる関数等は同じようにimportが必要なだけでした。
mixn使えばimportが延々と並ぶの防げるかなーとか考えてたんですが・・・・
単なる勉強不足でした。
0668デフォルトの名無しさん
2010/06/13(日) 21:43:25std.range.zipとstd.range.recurrenceはD言語の象徴的機能という感じだな。
std.range.zipあたりは素でこういう機能が欲しかったという感じなので、
なんというか感動的でさえある
C++で似たようなことをやるときはインターフェースとなるクラスにはめてからこういう操作やってたが、
型情報保存済みで素で出来るようになるというのが恐ろしい
0669デフォルトの名無しさん
2010/06/13(日) 22:31:29ttp://p-stade.sourceforge.net/oven/doc/html/oven/utilities.html#oven.utilities.zipped
0670デフォルトの名無しさん
2010/06/14(月) 20:08:09Bad file descriptor例外が出るんですけど何か回避方法は無いんでしょうか。
Poseidonのオプションの[-L/SUBSYSTEM:windows:4]を使っているせいかな?
dmdのバージョンは2.039です。
0671デフォルトの名無しさん
2010/06/15(火) 21:02:55同じプログラムを何回も実行すると文字化けする時と正常な時があり、実行時にエラーはでません。
どういった原因が考えられるのでしょうか?
0672デフォルトの名無しさん
2010/06/15(火) 21:04:580673デフォルトの名無しさん
2010/06/15(火) 21:08:050674デフォルトの名無しさん
2010/06/15(火) 21:40:13その変数の中身が他所から書きかえられてるのかなぁ
単純なプログラムなら調べもつくんだろうけど
0675デフォルトの名無しさん
2010/06/15(火) 21:42:35代入といってもコピーされるわけじゃないから
char[] b = "test";
char[] a = b;
b[1] = '*';
writefln(a); // t*st
0676デフォルトの名無しさん
2010/06/15(火) 21:50:29代入直後なら文字化けしないので、文字コードの問題ではない気がします。
>>674
簡単なテストコード書いても再現しないんですよね。
原因を特定するのが難しいです。
>>675
すみません、ただの代入ではなく
char[] str = "ほげ".dup;
のように複製してます。
そして、strを他の配列にはコピーしてないです。
コンパイラはdmd2.041です。
0677デフォルトの名無しさん
2010/06/15(火) 21:56:07破棄されたポインタを使おうとしてハマったりとかあったけど、この場合関係なさそうだな
2.041って配列にappendしたものをGCがカウントミスって回収しちゃうバグがあったような
GC offにして試してみたらどうだろう
0678デフォルトの名無しさん
2010/06/15(火) 22:17:33まさにそれでした!
GC.disable();
としたら、何度やっても文字化けしなくなりました。
どうもありがとうございました。
0679デフォルトの名無しさん
2010/06/15(火) 22:42:050680デフォルトの名無しさん
2010/06/16(水) 05:39:12一つ前とかなら分かるんだけど…
0681デフォルトの名無しさん
2010/06/16(水) 05:46:40- DMD
- Phobos
- ユーザコード
0682デフォルトの名無しさん
2010/06/16(水) 05:48:440683デフォルトの名無しさん
2010/06/16(水) 05:53:09最新版……dmd2.047にアップ。
GC.disable(); しなくても文字化けしない。
0684デフォルトの名無しさん
2010/06/16(水) 07:34:40ってエラーがでたんですが、何を追えばいいのかわかりません。
2回定義されてるって感じのエラーだと思うんですが、具体的にコードのどの部分かを知る方法ってないでしょうか?
0685デフォルトの名無しさん
2010/06/16(水) 08:10:34Tango……。
あんまりTangoを使うことオススメ出来ないな。
D2 + phobos はGood
0686デフォルトの名無しさん
2010/06/16(水) 08:37:39bugzillaによるとそのバグ修正されてるからTangoの環境によるのかなぁ
xfBuildのissue見てるとobjとlibで被っているとかあったけど,どれが原因かは分からんね
0687685
2010/06/16(水) 08:41:40と思うのは俺だけじゃないはず。
0688678
2010/06/16(水) 10:46:55新しいverを入れると既存のコードのコンパイルが通らなくなって、修正するのが面倒くさくて、つい先送りに・・・。
今回も2.047にするとstd.rangeのTakeやらRetroでコンパイルエラーが発生して直し方がわかりません。
2.046なら、今作ってるプログラムは1箇所簡単な修正で済んだので、とりあえずはこれで・・・。
0689デフォルトの名無しさん
2010/06/16(水) 20:16:16特にファイルパス周りがヤバい
std.pathは合理的だわ、std.fileへの関数の振り分け方の基準が謎だけど
でもtraitsとか使ってるとD2が欲しくなるなぁ
0690デフォルトの名無しさん
2010/06/16(水) 20:45:430691デフォルトの名無しさん
2010/06/17(木) 04:02:50ttp://www.amazon.co.jp/D-Programming-Language-Andrei-Alexandrescu/dp/0321635361
0692デフォルトの名無しさん
2010/06/17(木) 04:38:190693デフォルトの名無しさん
2010/06/17(木) 21:04:530694デフォルトの名無しさん
2010/06/17(木) 21:33:160695デフォルトの名無しさん
2010/06/17(木) 23:12:06確かにな、いつのバージョンだろ(笑
この2ヶ月でけっこー大きくphobosが変わったからな。
買うの危険?
0696デフォルトの名無しさん
2010/06/17(木) 23:26:260697デフォルトの名無しさん
2010/06/18(金) 01:31:24C:\dmd\dmd\bin\..\..\src\phobos\std\functional.d(179): instantiated from here: Body!(dchar,string)
C:\dmd\dmd\bin\..\..\src\phobos\std\algorithm.d(1984): instantiated from here: result!(dchar,string)
これってPhobosとdmdのバージョンがあってないんですかね?
0698デフォルトの名無しさん
2010/06/18(金) 07:08:37最近のdmdは一番大元の呼び出し元も教えてくれるんだっけ?
0699695
2010/06/18(金) 10:49:52std.containerが出たのは、つい最近だかな・・・。
dcollectionをphobosに入れたくないからって、
事前予告もなしに急に出てきたし。
それにミカン・・・。
>>643
同意。
0700デフォルトの名無しさん
2010/06/18(金) 19:19:47誰ぞインタフェース部分を乗っ取って博士のコードを内側に追いやってくれないかのう
0701デフォルトの名無しさん
2010/06/18(金) 19:22:540702デフォルトの名無しさん
2010/06/18(金) 19:33:21とかやらない限り無いねぇ
そして大抵は__FILE__も__LINE__も抜きに例外が投げられてる
アプリがどこで落ちたのか知りたい場合は-gオプション付きでコンパイルして
ddbg辺りで実行するなりすればいいと思う
0703デフォルトの名無しさん
2010/06/18(金) 23:53:29スタックトレースが最近入ったからそれで頑張ってくれ
0704デフォルトの名無しさん
2010/06/19(土) 02:41:41あれってなんなの?
どうすればスタックトレースを見られる?
0705デフォルトの名無しさん
2010/06/19(土) 11:03:36Windowsで見る方法あるの?
0706デフォルトの名無しさん
2010/06/19(土) 19:27:310707デフォルトの名無しさん
2010/06/19(土) 23:56:50import std.date;
d_time now = getUTCtime();
d_time old = now - ticksPerSecond * 60 * 60 * 24 * 365;
writeln(toString(old), toString(now));
Wed Jun 02 14:05:44 GMT+0000 2010Sat Jun 19 14:46:13 GMT+0000 2010
1年前の日付が表示されるつもりが、17日前の日付が表示されます。
どこが間違っているのでしょうか?それともphobosのバグ?
0708デフォルトの名無しさん
2010/06/20(日) 00:10:15>ticksPerSecond * 60 * 60 * 24 * 365
これがオーバーフローしてるみたいね
0709デフォルトの名無しさん
2010/06/20(日) 00:22:26なるほど。thxでした。
0711デフォルトの名無しさん
2010/06/23(水) 00:46:22Enter入力してもreadlnから抜けない気がする
↓をコマンドプロンプトで実行するとEnter毎に!が出るけど
cygtermだと何もでない。readlnが入力全部食ってる気がする
import std.stdio;
import std.cstream;
void main()
{
char s[];
while((s = readln()) !is null){
dout.writefln("!");
}
}
※cygterm=cygwinにteratermで接続するやつ
0712デフォルトの名無しさん
2010/06/23(水) 00:50:55readlnは改行コードCRLF、CR、LFに関わらず一行として認識すると
書いてあった気がするのだけどCRだけだとだめなんかね
0713デフォルトの名無しさん
2010/06/23(水) 13:24:38CR のみ判定しようとすると、LFが来るか来ないか待たないとダメだからな。
0714デフォルトの名無しさん
2010/06/23(水) 13:36:09CR 見た瞬間改行扱いにして、次のLFを無視するようにすればいいか。
ただ、CR 改行って Mac でしか見たことないんだよなぁ。
0715デフォルトの名無しさん
2010/06/24(木) 05:45:57dwtのドラッグする時にラベルのテキスト取りにいったら落ちるんですが
char[]を返してるだけなんですよね。
多分。
0716デフォルトの名無しさん
2010/06/24(木) 05:53:570717デフォルトの名無しさん
2010/06/24(木) 07:21:150718デフォルトの名無しさん
2010/06/24(木) 09:41:13サンプルもないし、SWTのソース流用してもdragStartすら呼ばれんのですが・・・
0719デフォルトの名無しさん
2010/06/24(木) 20:27:22TableのはバグってるけどTreeのドラッグは修正した記憶がない
0720デフォルトの名無しさん
2010/06/24(木) 21:13:26なんかおかしな点ありますか?
Listでやるとこのままでもうまくいくんですが・・・。
int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
// Create the drag source on the tree
DragSource ds = new DragSource(tree, operations);
TextTransfer[] t ;
t ~= TextTransfer.getInstance();
ds.setTransfer(t);
ds.addDragListener(new class(tree) DragSourceAdapter {
Tree tree;
this(Tree _tree) {
this.tree = _tree;
}
void dragStart(DragSourceEvent event) {
Stdout("drag").newline;
event.doit = (this.tree.getSelection().length != 0);
}
public void dragSetData(DragSourceEvent event) {
Stdout("dragSetData").newline;
// Set the data to be the first selected item's text
auto txt = new ArrayWrapperT!(char)(this.tree.getSelection()[0].getText());
event.data = txt;
}
});
0721デフォルトの名無しさん
2010/06/24(木) 21:55:13でも手元のプログラムのツリーではちゃんとドラッグできる
えええ何でやねん
TreeItemに画像を設定したり
DropTargetもつけてみたり
TextEditorをくっつけてみたり
してみたけどやっぱりできないな
何が違うんだ?
0722デフォルトの名無しさん
2010/06/24(木) 21:59:10…何でやねん
0723デフォルトの名無しさん
2010/06/24(木) 22:05:47ありがとうございます!
0724デフォルトの名無しさん
2010/06/25(金) 10:47:53コンストラクタでドラッグリスナーの処理を行うと落ちます。エラーメッセージは
dwt.DWTError.DWTError: Cannot initialize Drag
ですが全く同じ処理を、コンストラクタから抜けた直後に書く(関数を呼ぶ)と普通に実行出来ます。
auto tree = new CTree(shell);
tree.init(); <-ドラッグ処理
コンストラクタって何か気をつけてないといけない事があるんでしょうか?
0725デフォルトの名無しさん
2010/06/25(金) 19:24:06>public this(Control control, int style) {
> super(control, checkStyle(style));
> this.control = control;
> if (control.getData(DND.DRAG_SOURCE_KEY) !is null) {
> DND.error(DND.ERROR_CANNOT_INIT_DRAG);
> }
> control.setData(DND.DRAG_SOURCE_KEY, this);
DND.DRAG_SOURCE_KEYをキーにしてデータを登録する処理が
うっかりどこかで走ってるんじゃないかなあ
0726デフォルトの名無しさん
2010/06/25(金) 21:37:44mixinで2度同じ関数が呼ばれてました・・・。
おかげでバグが取れました。ありがとうございます。
連投を重ねてすいませんが、恥をしのんであと一つお願いします><
ドラッグしたTreeItemが黒いのは、これもやはり自分のバグなんでしょうか?
画像をつけるとそこだけはちゃんとアイコンが表示されてるんですが。
0727デフォルトの名無しさん
2010/06/25(金) 22:13:05画像を作ってるのはTreeDragSourceEffect.getDragSourceImage()だから
その辺を調べるといいのかも
0728デフォルトの名無しさん
2010/06/26(土) 05:38:57そうなんですか・・・
>>720
で試して頂いた奴でもならなかったって事でしょうか?
となると自分の環境の問題なのかなぁ・・・
とりあえず頂いたヒントを調べてみます。ありがとうございました。
0729デフォルトの名無しさん
2010/06/26(土) 16:11:16環境次第で何が起きても驚かん
0730デフォルトの名無しさん
2010/06/27(日) 21:46:59writeln("abcd"[i..i + 4]);// "abcd"
writeln("abcd"[i..i += 4]);// ""
これってバグですか?
0731デフォルトの名無しさん
2010/06/27(日) 21:50:360732デフォルトの名無しさん
2010/06/28(月) 21:49:100733デフォルトの名無しさん
2010/06/28(月) 21:58:180734デフォルトの名無しさん
2010/06/28(月) 22:19:22cdecllってことでしゅ
0735デフォルトの名無しさん
2010/06/28(月) 22:25:43完全趣味で完全クローズドで未成年なのでそんなのどうでもいいです
>>734
なるほど
ありがとうございました
0736デフォルトの名無しさん
2010/06/29(火) 08:08:42構造体の配列を確保するときにデフォルトコンストラクタがあると
0で埋めるんじゃなくて要素数分コンストラクタを呼ばないといけなくなって
パフォーマンスに問題が出るから、だと思う。
0737デフォルトの名無しさん
2010/06/29(火) 10:52:200738デフォルトの名無しさん
2010/06/29(火) 18:19:01thx
0739デフォルトの名無しさん
2010/06/29(火) 19:42:43union {T field;}
}
A!(int, real, string) a;
a.field[0] = 0;
a.field[1] = real.nan;
a.field[2] = "aho";
foreach (f; a.field) writeln(f);
みたいなことができると今日知った
仕様書に書いてあればいいのに
0740デフォルトの名無しさん
2010/06/29(火) 21:51:590741デフォルトの名無しさん
2010/06/29(火) 22:12:300743デフォルトの名無しさん
2010/06/29(火) 23:03:39最初
T field;
とやったらできなくて、だったらどうやってstd.typecons.Tuple実現できるねん
と思ってソース見たらunionがいた
0744デフォルトの名無しさん
2010/06/29(火) 23:12:360745デフォルトの名無しさん
2010/06/29(火) 23:26:370746デフォルトの名無しさん
2010/06/30(水) 01:00:100747デフォルトの名無しさん
2010/06/30(水) 07:21:40じゃああの時出たエラーは別の要因だったのか…
union意味ねぇ!
0748デフォルトの名無しさん
2010/06/30(水) 22:45:58std.socketの改造の話が!
0749デフォルトの名無しさん
2010/06/30(水) 23:07:03標準ライブラリだけでfork-execやりたいです
0750デフォルトの名無しさん
2010/07/01(木) 02:48:350751デフォルトの名無しさん
2010/07/01(木) 10:06:17std.processって別ブランチで新しいの開発されてるけどいつマージされるのやら
0752デフォルトの名無しさん
2010/07/01(木) 21:38:19すばらしいね
未来はバラ色だな
0753デフォルトの名無しさん
2010/07/02(金) 05:28:290754デフォルトの名無しさん
2010/07/02(金) 19:24:43Dの有償IDEとか人類史上希に見る大胆なプロダクト
0755デフォルトの名無しさん
2010/07/02(金) 21:13:26ばかな・・・
0756デフォルトの名無しさん
2010/07/02(金) 21:36:40本体のバージョンアップで全て台無しにされる未来が……
0757デフォルトの名無しさん
2010/07/02(金) 21:49:35↓
IDEのバージョンアップ
↓
アップデートは有償
↓
ウマー
0758デフォルトの名無しさん
2010/07/02(金) 22:07:470759デフォルトの名無しさん
2010/07/02(金) 22:11:57まだ大丈夫だ
0760デフォルトの名無しさん
2010/07/02(金) 22:29:560761デフォルトの名無しさん
2010/07/02(金) 22:44:210762デフォルトの名無しさん
2010/07/02(金) 22:56:11DOS-BASIC
は許してあげて下さい…
0763デフォルトの名無しさん
2010/07/02(金) 23:02:53toString16(tango)で変換した文字列渡すと指定されたモジュールが見つかりませんとかでるんですが・・・
0764デフォルトの名無しさん
2010/07/02(金) 23:04:28でもリテラルで直接渡すとちゃんと通るんですよね・・・。何か間違ってるんでしょうか?
0765デフォルトの名無しさん
2010/07/02(金) 23:39:140766デフォルトの名無しさん
2010/07/03(土) 00:13:41はい。自分の環境だと自動的にLPCWSTR(wchar*)になってしまうんですが、tangoの方はそっちはくれないんですよね。
0767デフォルトの名無しさん
2010/07/03(土) 00:22:38main関数からもらったパス(args[][])のargs[0]をtango.io.FilePathに渡すと
tango.core.Exception.IOException: unexpected '\' character in path: D:\declipse\workspace\xdwt\main.exe・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
というエラーが出るんで、\を/に変えて使ってるんですが、
すると上記のエラーが出てしまうんです。
0768デフォルトの名無しさん
2010/07/03(土) 00:32:24auto fp = new FilePath(standard(args[0]));
auto lpcwstr = toString16z(toString16(fp.native().toString()));
多分こんな感じじゃないか?
0769デフォルトの名無しさん
2010/07/03(土) 08:33:56うまくいきました。
ありがとうございました。
0770デフォルトの名無しさん
2010/07/03(土) 15:14:020771デフォルトの名無しさん
2010/07/03(土) 16:39:570772デフォルトの名無しさん
2010/07/03(土) 21:04:090773デフォルトの名無しさん
2010/07/03(土) 21:19:07これって正常なんですかね?
0774デフォルトの名無しさん
2010/07/03(土) 21:53:080775デフォルトの名無しさん
2010/07/03(土) 22:45:120776デフォルトの名無しさん
2010/07/03(土) 23:38:080777デフォルトの名無しさん
2010/07/04(日) 10:22:190778デフォルトの名無しさん
2010/07/05(月) 22:03:05dmdからFFTWを呼ぶ場合、
implibでlibfftw3-3.dllを処理したlibをリンクし、
リンケージはextern(Windows)ではなくextern(C)を使う
</俺専用メモ>
0779デフォルトの名無しさん
2010/07/06(火) 07:50:280780デフォルトの名無しさん
2010/07/07(水) 11:58:52xml手書きするおとこの人って、、、
0781デフォルトの名無しさん
2010/07/07(水) 16:42:21HAGE = cast(Fuga*) 0b1,
...
}
てな感じで列挙体定義すると
Hoge.HAGE
で
Error: no property 'HAGE' for type 'Fuga'
って怒られてしまう。
これってDMDのバグ?
0782デフォルトの名無しさん
2010/07/07(水) 18:14:310783デフォルトの名無しさん
2010/07/08(木) 04:43:16ポインタの下位3ビットが0になることを利用して、
1つの値で31ビット整数とポインタ値を表現できるってやつをやろうとしてるのです。
スクリプト言語の値表現でよく使われるやつ。
で、処理系の実装上で使う特殊な定数値をenumで定義しようとして>>781のエラーにぶちあたった。
けどDにはGCがあるからポインタ直接触るのはよくないっぽいね
0784デフォルトの名無しさん
2010/07/08(木) 14:20:29ポインタで持たなければいいんじゃない?
0785デフォルトの名無しさん
2010/07/08(木) 19:33:47それはそれとして>>781の挙動はバグな気がする
0786デフォルトの名無しさん
2010/07/09(金) 21:21:400787デフォルトの名無しさん
2010/07/09(金) 22:25:130788デフォルトの名無しさん
2010/07/09(金) 22:32:000789デフォルトの名無しさん
2010/07/09(金) 22:47:28かといってC++は複雑すぎるからもうちょっと簡単にしようぜってのがD
0790デフォルトの名無しさん
2010/07/09(金) 23:21:28C++系言語はどこまで発展できるか検証するための
実験言語じゃないの?
0791デフォルトの名無しさん
2010/07/09(金) 23:58:180792デフォルトの名無しさん
2010/07/10(土) 00:15:11SelectionListenerだとなぜかTreeItem追加した時に反応するだけで
選択時には無反応です。
TreeItem選択時や、ダブルクリックに対するリスナーってどれなんでしょうか?
0793デフォルトの名無しさん
2010/07/10(土) 00:32:13俺のところでは(ry
DWTの場合色々と変なところで動作が食い違ってきたりするからなー
dsssとbudでビルドしたら動作が違ったり
budで-guiをつけたらClipboard#disposeで死んだり
で、仕様ではSelectionListenerで正しいはず
0794名無しさん@そうだ選挙に行こう
2010/07/10(土) 07:12:06dmdとかでもやってみます。
ありがとうございました。
0795名無しさん@そうだ選挙に行こう
2010/07/10(土) 08:15:410796名無しさん@そうだ選挙に行こう
2010/07/10(土) 08:41:44そのせいで複数のクラスとか構造体から同じ動的配列への参照を持たせたいときに、
単純に空配列を渡しただけじゃうまくいかない。
長さ0の動的配列を含めて、同じ配列の実装を共有するためにラッパクラス作ったんだけど、
何か他にうまい方法無いでしょうか。
class RefArray(T) {
T[] list
alias list this;
}
0797名無しさん@そうだ選挙に行こう
2010/07/10(土) 18:12:06無論饅頭こわい的な意味だな
0798名無しさん@そうだ選挙に行こう
2010/07/10(土) 18:50:46複数のクラスや構造体から参照されるってことはそういう役目があるんだろうし
適切な名前をつけてあげれば悪い方法じゃないと思うけども(RefArrayという名前は微妙)
0799名無しさん@そうだ選挙に行こう
2010/07/10(土) 19:31:360800名無しさん@そうだ選挙に行こう
2010/07/10(土) 20:07:41んだね。ただし、
(A)
this () {
this(1);
}
(B)
this (int x) {
}
のような場合、(B)から(A)は呼ばれないはず…
なんだけど、(B)をtemplate mixinしたら循環呼び出しだたわけと怒られた事がある
0801名無しさん@そうだ選挙に行こう
2010/07/10(土) 21:09:51そうなんだ。しかし、共通の処理をthis()に入れてMixinしたろーと思ったら
this no match for implicit super() call in constructor
って出たんですが、これは何ですか?
0802名無しさん@そうだ選挙に行こう
2010/07/10(土) 21:36:520803名無しさん@そうだ選挙に行こう
2010/07/10(土) 21:44:36なるほど・・・、そういえば無かった。
勉強になりました。
0804名無しさん@そうだ選挙に行こう
2010/07/11(日) 19:26:020805名無しさん@そうだ選挙に行こう
2010/07/11(日) 19:59:220806デフォルトの名無しさん
2010/07/13(火) 23:59:45ocamlでは、
let twice f x = f (f x)
と書けるのですが、
D言語で、うまく書く方法はないのでしょうか.
0807デフォルトの名無しさん
2010/07/14(水) 00:03:220808デフォルトの名無しさん
2010/07/14(水) 00:30:07T delegate(T) twice(T)(T delegate(T) f) {
return (T x) { return f(f(x)); };
}
と書いてみたのですが、
auto f = twice(&twice!(int));
と書くと、
twice(T) cannot deduce template function from argument types !()(int delegate(int x) function(int delegate(int x) f))
となり、エラーがでてしまいます.
0809デフォルトの名無しさん
2010/07/14(水) 00:59:03int func(int x) { return x*2; }
alias compose!(func,func) twice;
void main()
{
assert( twice(1)==4 );
}
こんな感じだろうか?>>808
0810デフォルトの名無しさん
2010/07/14(水) 01:34:30ありがとうございます.しかし、>>808の関数も、
int func(int x) { return x*2; }
void main() {
assert(twice(&func)(1) == 4);
}
は、うまく動きますが、
auto f = twice(&twice!(int));
とすると、>>808のようにエラーがでてしまいます.
0811デフォルトの名無しさん
2010/07/14(水) 01:45:01[0, 1, 2, 3][0..length];// Error: ScopeDsymbol using 'length' inside [ ] is deprecated, use '$' instead
なら変数のほうを見てくれよ・・・
0812デフォルトの名無しさん
2010/07/14(水) 03:19:36>>809 の compose は template なのでそういうのは無理でしょうね。
>>810 のように書くとしたら、
T delegate(T) twice(T)(T delegate(T) f){
return (T x){ return f(f(x)); };
}
void main(){
int func(int x) { return x*2; }
auto tf = twice(&func);
auto ttf = twice( twice(&func) );
assert( tf(1) == 4 );
assert( ttf(1) == 16 );
}
こんなのはいかがでしょうか?
func がデリゲートじゃないといけないのがヤルセないですが、これはそのうち改善されるらしいです。
ちなみに 809 で使った std.functional.compose でも、
alias compose!(func,func,func,func) ttf;
で関数4回適用できます。
0813806
2010/07/14(水) 09:16:17ありがとうございます.
auto f = twice(&twice!(int));
のエラーですが、 &twice!(int) の型が function なので、
import std.functional;
auto tt = twice(toDelegate(&twice!(int)));
とすれば、うまくいきました.
0814デフォルトの名無しさん
2010/07/14(水) 19:36:480815デフォルトの名無しさん
2010/07/14(水) 20:32:370816デフォルトの名無しさん
2010/07/14(水) 21:28:000817デフォルトの名無しさん
2010/07/14(水) 22:13:420818デフォルトの名無しさん
2010/07/14(水) 22:44:280819デフォルトの名無しさん
2010/07/14(水) 23:08:56語尾ははっきりと言いましょう
0820809
2010/07/15(木) 00:48:52半分以上寝てたからなんか話がずれてますね。ごめんなさい。
でも解決してよかった。
0821デフォルトの名無しさん
2010/07/15(木) 14:21:580822デフォルトの名無しさん
2010/07/16(金) 19:51:24これでネイティブ描画でDLLを同梱する必要が無くてライセンスがBSDなら完璧なんだけどな
0823デフォルトの名無しさん
2010/07/16(金) 21:51:500824デフォルトの名無しさん
2010/07/17(土) 00:14:29IDEとしてVisual Dが出て、
「やさしいD」、「Dの絵本」なんて本がでたら勝利コース
0825デフォルトの名無しさん
2010/07/17(土) 01:43:090826デフォルトの名無しさん
2010/07/17(土) 13:56:31D is better D..
0827デフォルトの名無しさん
2010/07/17(土) 14:11:000828デフォルトの名無しさん
2010/07/17(土) 15:14:34絶 対 に 出ねーから安心しな
D#なら出るかもしれんなw
0829デフォルトの名無しさん
2010/07/17(土) 17:20:27>仕様が完全に決まって、
この段階でももう無理
0830デフォルトの名無しさん
2010/07/17(土) 17:33:13ここが無理
0831デフォルトの名無しさん
2010/07/17(土) 20:30:06仕様が固まる前にVisual Dが出てしまっているからそのプロセスは既に無理
0832デフォルトの名無しさん
2010/07/17(土) 21:12:50Andrei Alexandrescu 著
0833デフォルトの名無しさん
2010/07/17(土) 23:44:440834デフォルトの名無しさん
2010/07/17(土) 23:49:410835デフォルトの名無しさん
2010/07/17(土) 23:53:40Andreiはコンパイラには精通してないから,その辺はWalterとかDonが書きそう
0836デフォルトの名無しさん
2010/07/19(月) 15:07:070837デフォルトの名無しさん
2010/07/19(月) 15:49:230838デフォルトの名無しさん
2010/07/19(月) 16:36:500839デフォルトの名無しさん
2010/07/19(月) 16:37:130840デフォルトの名無しさん
2010/07/19(月) 18:56:53p = &a[0];
で、アドレスを取得しようとすると、
参照が指してるアドレスじゃなくて、参照自体のアドレスが返ってくるのな。
0841デフォルトの名無しさん
2010/07/19(月) 19:24:59再現しなかった@dmd 2.047
int[] a = [1,2,3,4,5];
dout.writefln("&a = %s", &a);
foreach (i; 0..a.length)
dout.writefln("&a[%d] = %s", i, &a[i]);
&a = 12FE04
&a[0] = 924CE0
&a[1] = 924CE4
&a[2] = 924CE8
&a[3] = 924CEC
&a[4] = 924CF0
0842デフォルトの名無しさん
2010/07/19(月) 20:26:10ごめん、>>840は推測で書いちまった。
俺がちゃんと検証すればいいんだけどね...
本当は、
S[] a;
S*[] d;
//中略。
b[0] = &a[0];
と、やった上で、いろいろ処理をやったら、
b[0]の値は変わってないのに、
b[0] != &a[0];
になってるバグに遭遇して、なんでだろう?と、思って。
0843デフォルトの名無しさん
2010/07/19(月) 20:29:470844デフォルトの名無しさん
2010/07/20(火) 04:41:12aの長さを変えたりとかしてreallocationが起きたんじゃない?
0845デフォルトの名無しさん
2010/07/20(火) 06:36:450846デフォルトの名無しさん
2010/07/20(火) 07:10:48現状コピーGCじゃないという悲しい現実…
0847デフォルトの名無しさん
2010/07/20(火) 07:46:400848842
2010/07/20(火) 11:02:10そもそも俺は、動的配列をこんな構造だと勝手に思ってた。
a ⇒配列の先頭アドレスを指す。
a[x] ⇒配列の実データを指す。
でも実際は、a[x]が実データなのだろうか?
どっちにしても、いきなりデータの整合性が取れなくなるのは、気分悪い・・・
0849デフォルトの名無しさん
2010/07/20(火) 19:37:09struct {
size_t length;
int* ptr;
}
という構造だとどこかで見たな
0850デフォルトの名無しさん
2010/07/20(火) 19:37:25動的配列は配列の先頭要素のアドレスと、長さからなる構造体って考えると理解しやすいかも
a = [1,2,3];
b = a; (ここで、先頭要素のアドレスと長さがコピーされる)
b.length = 5;
とかやるとaの要素が置かれている領域とは別の領域が確保され、bはそっちのアドレスを指すことになる。
結果としてaとbは全く別の配列を指すことになる。
あと、長さ0の動的配列 == nullだから
a = [];
b = a;
とした場合、aとbは完全に独立な配列で、片方の変更はもう片方に伝播しない。
動的配列は参照型って言語仕様には書かれてるけど、これを素直に解釈すると混乱のもとだと思う。
0851デフォルトの名無しさん
2010/07/20(火) 19:45:11a[x]は実データなはずだけど。
それと、コピーGCが再配置したとしても、b[0]のアドレスも書き換えるのではなかろうか。
一番有り得そうなのは >>844 の意見じゃないかなぁ
in-placeな関数とかプロパティとか使ったりするとそうなるかもしれない
0852デフォルトの名無しさん
2010/07/21(水) 20:19:13ja.uncyclopedia.info/wiki/D%E8%A8%80%E8%AA%9E
0853デフォルトの名無しさん
2010/07/21(水) 20:40:09Lと名付けられた言語は複数あって、論理設計用のものからTCL/TKで作られたToy言語まで
どれも有名だよ?
0854デフォルトの名無しさん
2010/07/21(水) 21:19:28「ごきげんよう」
0855デフォルトの名無しさん
2010/07/22(木) 00:05:420856デフォルトの名無しさん
2010/07/22(木) 00:38:58ほとんど誰も知らないような言語を並べていくと
AからZまで全部あるはず
0857デフォルトの名無しさん
2010/07/22(木) 06:42:460858デフォルトの名無しさん
2010/07/22(木) 07:22:08天下のGoogleですらGOなんて名前を付けちゃうし
0859デフォルトの名無しさん
2010/07/22(木) 13:23:15エディタの名前とか見てると特にそう思う。
0860デフォルトの名無しさん
2010/07/22(木) 14:00:590861デフォルトの名無しさん
2010/07/22(木) 20:02:250862デフォルトの名無しさん
2010/07/22(木) 20:04:57A言語のHello, Worldは実に振るってるな
0863デフォルトの名無しさん
2010/07/23(金) 01:30:240864デフォルトの名無しさん
2010/07/23(金) 07:00:350865デフォルトの名無しさん
2010/07/23(金) 19:54:43こうだろ。
0866デフォルトの名無しさん
2010/07/23(金) 20:05:30これを応用すればhello worldの一つや二つ
0867デフォルトの名無しさん
2010/07/25(日) 15:05:350868デフォルトの名無しさん
2010/07/25(日) 17:33:470869デフォルトの名無しさん
2010/07/25(日) 19:48:360870デフォルトの名無しさん
2010/07/25(日) 20:30:110871デフォルトの名無しさん
2010/07/25(日) 21:57:360872デフォルトの名無しさん
2010/07/25(日) 22:57:460873デフォルトの名無しさん
2010/07/25(日) 23:33:47http://twitter.com/D_Programming/status/18467677902
0874デフォルトの名無しさん
2010/07/26(月) 06:57:19Walterも「64bit対応はそれほど難しくない」っぽいことをMLで話してたし順調っぽいね
0875デフォルトの名無しさん
2010/07/26(月) 12:40:170876デフォルトの名無しさん
2010/07/26(月) 15:01:1832bitアプリをそのままコンパイルしただけじゃメモリ空間が広くなるだけ?
0877デフォルトの名無しさん
2010/07/26(月) 19:23:000878デフォルトの名無しさん
2010/07/26(月) 22:17:54D言語は最初から64bit対応が考慮されてるだけだし、あとは実装するだけ。
dmdがんばれー
0879デフォルトの名無しさん
2010/07/26(月) 22:33:450880デフォルトの名無しさん
2010/07/26(月) 22:54:17realでも80bitだったよね?
0881デフォルトの名無しさん
2010/07/26(月) 23:05:380882デフォルトの名無しさん
2010/07/26(月) 23:06:240883デフォルトの名無しさん
2010/07/27(火) 06:02:390884デフォルトの名無しさん
2010/07/29(木) 22:03:100885デフォルトの名無しさん
2010/07/29(木) 22:11:330886デフォルトの名無しさん
2010/07/30(金) 18:43:17みんな恐い物を話す中で一人だけ黙っているものがいました。
Walter「おい、松ちゃん。恐いものはないのかい。」
松 「恐い! 恐いもんなんか何もないよ。」
Walter「CもC++もJavaも恐くないんかい。」
松 「そんなものは恐くないよ。・・・・」
しかし突然話すのを止めてしまった。
Walter「どうしたんだい。」
松 「恐いものを思い出しちゃった。」
Walter「それはなんだい。ぜひ教えてくれよ。」
松 「あ、新しいプログラミング言語が恐い。」
Walter「新しいプログラミング言語、そりゃどういう言語だい。」
松 「C++をベースにした言語なんだ。JavaやRubyやPythonのいいとこどりした言語なんだ。ああ思い出しただけで気持ち悪くなる。」
顔色がみるみるうちに悪くなってきた。
松「ああ、座ってられない。隣の部屋に布団をしいてくれ。」
床に入ると、とうとう毛布で顔をおおってしまいました。
これを見て、Walterは笑って、いたずらをすることにしました。
0887デフォルトの名無しさん
2010/07/30(金) 18:45:34それをネットで公開し、こっそり松ちゃんのPCにインストールし、気がつくのを待ちました。
Walter「ねえ。松ちゃん。起きなよ。もうお開きだよ。」
松 「わかったよ。起きるよ。でももう新しい言語のことは言わないでくれよ。」
Walter「わかったよ。もう話さないよ。」
大きな叫び声が聞こえた。
松「うわ、新しい言語だ。みょうな機能が一杯だ。」
となりの部屋のWalterは大満足。
松「おいWalter、どうしてこんなことをするんだよ。約束しただろう。D言語こわい。D言語恐い。」
大きな声をあげれば上げるほど、Walter大喜び。
松「うわ、連想配列だ。恐い、恐い。」
「うわ、遅延評価だ。恐い、恐い。」
「うわ、テンプレート恐い。べんり・・。こわい・・。」
様子のおかしいのに気がついて部屋の中を覗いてみました。
Walter「うれしそうだぜ。コンパイルしてるぜ。こりゃだまされた。ねえ、松ちゃん、一体何が恐いんだい。」
松「クロージャが恐い。」
0888デフォルトの名無しさん
2010/07/30(金) 19:26:350889デフォルトの名無しさん
2010/07/30(金) 20:01:411.0とか2.0とかよくわからん。
普段Perl使ってて、時々Cとかに手を出すんだが、正規表現とかって充実してる?
0890デフォルトの名無しさん
2010/07/30(金) 20:24:59と仕様には書いてある
0891デフォルトの名無しさん
2010/07/30(金) 20:28:24機能は前者の方が充実してるような感じ
俺がちょっと使うくらいなら便利なんだけどPerlでバリバリやってるような人から見るとどうなんだろ
0892デフォルトの名無しさん
2010/07/30(金) 21:10:21ふむ。新しく何かとってきて組み替る必要がない 旨が仕様に書いてある のはよさそう。
でも
>モジュールが混在してる
ってよく分からんwww開発途上なのか?
0893デフォルトの名無しさん
2010/07/30(金) 21:26:49↓
Dがバージョン1になったよ
↓
まだまだ色々拡張したい、とりあえず安定版をバージョン1にして
バージョン2に色々拡張していくよ
↓
Phobos古くなってきたしTangoライブラリとして再設計するよ
↓
Phobos捨てがたいし、混ぜちゃえ☆
(tangobosの誕生)
↓
D言語のバージョン1とバージョン2、ライブラリのPhobosとTangoがごっちゃごちゃ ← 今ここ
0894デフォルトの名無しさん
2010/07/30(金) 21:29:580895デフォルトの名無しさん
2010/07/30(金) 21:58:03GUIライブラリに到ってはもっと混乱してる上にプロジェクトの大半が崩壊してるが正規表現とは関係ないから安心(ry
0896デフォルトの名無しさん
2010/07/30(金) 22:03:53逆になんでD使ってんだよwww
0897デフォルトの名無しさん
2010/07/30(金) 22:35:210898デフォルトの名無しさん
2010/07/30(金) 22:39:54しかし、遅いならともかく早すぎて追いつけないって……
0899デフォルトの名無しさん
2010/07/30(金) 22:47:25だからNは少しだけ
中途半端なのです
0900デフォルトの名無しさん
2010/07/30(金) 23:54:330901デフォルトの名無しさん
2010/07/31(土) 00:17:00マクロとか無くてすっきりかっこいい。オブジェクト指向に書ける。
これでいいじゃんD言語。
0902デフォルトの名無しさん
2010/07/31(土) 00:58:020903デフォルトの名無しさん
2010/07/31(土) 02:21:240904デフォルトの名無しさん
2010/07/31(土) 02:47:02確かに文字列とかはCやC++よりちょっと扱いやすい印象かもしれない。
0905デフォルトの名無しさん
2010/07/31(土) 02:51:12filename = sub(file,"\\","");
std.regexp.RegExpException: no character past '\'
これってなんで例外でるんだ?
0906デフォルトの名無しさん
2010/07/31(土) 03:42:22"\\\\"
r"\\"
`\\`
お好きなのどーぞ
0907デフォルトの名無しさん
2010/07/31(土) 08:34:55Tangoは消える運命だしPhobosを強化してD2が今のコミュニティの方向
後Tangoが出たのってD2の前じゃないっけ?
>>903
並行GCがいつか来るよ!
0908デフォルトの名無しさん
2010/07/31(土) 08:52:01ただのライブラリなら神だったのに
0909デフォルトの名無しさん
2010/07/31(土) 13:10:31いやそうではなくて
いま
string line[i] = r"base=C:\Program Files\hogehoge\"(末尾改行コード無し)
みたいなのだとして
string base = sub(line[i],"^base=","");
とかはうまくいったから
base = sub(base,"\\$","");
とかやろうと思ったら上手く処理できないので前述のを試してみたらエラーと。
\はなにか別の処理が要ったりするのか?
0910デフォルトの名無しさん
2010/07/31(土) 14:28:43で、これは正規表現だと意味のある文字だから
それをさらにエスケープして\\\\にしなきゃならない
それか\\がエスケープされない文字列形式を使う
という意味でそ
0911デフォルトの名無しさん
2010/07/31(土) 14:31:47正規表現コンパイラに渡されるのは "\$
0912911
2010/07/31(土) 14:32:52・・・途中投稿してごめんなさい吊ってきます
0913デフォルトの名無しさん
2010/07/31(土) 14:38:27ああそうか初歩的ミススマソ……
まどろっこしいな……
0914デフォルトの名無しさん
2010/07/31(土) 15:11:54お前が死んだら誰がD言語を支えるんだ!
もっと熱くなれよ!
0915デフォルトの名無しさん
2010/07/31(土) 18:37:44外部の関数を呼び出したら、重くなったんだけど…
なぜだ。(D1.063)
0916デフォルトの名無しさん
2010/07/31(土) 18:55:420917デフォルトの名無しさん
2010/07/31(土) 19:00:52重くなかったら…
0918デフォルトの名無しさん
2010/07/31(土) 20:43:070919デフォルトの名無しさん
2010/08/01(日) 01:03:000920デフォルトの名無しさん
2010/08/01(日) 07:24:59うわぁぁぁぁぁぁぁぁぁぁぁぁぁぁ!!!!
なんでみつかんねぇんだぁぁぁぁあああああ!!!
0921デフォルトの名無しさん
2010/08/01(日) 08:22:49そのエラーは確保してない領域(null含む)にアクセスした時に出るエラーだから、
>>920が考えてる原因、とは別の所に原因がある可能性も。
0922917
2010/08/01(日) 11:24:33・・・これどうするかねえ。
0923デフォルトの名無しさん
2010/08/01(日) 12:38:130924917
2010/08/01(日) 12:45:19http://www.dotup.org/uploda/www.dotup.org1066114.zip.html
test1⇒ 手動でインライン展開したバージョン。
test2⇒ 関数呼び出しをしているバージョン。
test3⇒ もしやと思いforをgotoに変えたバージョン、だが特に何もなかったぜ!
関数呼び出し重すぎ。
0925デフォルトの名無しさん
2010/08/01(日) 12:49:430926917
2010/08/01(日) 12:55:01上げるzipを間違えた・・・
http://www.dotup.org/uploda/www.dotup.org1066137.zip.html
0927デフォルトの名無しさん
2010/08/01(日) 13:11:11ウォルたんに言ったら直してくれるんじゃね
0928デフォルトの名無しさん
2010/08/01(日) 14:13:17まあテンプレートミックスインとかにして強制的にインライン化すればいいよ
0929917
2010/08/01(日) 15:04:12英語わかんないの・・・
0930デフォルトの名無しさん
2010/08/01(日) 15:19:370931デフォルトの名無しさん
2010/08/01(日) 16:14:19まじ別の場所にいた・・
ぬるぽ!
0932デフォルトの名無しさん
2010/08/01(日) 16:19:01ガッ!
バグの原因見つかって何より。 ・・・見つかったんだよね?
0933デフォルトの名無しさん
2010/08/01(日) 17:01:48もっと呼び出し回数を減らせるような関数を作ればいいんじゃないかなと思う。
0934デフォルトの名無しさん
2010/08/01(日) 18:08:39ライブラリリファレンスをちゃんと見たら、
四角形塗りつぶしする関数があったのは内緒だ。
0935デフォルトの名無しさん
2010/08/01(日) 21:10:42一部要素がnullになってるリストがあって
nullな要素のインデックスを覚えといて
後でそこを埋める処理書いてたんだけど
(↑効率悪いってのは気にしないでくれ・・)
覚えてたインデックスが間違ってて、
リストの要素が全てnull以外になってることを
想定してた処理で死んでた。
全く関係ない関数からretするだけでエラー落ちしてたから
意味わからず3日間悩んでたよ・・・
やっと見つかったは良かったけど今ソース中がprintfだらけなんだぜ!!
0936デフォルトの名無しさん
2010/08/01(日) 21:13:28debug = HOGE_PRINT;
とやって
debug(HOGE_PRINT) writeln(〜〜
ってやったりするよね
0937デフォルトの名無しさん
2010/08/01(日) 21:18:020938デフォルトの名無しさん
2010/08/01(日) 21:27:190939デフォルトの名無しさん
2010/08/01(日) 21:48:180940デフォルトの名無しさん
2010/08/01(日) 21:51:01c = a + b; /* 念のため */
0941デフォルトの名無しさん
2010/08/01(日) 22:16:52printf()だらけあるあるwww
そして、いざデバックの為にコンパイルしようとしたら、
printf()の構文でエラーを吐くのはもっとある。
ちなみにバグを見つけるだけなら、契約の仕組みが非常に役にたつ。
俺がちょっと前に書いたプログラムは、この仕組みが無かったら、どうなっていたか分からんね。
0942デフォルトの名無しさん
2010/08/01(日) 22:19:28ねーよ。
昔の時代のことはしらねーけど。
>>940
もっと信用してあげて下さい…
0943デフォルトの名無しさん
2010/08/02(月) 05:59:05普通に定義すると not covariant with object.Object.opEeuals とか言われる
0944デフォルトの名無しさん
2010/08/02(月) 06:44:35immutable関係なくシグネチャ間違ってると予想。
0945デフォルトの名無しさん
2010/08/02(月) 07:21:16ソースはこんな感じ。
immutable class Hoge
{
string toString() { return "Hoge"; }
bool opEquals(Object other) { return false; }
}
コンパイル結果は
opequals.d(3): Error: function opequals.Hoge.toString of type immutable string() overrides but is not covariant with object.Object.toString of type string()
opequals.d(4): Error: function opequals.Hoge.opEquals of type immutable bool(Object other) overrides but is not covariant with object.Object.opEquals of type bool(Object o)
エラーメッセージから察するに Object に immutable bool opEquals(Object) が宣言されてないと駄目っぽい?
0946デフォルトの名無しさん
2010/08/02(月) 08:12:30抜け道だけなら、immutableではない継承階層を作って、
そこでimmutable_toStringでも定義して、元のtoStringからimmutable_toStringを呼んでおいて、
Hogeではimmutable_toStringをオーバーライドするとか……試してないけど。
単にObject.toStringにimmutableを付ければいいってもんでもないよな……const他の修飾子もあるし
さあWalterタンに報告だ!w
0947デフォルトの名無しさん
2010/08/02(月) 10:56:250948デフォルトの名無しさん
2010/08/03(火) 05:46:33struct A {
int value;
alias value this;
}
void main()
{
A a = {123};
if ( a==123 && a!=123 )
writeln( "???" );
}
==と!=が同時にtrueって一体どういうことなんだ?
0950デフォルトの名無しさん
2010/08/03(火) 20:21:21C#の方が食い扶持があるぞ
0951デフォルトの名無しさん
2010/08/03(火) 20:28:06どれくらいの初心者?
とりあえずわなD
0952デフォルトの名無しさん
2010/08/03(火) 20:30:43Dはhellowroldをを実行したぐらい
0954デフォルトの名無しさん
2010/08/03(火) 21:41:420955デフォルトの名無しさん
2010/08/03(火) 21:49:330956デフォルトの名無しさん
2010/08/03(火) 22:04:050957デフォルトの名無しさん
2010/08/04(水) 00:38:560958デフォルトの名無しさん
2010/08/04(水) 12:02:21char[128] mChar;
}
int main(){
for(int Count = 0; Count < 1000; ++ Count){
writefln("Count = %d",Count);
STest[] mTests;
for(int i = 0 ; i < 1000; ++ i){
STest Test;
mTests ~= Test;
}
mTests.clear;
}
return 0;
}
WindowsのDMD2.046で上記のコードでmTests.clear;のタイミングでメモリが解放されてないっぽいのですがこれはそういうものなのでしょうか。
0959デフォルトの名無しさん
2010/08/04(水) 16:14:440960デフォルトの名無しさん
2010/08/04(水) 16:22:22大抵はよほど空きが貯まらない限りは再利用のために取っとく。独自メモリマネージャを実装してる言語はみんなそう
0961デフォルトの名無しさん
2010/08/04(水) 19:04:06もう書いてあるっけ?
0962デフォルトの名無しさん
2010/08/04(水) 19:49:05レス数が950を超えています。1000を超えると書き込みができなくなります。