プログラミング言語 D (D Programming Language) について語るスレッドです。
■本家
http://dlang.org/ - 公式(英語)
http://www.kmonos.net/alang/d/ - 公式の和訳 (やや古いので注意)
https://issues.dlang.org/ - D言語バグ報告
https://github.com/D-Programming-Language - D言語開発リポジトリ
■Wiki
http://wiki.dlang.org/ - 公式Wiki
http://dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)
■プログラミング言語D (TDPL: The D Programming Language)
Andrei Alexandrescu 日本語版
http://www.shoeisha.co.jp/book/detail/9784798131108
ソース貼付サイト http://dpaste.dzfl.pl/
<$><$> https://www.bountysource.com/trackers/383571-d-programming-language
■前スレ
D言語 Part33
http://toro.2ch.net/test/read.cgi/tech/1396145538/
■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000
探検
D言語 Part34©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2015/01/25(日) 12:07:29.52ID:gAd5OZDm
161デフォルトの名無しさん
2015/04/13(月) 19:57:56.23ID:S0M+DdK2 D言語パーフェクトガイドの時代が来たようだな
162デフォルトの名無しさん
2015/04/14(火) 22:00:35.44ID:TJwhWYq7 スマホアプリが作れれば流行るんじゃね?
163デフォルトの名無しさん
2015/04/14(火) 22:05:11.14ID:NpitylM9 Visual D使ってる人に質問です。
Visual Dって標準ライブラリの予測変換でないんですか?
Visual Dって標準ライブラリの予測変換でないんですか?
164デフォルトの名無しさん
2015/04/14(火) 22:38:44.42ID:o5X1XXSP165デフォルトの名無しさん
2015/04/14(火) 23:57:41.21ID:VlJAU5Jf どうせ出てほしい時に出なくて
必要ないときに邪魔なポップアップが出るみたいな
お粗末なものにしかならないべ
言語設計レベルからそこまで考慮してないと
必要ないときに邪魔なポップアップが出るみたいな
お粗末なものにしかならないべ
言語設計レベルからそこまで考慮してないと
166デフォルトの名無しさん
2015/04/15(水) 18:59:26.48ID:V49K0zxq C#はforeach使うとGCが増えるらしいけど
Dはどうなの?
Dはどうなの?
167デフォルトの名無しさん
2015/04/15(水) 21:22:05.40ID:DNCbFPiX Dってどこで学んだらいいんだ
dlang.orgしかない?
dlang.orgしかない?
168デフォルトの名無しさん
2015/04/15(水) 22:20:50.17ID:kuK1eeQu https://gist.github.com/repeatedly/2470712
ここ読んで文法身につけて、
標準ライブラリは公式がそこそこわかりやすいからそれで。
(日本語訳はちょっと古いが、参考には十分なる)
んで、わからないことはここか、
最近はtwitterで#dlangのハッシュタグつけて質問するのも流行り。
自分も去年一度質問投げたら、一時間で三人から同じ解答来て震えた。
ここ読んで文法身につけて、
標準ライブラリは公式がそこそこわかりやすいからそれで。
(日本語訳はちょっと古いが、参考には十分なる)
んで、わからないことはここか、
最近はtwitterで#dlangのハッシュタグつけて質問するのも流行り。
自分も去年一度質問投げたら、一時間で三人から同じ解答来て震えた。
169デフォルトの名無しさん
2015/04/15(水) 22:50:13.61ID:H6ZOKNFw >>164
ありがとうございました。なんか出てきました。
ありがとうございました。なんか出てきました。
170デフォルトの名無しさん
2015/04/16(木) 06:03:51.02ID:3n63vngU 以前にC++とねんごろになれるうpあったとか見た気がしたけど、あれは幻覚だったのかこの流れ見ると
171デフォルトの名無しさん
2015/04/17(金) 08:38:36.34ID:LOaAnlcG namespaceに対応したり、C++側でインスタンス化されたテンプレートがDから使えるようになったんじゃなかったっけ?
C++ヘッダを直接import出来るようにするDコンパイラも開発されてるけど結構実用的ぽい
https://github.com/Syniurge/Calypso/blob/master/tests/calypso/libstdc++/vector/vector.d
C++ヘッダを直接import出来るようにするDコンパイラも開発されてるけど結構実用的ぽい
https://github.com/Syniurge/Calypso/blob/master/tests/calypso/libstdc++/vector/vector.d
172デフォルトの名無しさん
2015/04/17(金) 13:06:38.13ID:n6u60MAl >C++ヘッダを直接import出来るようにするDコンパイラも開発されてるけど結構実用的ぽい
あ、それいいね。てかそれしないと普及しないでしょ。互換性は大事。
COMとかもそもまま使えるようになるんかね。
あ、それいいね。てかそれしないと普及しないでしょ。互換性は大事。
COMとかもそもまま使えるようになるんかね。
173デフォルトの名無しさん
2015/04/21(火) 22:23:29.12ID:k+lIUh1M ☆ 日本の核武装は絶対に必須ですわ。☆
http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html
☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると日本国憲法の改正です。皆様方、必ず投票に自ら足を運んでください。
私たちの日本国憲法を絶対に改正しましょう。☆
http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html
☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると日本国憲法の改正です。皆様方、必ず投票に自ら足を運んでください。
私たちの日本国憲法を絶対に改正しましょう。☆
174デフォルトの名無しさん
2015/04/22(水) 16:58:34.80ID:w0Yyg9N7 dsource.org もいよいよ廃止に向かう模様
使ってる人ほとんどいないだろうけど
使ってる人ほとんどいないだろうけど
175デフォルトの名無しさん
2015/04/22(水) 17:06:41.43ID:QMLocF8n ちなみに移住先は?最近D使ってないんでよくわからんけど
176デフォルトの名無しさん
2015/04/22(水) 17:25:07.03ID:Atokf9a2 >>2のDUBに登録が最近の流行り
177デフォルトの名無しさん
2015/04/23(木) 15:06:10.81ID:atwBzKak ノイズが減るのは良いこと
178デフォルトの名無しさん
2015/04/23(木) 19:54:37.61ID:g8/zXSRM この言語
親クラスのprivate変数に継承先のクラスがアクセスできるじゃん
親クラスのprivate変数に継承先のクラスがアクセスできるじゃん
179デフォルトの名無しさん
2015/04/23(木) 19:58:37.29ID:lZQ1F1hI 継承先のクラスが同一ファイル内にないか?
同一ファイル内のメンバは常にpublicだぜ
同一ファイル内のメンバは常にpublicだぜ
180デフォルトの名無しさん
2015/04/23(木) 20:23:40.71ID:g8/zXSRM まじかよ酷いな
ファイル=モジュールだからファイル分けるの面倒くさい
ファイル=モジュールだからファイル分けるの面倒くさい
181デフォルトの名無しさん
2015/04/24(金) 06:25:45.44ID:6TulMhAx 同一ファイル内にあるものは自動的にfriendだと思えばC++より便利だな
182デフォルトの名無しさん
2015/04/26(日) 21:31:40.36ID:M02Af7kd D2はまだ使用が固まってないからとうぶんの間は開発にはD1を使うことになるな
183デフォルトの名無しさん
2015/04/26(日) 23:49:43.65ID:NpZzAF6y 1のことは忘れるんだ……。
2も最近は破壊的変更が少ないし、
どうしても仕様が固まってるものを求めてるなら別の言語のほうがいいよ。
少なくともD1を使っていいことは一つもないと思う。
2も最近は破壊的変更が少ないし、
どうしても仕様が固まってるものを求めてるなら別の言語のほうがいいよ。
少なくともD1を使っていいことは一つもないと思う。
184デフォルトの名無しさん
2015/04/27(月) 01:41:11.15ID:nAsvEGea じゃあC++使うかな
とは言えない雰囲気
とは言えない雰囲気
185デフォルトの名無しさん
2015/04/27(月) 03:54:29.19ID:3o/5kFDH D1かC++かならまじでC++使えばいいと思うよ
雰囲気っていうか、まあ確かにC++使うならここで宣言する必要はないと思うけど
雰囲気っていうか、まあ確かにC++使うならここで宣言する必要はないと思うけど
186デフォルトの名無しさん
2015/04/27(月) 07:50:54.32ID:XqA1wgYz 意外なことにrustの方が言語とAPI仕様の安定化に積極的っぽい
187デフォルトの名無しさん
2015/04/27(月) 08:51:18.76ID:ZDDsb7dY 明確なゴールもなくフワフワと手を広げるから収束しないんだよ
188デフォルトの名無しさん
2015/04/27(月) 19:40:18.02ID:u+p+733x effectivec++読んだ時点でc++を見限らない奴はセンス無い
189デフォルトの名無しさん
2015/04/27(月) 19:41:43.14ID:JZyYoAVB190デフォルトの名無しさん
2015/04/30(木) 23:13:29.89ID:DC2IuzKP PCがオワコンになって一般人はスマホやアップルウォッチしかコンピューターを持たない時代が来るのに
Dを始めとするPCアプリ専用言語に未来はあるのか
Dを始めとするPCアプリ専用言語に未来はあるのか
191デフォルトの名無しさん
2015/05/01(金) 12:43:57.40ID:ZnsZ9ufL >>190
そもそも、一般人はプログラミングしていない。
そもそも、一般人はプログラミングしていない。
192デフォルトの名無しさん
2015/05/01(金) 15:43:57.35ID:VV0Lze55 サーバーサイドでも使われないとか終わってる
193デフォルトの名無しさん
2015/05/03(日) 12:05:34.37ID:frUd71C/194デフォルトの名無しさん
2015/05/11(月) 22:49:25.75ID:umG0fBs5 Tcpを用いたサーバーアプリケーションを作成しています。
一つのSocketを処理するスレッドをspawnで起動しようとしたのですが、
"Aliases to mutable thread-local data not allowed." というエラーが出てしまいます。
Socketをスレッドのコンテキストとして渡す方法はありますか?
一つのSocketを処理するスレッドをspawnで起動しようとしたのですが、
"Aliases to mutable thread-local data not allowed." というエラーが出てしまいます。
Socketをスレッドのコンテキストとして渡す方法はありますか?
195デフォルトの名無しさん
2015/05/19(火) 19:36:36.05ID:nbiNTEdK sharedクラスに突っ込むとかかな
196デフォルトの名無しさん
2015/05/20(水) 14:35:43.34ID:RjQMrwaX enumのメンバの中からランダムに1つ取り出すにはどう書いたらいいですか?
197デフォルトの名無しさん
2015/05/20(水) 17:11:00.71ID:VhPE5aVV import std.stdio, std.traits, std.random;
enum E { Hard, Normal, Easy, }
auto lv = [ EnumMembers!E ];
lv[ uniform(0, 3) ].writeln();
enum E { Hard, Normal, Easy, }
auto lv = [ EnumMembers!E ];
lv[ uniform(0, 3) ].writeln();
198デフォルトの名無しさん
2015/05/20(水) 17:35:41.74ID:RjQMrwaX199デフォルトの名無しさん
2015/05/20(水) 19:21:10.83ID:VhPE5aVV あ、配列なんだからuniform(0, $)でよかった…。
タプルの配列化?みたいな
他にも関数の引数リストとか、構造体のメンバ変数を
タプルでとれたり、std.traitsは結構楽しい
タプルの配列化?みたいな
他にも関数の引数リストとか、構造体のメンバ変数を
タプルでとれたり、std.traitsは結構楽しい
200デフォルトの名無しさん
2015/05/23(土) 09:46:23.34ID:LbQhEyX4 メンバにUDAを付加するだけで
文字列化やシリアライズのメソッドが自動or暗黙生成されるような
いい感じの小技はないかしら
文字列化やシリアライズのメソッドが自動or暗黙生成されるような
いい感じの小技はないかしら
201デフォルトの名無しさん
2015/05/23(土) 20:05:33.06ID:T/VMnfch static ifと文字列mixinを駆使すればなんでもできそう
コードはくっそ汚くなるけど…というかいくらなんでも汚すぎるので俺がなにか勘違いしてる
class Cls {
@getset(true, true) private string prop;
mixin Prop!(__traits(allMembers, typeof(this)));
}
struct getset {
bool get, set;
this (bool get, bool set) { this.get = get; this.set = set; }
}
mixin template Prop(Members...) {
static if (Members.length) {
mixin("alias Alias = " ~ Members[0] ~ ";");
static if (is(typeof(__traits(getAttributes, Alias)[0])==getset)) {
static if (__traits(getAttributes, Alias)[0].get) {
mixin("auto get_" ~ Members[0] ~ "() { return " ~ Members[0] ~ "; }");
}
static if (__traits(getAttributes, Alias)[0].set) {
mixin("void set_" ~ Members[0] ~ "(" ~ typeof(Alias).stringof ~ " value) { " ~ Members[0] ~ " = value; }");
}
}
mixin Prop!(Members[1..$]);
}
}
void main() {
import std.stdio;
auto cls = new Cls;
cls.set_prop("getset");
writeln(cls.get_prop()); // write "getset"
}
コードはくっそ汚くなるけど…というかいくらなんでも汚すぎるので俺がなにか勘違いしてる
class Cls {
@getset(true, true) private string prop;
mixin Prop!(__traits(allMembers, typeof(this)));
}
struct getset {
bool get, set;
this (bool get, bool set) { this.get = get; this.set = set; }
}
mixin template Prop(Members...) {
static if (Members.length) {
mixin("alias Alias = " ~ Members[0] ~ ";");
static if (is(typeof(__traits(getAttributes, Alias)[0])==getset)) {
static if (__traits(getAttributes, Alias)[0].get) {
mixin("auto get_" ~ Members[0] ~ "() { return " ~ Members[0] ~ "; }");
}
static if (__traits(getAttributes, Alias)[0].set) {
mixin("void set_" ~ Members[0] ~ "(" ~ typeof(Alias).stringof ~ " value) { " ~ Members[0] ~ " = value; }");
}
}
mixin Prop!(Members[1..$]);
}
}
void main() {
import std.stdio;
auto cls = new Cls;
cls.set_prop("getset");
writeln(cls.get_prop()); // write "getset"
}
202デフォルトの名無しさん
2015/05/24(日) 19:07:17.52ID:TlBS03PH これいいなあ
それにしてもstatic foreachが欲しい…
それにしてもstatic foreachが欲しい…
203デフォルトの名無しさん
2015/06/13(土) 18:35:51.38ID:GIDis6QW204片山博文MZ ◆T6xkBnTXz7B0
2015/06/17(水) 19:52:38.87ID:/OO8ry8l Dの簡単インストーラー作るぜ。アイデア募集。
205片山博文MZ ◆T6xkBnTXz7B0
2015/07/03(金) 16:37:05.52ID:Cj/+Kw22206デフォルトの名無しさん
2015/07/03(金) 16:45:04.27ID:PTQIZZxq 苛寝
207デフォルトの名無しさん
2015/07/09(木) 00:26:47.91ID:vgLfGCMi std.experimental.allocator の vote 始まった
https://github.com/andralex/phobos/tree/allocator/std/experimental/allocator
http://erdani.com/d/phobos-prerelease/std_experimental_allocator.html
https://github.com/andralex/phobos/tree/allocator/std/experimental/allocator
http://erdani.com/d/phobos-prerelease/std_experimental_allocator.html
208デフォルトの名無しさん
2015/08/07(金) 01:19:25.71ID:AOl5d/Q7 vote
209デフォルトの名無しさん
2015/08/11(火) 09:22:39.47ID:JJHEPwAB 2.068
210デフォルトの名無しさん
2015/08/11(火) 21:22:49.65ID:/rELv5XJ AliasSeq を Alias Equal と読み間違ってしまうマン
211デフォルトの名無しさん
2015/08/20(木) 19:16:20.38ID:6X6++Eio お前らってeclipseのDDT使ってるの?
212デフォルトの名無しさん
2015/09/12(土) 04:06:34.44ID:+P5YetMW CTFE時に連想配列の値が上書きされてしまう。
http://dpaste.dzfl.pl/4daf8db6ce08
http://dpaste.dzfl.pl/4daf8db6ce08
213212
2015/09/13(日) 01:16:43.63ID:6EXYsBmd >>212 がgithub版でもおきるかなー?と思ったんだけど、github版dmdをコンパイル中にエラーが出た。
内容は、「ソースに\r\nが含まれますよ」というもの。
出してるのは、dmd -run src/checkwhitespace.d の部分。
このツールは
1. \r\n がソースに含まれている場合。
2. インデントに\tを使っている場合。
3. 行末に不要な空白文字がある場合。
にエラーを出すようなんだけど、3はともかく、これで行くことに決まったのかな。
smart-tab派なんだけどなー。
あ、github版でも212は再現しました。
内容は、「ソースに\r\nが含まれますよ」というもの。
出してるのは、dmd -run src/checkwhitespace.d の部分。
このツールは
1. \r\n がソースに含まれている場合。
2. インデントに\tを使っている場合。
3. 行末に不要な空白文字がある場合。
にエラーを出すようなんだけど、3はともかく、これで行くことに決まったのかな。
smart-tab派なんだけどなー。
あ、github版でも212は再現しました。
214デフォルトの名無しさん
2015/09/14(月) 08:11:30.88ID:zHbMvpj8 dmdがDベースになるね
215デフォルトの名無しさん
2015/09/23(水) 01:15:09.12ID:c39jTuOR おまいらこれはなんでなんだぜ
http://dpaste.dzfl.pl/7fa1a12a8c4a
1. enum をクラスインスタンスで初期化できない→わかる。構造体でラップすると通る→?
2. 1. において、ラップされたクラスが mutable。
http://dpaste.dzfl.pl/7fa1a12a8c4a
1. enum をクラスインスタンスで初期化できない→わかる。構造体でラップすると通る→?
2. 1. において、ラップされたクラスが mutable。
216215
2015/09/24(木) 17:04:49.35ID:Q3uW0SwS >>215 自己レスなんだけど、
1. https://issues.dlang.org/show_bug.cgi?id=11697
2. https://issues.dlang.org/show_bug.cgi?id=12385
なんだって。
1. https://issues.dlang.org/show_bug.cgi?id=11697
2. https://issues.dlang.org/show_bug.cgi?id=12385
なんだって。
217デフォルトの名無しさん
2015/09/26(土) 08:34:31.58ID:58nZ62zg218デフォルトの名無しさん
2015/09/29(火) 09:14:53.57ID:2BMWd/g5 2.068.2 出てた
ちなみに Win32-COFF が隠しオプション(-m32mscoff)で出来るようになってるので
OMF/optlink がイケてないと思っていた諸兄は試してみるがよいよいよい
ちなみに Win32-COFF が隠しオプション(-m32mscoff)で出来るようになってるので
OMF/optlink がイケてないと思っていた諸兄は試してみるがよいよいよい
219デフォルトの名無しさん
2015/10/04(日) 20:25:42.92ID:fx9NWY8o int arr[x][y][z];
これと同じメモリレイアウトでヒープに確保するにはどうすればいいですか?
これと同じメモリレイアウトでヒープに確保するにはどうすればいいですか?
220219
2015/10/04(日) 20:56:03.94ID:fx9NWY8o new int[x*y*z]でよかった。
問題なのはint[]のメモリへのアクセスをint[x][y][z]と同じようにする方法だった。
問題なのはint[]のメモリへのアクセスをint[x][y][z]と同じようにする方法だった。
221219
2015/10/04(日) 20:59:30.10ID:fx9NWY8o 自己解決。
[0][0][0],[0][0][1]...[0][1][0],[0][1][1]...の順番で並んでるだけだった。
[0][0][0],[0][0][1]...[0][1][0],[0][1][1]...の順番で並んでるだけだった。
222デフォルトの名無しさん
2015/10/06(火) 01:18:13.90ID:4WYMUnp4 くっそ!
↓Manifest ConstantsのenumとAAのからみがおかしい。
http://dpaste.dzfl.pl/36ab529d6fc5c
↓CTFEで変数を修飾する方のscope class使うと abnormal termination
http://dpaste.dzfl.pl/8ad7e24e5d05
↓Manifest ConstantsのenumとAAのからみがおかしい。
http://dpaste.dzfl.pl/36ab529d6fc5c
↓CTFEで変数を修飾する方のscope class使うと abnormal termination
http://dpaste.dzfl.pl/8ad7e24e5d05
223デフォルトの名無しさん
2015/10/09(金) 21:58:55.85ID:So4fPMkx const class A { int a; this(int v) { a = v; } }
このクラスAを値に持つ連想配列を作りたいんだけど、
const(A)[int] hoge = [1: new const A(1)];
hoge[3] = new const A(3); // cannot modify const expression hoge[3]
みたいに、初期化はできても代入ができない。
A[int] hoge = cast(A[int])[1: new const A(1), 2: new const A(2)];
hoge[3] = cast(A)new const A(3);
てなふうにcastしたら回避できたけど、なんか美しくない。
typeof(new const A(1)).stringof == "const(A)" なのがおかしい気がするんだが。
このクラスAを値に持つ連想配列を作りたいんだけど、
const(A)[int] hoge = [1: new const A(1)];
hoge[3] = new const A(3); // cannot modify const expression hoge[3]
みたいに、初期化はできても代入ができない。
A[int] hoge = cast(A[int])[1: new const A(1), 2: new const A(2)];
hoge[3] = cast(A)new const A(3);
てなふうにcastしたら回避できたけど、なんか美しくない。
typeof(new const A(1)).stringof == "const(A)" なのがおかしい気がするんだが。
224223
2015/10/09(金) 23:28:50.19ID:So4fPMkx225デフォルトの名無しさん
2015/10/10(土) 00:27:09.81ID:MYHuAGIQ const classとかscope classとかは今もまともに使おうと思えないね
普通のclass内でメンバをconstにするとかじゃないとまともに動く気しない
普通のclass内でメンバをconstにするとかじゃないとまともに動く気しない
226デフォルトの名無しさん
2015/10/15(木) 18:54:50.42ID:pJRyZOgY nullではなく、空の連想配列で初期化するにはどうすればよいですか?
227デフォルトの名無しさん
2015/10/16(金) 08:36:04.34ID:CAVKRc42 空の配列 == null なので無理
ただし空文字列 "" は例外 落とし穴になりがちなので注意
ただし空文字列 "" は例外 落とし穴になりがちなので注意
228デフォルトの名無しさん
2015/10/16(金) 13:11:04.24ID:TDfNRPC3 ちょっと良くわかりませんが、D言語は空の配列すら作れないんですか?
不便ですね
不便ですね
229デフォルトの名無しさん
2015/10/16(金) 17:46:08.84ID:ZZ3JoxKg nullでない空ってなに
230デフォルトの名無しさん
2015/10/16(金) 17:54:55.90ID:MCgyDKhx a = {};
こんなのを期待してるのかな
こんなのを期待してるのかな
231226
2015/10/16(金) 18:32:37.08ID:+5uWvhRc >>227-230 レスありがとう。やりたかったのはこういうことです。
string[string] buf;
auto buf2 = buf;
buf2["hello"] = "world";
buf.writeln; // > []
これと↓
string[string] buf = ["": ""];
buf.remove("");
auto buf2 = buf;
buf2["hello"] = "world";
buf.writeln; // > ["hello":"world"]
では結果が違うわけだけど、後半の上2行を初期化1行で書きたいな。
という話でした。
string[string] buf;
auto buf2 = buf;
buf2["hello"] = "world";
buf.writeln; // > []
これと↓
string[string] buf = ["": ""];
buf.remove("");
auto buf2 = buf;
buf2["hello"] = "world";
buf.writeln; // > ["hello":"world"]
では結果が違うわけだけど、後半の上2行を初期化1行で書きたいな。
という話でした。
232デフォルトの名無しさん
2015/10/16(金) 19:36:08.03ID:TDfNRPC3 結局どういうことなんですか?
Dでは空の配列を作れないんですか?
必ず何か入っていなければダメなんですか?
int[] a; って書けば空の配列になるんじゃないんですか?
Dでは空の配列を作れないんですか?
必ず何か入っていなければダメなんですか?
int[] a; って書けば空の配列になるんじゃないんですか?
234デフォルトの名無しさん
2015/10/16(金) 21:47:10.30ID:BcAfRt/g235226
2015/10/16(金) 22:51:07.22ID:GwISFyO6236デフォルトの名無しさん
2015/10/17(土) 09:05:55.54ID:M7lcZRBS >>231
バグっぽい removeしつくしたら null になってるはずなんだけど
バグっぽい removeしつくしたら null になってるはずなんだけど
237デフォルトの名無しさん
2015/10/17(土) 09:08:29.29ID:M7lcZRBS それに連想配列の内部実装は最近まで大きく書き換えられてて
動作の微妙な違いとかあるのでトリッキーなことは避けるべき
動作の微妙な違いとかあるのでトリッキーなことは避けるべき
238226
2015/10/17(土) 22:20:49.79ID:KpZ8gQf0 >>236-237 そうなんですね。書き換えます。ありがとうございます。
239デフォルトの名無しさん
2015/10/20(火) 00:01:18.64ID:wy5QxwnK リンクエラー。2.067.1では通ってた。
http://dpaste.dzfl.pl/255495e7489a
1. -m64 で
2. CTFEで実行されるラムダ内で定義されている
3. 配列をメンバに持つ構造体の
4. 配列のconcatを行う
http://dpaste.dzfl.pl/255495e7489a
1. -m64 で
2. CTFEで実行されるラムダ内で定義されている
3. 配列をメンバに持つ構造体の
4. 配列のconcatを行う
240デフォルトの名無しさん
2015/10/22(木) 22:35:23.39ID:WlXBpB56241デフォルトの名無しさん
2015/10/28(水) 16:43:28.27ID:w9dndjrH D言語って、Javaみたいにソースファイル名とクラス名を同じにしてしまうと、
他のソースでクラス名のつもりで記述したものがパッケージ名扱いになってしまうため
Hoge.Hoge のように同じ名前を2回書かないとクラス名と解釈してくれないと思うのですが、
これを1回だけの記述で済ましたい場合、皆さんはどのように解決されているんでしょうか?
ソースファイル名を変えるのもmodule文で別名にするのも、何か違うように感じてしまいます。
他のソースでクラス名のつもりで記述したものがパッケージ名扱いになってしまうため
Hoge.Hoge のように同じ名前を2回書かないとクラス名と解釈してくれないと思うのですが、
これを1回だけの記述で済ましたい場合、皆さんはどのように解決されているんでしょうか?
ソースファイル名を変えるのもmodule文で別名にするのも、何か違うように感じてしまいます。
242デフォルトの名無しさん
2015/10/28(水) 19:24:28.95ID:9zUX3+we モジュール名とファイル名は小文字
クラス名は大文字始まり
それでもカブるようなケースはパッケージを作るからまず困らない
クラス名は大文字始まり
それでもカブるようなケースはパッケージを作るからまず困らない
243デフォルトの名無しさん
2015/10/29(木) 01:37:25.50ID:0VE0VetC >>241 D言語の命名規則に則れば >>242 の言うとおり。
ただ、どうしてもと言うならこんなんはいかがか。
http://dpaste.dzfl.pl/dce8977dacc7
えーと。やっぱ242で。
ただ、どうしてもと言うならこんなんはいかがか。
http://dpaste.dzfl.pl/dce8977dacc7
えーと。やっぱ242で。
244デフォルトの名無しさん
2015/10/29(木) 10:25:47.23ID:xCMI4xlR >>242
なるほと確かにD言語の命名規則からするとモジュール名は小文字でしたね。
でも、どうしても大きなクラスは同名の一ソースにしたいのです‥すみません。
ところでパッケージで気付かせてもらったのですが、この問題って、
クラスのソースらをルート階層に置いているからこそ起きる問題なのですね。
というわけでディレクトリを一つ掘ってパッケージ下に配置することで一応解決しました!
ただ、パッケージ下にあるソースって module パッケージ名.モジュール名 の記述は必ず必要なのでしょうか?
module文の記述が無いとルートパッケージ下として格納されてしまうようで、
module文を普段省略していた身からするとちょっと面倒に感じています。
この辺りの挙動はjavaのpackage文の踏襲かなと思うのですが、
D言語ではパッケージはディレクトリに対応すると書かれているようなので、
module文を省略しても適切なパッケージに配置してくれて良いような?
>>243
おぉ‥改名選択importというやつでしょうか。確かにこれで通りました。
import _Hoge = Hoge : Hoge; という風に変換されるんですね。
import文までコンパイル時生成できるとは、D言語きm‥素晴らしいです。
ただこの書き方ではモジュール名変更リファクタリングの際にIDEが解析しにくい気がするので
(そもそもそこまでお世話してくれるIDEは現存しないようですけれど‥)、
取り敢えずは先のパッケージへの配置法でがんばってみます。
凄いものをありがとうございました。今後の困難の際に参考にします。
なるほと確かにD言語の命名規則からするとモジュール名は小文字でしたね。
でも、どうしても大きなクラスは同名の一ソースにしたいのです‥すみません。
ところでパッケージで気付かせてもらったのですが、この問題って、
クラスのソースらをルート階層に置いているからこそ起きる問題なのですね。
というわけでディレクトリを一つ掘ってパッケージ下に配置することで一応解決しました!
ただ、パッケージ下にあるソースって module パッケージ名.モジュール名 の記述は必ず必要なのでしょうか?
module文の記述が無いとルートパッケージ下として格納されてしまうようで、
module文を普段省略していた身からするとちょっと面倒に感じています。
この辺りの挙動はjavaのpackage文の踏襲かなと思うのですが、
D言語ではパッケージはディレクトリに対応すると書かれているようなので、
module文を省略しても適切なパッケージに配置してくれて良いような?
>>243
おぉ‥改名選択importというやつでしょうか。確かにこれで通りました。
import _Hoge = Hoge : Hoge; という風に変換されるんですね。
import文までコンパイル時生成できるとは、D言語きm‥素晴らしいです。
ただこの書き方ではモジュール名変更リファクタリングの際にIDEが解析しにくい気がするので
(そもそもそこまでお世話してくれるIDEは現存しないようですけれど‥)、
取り敢えずは先のパッケージへの配置法でがんばってみます。
凄いものをありがとうございました。今後の困難の際に参考にします。
245デフォルトの名無しさん
2015/11/04(水) 15:13:08.14ID:L5M/yopQ dmd2.069.0
246デフォルトの名無しさん
2015/11/06(金) 23:00:00.73ID:XSTiM1/K Error: template std.algorithm.searching.countUntil cannot deduce function from argument types !()(int[11], int), candidates are:
こういうエラーが出たんですけど、countUntilに静的配列は使えないということでしょうか?
Error: template instance sort!((uint a, uint b)
あと、sortに無名関数を渡したらエラーが出ました。無名関数も使えないのでしょうか?
こういうエラーが出たんですけど、countUntilに静的配列は使えないということでしょうか?
Error: template instance sort!((uint a, uint b)
あと、sortに無名関数を渡したらエラーが出ました。無名関数も使えないのでしょうか?
247デフォルトの名無しさん
2015/11/07(土) 11:16:15.31ID:oYYknJv4 静的配列に対して popFront() が呼べない(初めて知った!)
だからレンジ系操作に対しては全滅に近い
ソートの方はそれだけじゃ分からんね
無名関数は使い方間違えた時にわかりづらい
だからレンジ系操作に対しては全滅に近い
ソートの方はそれだけじゃ分からんね
無名関数は使い方間違えた時にわかりづらい
248デフォルトの名無しさん
2015/11/07(土) 15:26:06.21ID:k3hAw3NX 静的配列は要素数が変更できないからですか。
Rangeの要件を満たしてないとなると結構不便ですね。
sortはエラーメッセージがこの1行しか出ないんですよね。
シンプルな例でテストしたらコンパイルは通ったんですけど、他のコードが影響してるのかなぁ。
Rangeの要件を満たしてないとなると結構不便ですね。
sortはエラーメッセージがこの1行しか出ないんですよね。
シンプルな例でテストしたらコンパイルは通ったんですけど、他のコードが影響してるのかなぁ。
249デフォルトの名無しさん
2015/11/07(土) 22:04:33.49ID:X4t7LIyp 固定長配列の全体のスライスを取って動的配列に見せかければ
ある程度のRange操作だったら固定長配列にもかけられるのでちょっと便利です
ある程度のRange操作だったら固定長配列にもかけられるのでちょっと便利です
250デフォルトの名無しさん
2015/11/09(月) 04:06:00.73ID:PiWCufYC はあ、なるほど。
251デフォルトの名無しさん
2015/11/09(月) 04:09:17.37ID:PiWCufYC delegateのcovariane/contravarianceはなくなったんですかね
252デフォルトの名無しさん
2015/11/14(土) 10:33:38.52ID:TuAUCuHQ SortedRange!(R, ((a, b) => binaryFun!less(unaryFun!transform(a),
unaryFun!transform(b))))
schwartzSort(alias transform, alias less = "a < b",
SwapStrategy ss = SwapStrategy.unstable, R)(R r)
if (isRandomAccessRange!R && hasLength!R)
{ ... }
こんなの見ても揺らがないのが真のD言語er
unaryFun!transform(b))))
schwartzSort(alias transform, alias less = "a < b",
SwapStrategy ss = SwapStrategy.unstable, R)(R r)
if (isRandomAccessRange!R && hasLength!R)
{ ... }
こんなの見ても揺らがないのが真のD言語er
253デフォルトの名無しさん
2015/11/14(土) 12:16:16.84ID:AP01jWaC 真のD言語erはそんなに書いて(書かせて)もらえることに感謝する
254デフォルトの名無しさん
2015/11/14(土) 20:42:57.89ID:uWuWWunU デバッグ用に関数名を出力したいんですけど、関数名を取得する方法はあるでしょうか?
__FILE__や__LINE__みたいな感じのが欲しいです。
__FILE__や__LINE__みたいな感じのが欲しいです。
255デフォルトの名無しさん
2015/11/15(日) 00:26:31.44ID:4YAQhy/L 標準入出力をフラッシュするにはどうすればいいですか?
256デフォルトの名無しさん
2015/11/15(日) 00:49:19.11ID:DVr3HCs9 基本的には、DではCの標準ライブラリと同等の関数をほぼそのまま薄いラッパで提供しています
257デフォルトの名無しさん
2015/11/15(日) 01:23:34.60ID:4YAQhy/L dout.flush()ということですか。
writeln()に対応するものはないんでしょうか?
writeln()に対応するものはないんでしょうか?
258デフォルトの名無しさん
2015/11/15(日) 02:08:17.69ID:4YAQhy/L stdout.flush()でできました。
259デフォルトの名無しさん
2015/11/15(日) 07:41:57.52ID:ndJn5r2D260デフォルトの名無しさん
2015/11/15(日) 14:56:12.51ID:4YAQhy/L261デフォルトの名無しさん
2015/11/15(日) 15:01:11.74ID:4YAQhy/L 自作のプログラムを実行すると毎回同じ場所でobject.Error: Access Violationが発生します。
エラーとは関係なさそうな修正(stderr.writeln()を増やしたり減らしたり)をするとエラー発生の場所が変わったり、
InvalidMemoryOperationErrorに変わったりします。
エラーの原因がさっぱり分からないんですけど、どういうことが考えられるでしょうか?
エラーとは関係なさそうな修正(stderr.writeln()を増やしたり減らしたり)をするとエラー発生の場所が変わったり、
InvalidMemoryOperationErrorに変わったりします。
エラーの原因がさっぱり分からないんですけど、どういうことが考えられるでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国とロシアの爆撃機、日本周辺で共同飛行 [少考さん★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 空自機レーダー照射、音声データ公開 中国 ★2 [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★4 [597533159]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★3 [597533159]
- 【高市悲報】セクシー小泉防衛大臣「訓練の事前通報ない」中国軍が訓練の通告の音声データを公開 どうするのこれ? [483862913]
- 高市早苗(おさな)、陳謝 [834922174]
- 【悲報】JA「全然米が売れなくて倉庫を圧迫してる。助けて!」米卸売り業者「安売りしたら赤字になる…助けて!」 [802034645]
- 久しぶりにJURIAで抜いた
