X



D言語 Part34©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2015/01/25(日) 12:07:29.52ID:gAd5OZDm
プログラミング言語 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
135デフォルトの名無しさん
垢版 |
2015/03/30(月) 23:00:53.68ID:QPp3Flh2
wxDを使えている人に質問です。windows上でmingwからwxDをコンパイルしようとすると、wxWidgetsのコンパイルまでは成功したのですが
、wxDのコンパイルで以下のようなエラーがでます。
export PATH=/e/D/dmd2/windows/bin:/e/D/dm/bin:$PATH
export WXDIR=/e/D/wxWidgets-2.8.12
make
dmc -D__DMD__ -mn -g -o+none -D____ -D__WXDEBUG__ -Ie:/D/wxWidgets-2.8.12\inclu de -Ie:/D/wxWidgets-2.8.12\lib\dmc_lib\mswd -w- -I. -WA -DNOPCH -HP90 -Ar -Ae -HP99 -c -oaccel.obj accel.cpp
virtual ~name() \
^
local_events.h(49) : Error: storage class is illegal in this context
{ \
^
local_events.h(50) : Error: illegal constructor or destructor or invariant decla ration
ProcessEvent(e); \
^
local_events.h(52) : Error: undefined identifier 'ProcessEvent'
}
^
local_events.h(53) : Warning 18: implied return of name at closing '}' does not return value
void RegisterDispose(Virtual_Dispose onDispose) { m_onDispose = onDispose; } \
^
local_events.h(67) : Error: undefined identifier 'm_onDispose', did you mean 'on Dispose'?
virtual ~name() { m_onDispose(this); } \
^
local_events.h(68) : Error: storage class is illegal in this context
Fatal error: too many errors
--- errorlevel 1

--- errorlevel 1

--- errorlevel 1
136デフォルトの名無しさん
垢版 |
2015/03/30(月) 23:02:22.58ID:QPp3Flh2
dmd 2.067.0, dmd 2.054
wxWidgets-2.8.12
wxd 0.16
dmd 2.067.0, 2.054どちらでもエラー内容は同じでした。何が問題なのでしょうか?
2015/03/31(火) 00:23:32.12ID:DLD3Q9u2
どう見ても C++ でコケてるんだが
2015/04/05(日) 02:08:57.94ID:i8c3cK/q
久しぶりにさわったらUFCSとかrangeとかイケてるやん、書いてて気持ちえ〜わ〜
2015/04/08(水) 21:42:13.87ID:QBLG8yia
replaceはstringとregexで被ってるのか
2015/04/08(水) 22:47:53.09ID:bms3DTdi
http://www.kmonos.net/alang/d/overview.html
>非仮想メンバ関数。C++では、関数がvirtualになるかどうかは クラスの設計者が前もって決定します。
>メンバ関数をオーバーライドすることにしたのに、基底クラスの方で改造を忘れる… というのは、
>よくある(けれども非常に見つけにくい)コーディングミスです。
>全てのメンバはvirtualにしておき、 オーバーライドが存在しないことをコンパイラが検知して非 virtual に変える、
>というアプローチの方が信頼性があります。

と書いてありますが、実際にどこまでそんな最適化が機能しますかね。
ローカルスコープでnewされたオブジェクトなら簡単に検地できますが、
メソッドの引数で渡されたオブジェクトや、
メンバ変数で保持しているオブジェクトに対して、
オーバーライドが存在しないことを、どこまで検地できるものなのでしょうか。
D言語はモジュール単位でコンパイルするので、
自分のモジュール以外で何が行われるかわからないのでは?
2015/04/09(木) 05:18:11.14ID:uR76CfxE
詳しくないのでさっぱりなのだがこっちにも
http://www.kmonos.net/alang/d/function.html#virtual-functions
>コード生成時にDはクラス階層を全て把握していますので、
>オーバーライドされていない関数への呼び出しは全て最適化されて non-virtual になります。
って自信満々に書いてあるね。

で、なんかそんな話題どっかでみたなあと思って探してみたが
http://hibari.2ch.net/test/read.cgi/tech/1293500945/300-303
別に結論出てなかった。
まあ「finalつけると速くなる」なら(今でも同じかは確認してないが)
可能であろうと、少なくとも真面目に実装はしてないんだろうね。
2015/04/09(木) 09:23:07.96ID:BNp5TkNs
virtual がキーワードとして追加された後しばらくして撤回されたのが最近の出来事
2015/04/09(木) 18:19:45.10ID:HK14cBmq
D言語のコンパイラで一番いいのは何ですか?
2015/04/09(木) 19:55:59.27ID:38RAslub
dmdしか使ってない俺にもdmdが最善ではなさそうなことはわかる
2015/04/09(木) 21:10:41.59ID:BNp5TkNs
コンパイルが最速でプロファイルもカバレッジもちゃんと動くdmdが最善でないとな?

win32/simd とか win64/seh とか足りないのはあるけど
2015/04/10(金) 06:51:36.42ID:uqc+UxkP
dmdのsimdってまだSSE2までしか対応してないのけ?
2015/04/11(土) 15:44:58.43ID:E/CwOvDs
D言語ってなんで流行らないんですか?
2015/04/11(土) 17:32:39.43ID:7fSRDMX5
ポストC++を目指してるんだけど
C++自体が使われてないから
2015/04/11(土) 17:42:57.03ID:u+ugD/Y+
俺が思うに、Cとソースレベルの互換を切ったのが不味かったな。
Cのヘッダが読み込めないんじゃ、生産性悪すぎ。
Cのライブラリを使おうと思っても、誰かがこっそりDに移植したのを使うしかない。
そんな怪しげなものは企業じゃ使いにくいわな。
2015/04/11(土) 22:26:51.94ID:BiO0sN0+
でもプリプロセッサみたいなXXXXXXなもの積んだら元の木阿弥だしなあ
2015/04/12(日) 02:43:30.27ID:XESAGs1Z
精度の高いhtodまだ?
2015/04/12(日) 09:38:06.20ID:y8PA+brm
C言語にはマクロがあるから難しいだろうね。
マクロとインライン関数とじゃ微妙に動作が違うし。
それを再現するのは難しいし、再現したらしたでDの人たちが怒る
2015/04/12(日) 11:32:27.28ID:E16OManC
他の言語に比べりゃマシ。
普通はC側からもグルーコードを書かないといけない。
2015/04/12(日) 11:41:30.34ID:kQPdUAS+
JNIとか死ねるし
2015/04/12(日) 11:47:57.98ID:UmUJTIj0
ライブラリ側の改造なしで普通にリンクできるってのは大きいなあ
2015/04/12(日) 14:18:52.37ID:y8PA+brm
でも、CのライブラリはC++からだと何の改造もなく普通に読み込めるし、
殆どのライブラリはC++から使われること「も」想定して書いてあるし。
ライブラリの公式なサポートがあるってのも大きいかと。
Dの宿敵は完全にC++なわけで、ここからシェア奪うの厳しくね?
しかも最近のC++はやたら高性能になってて、Dが圧倒的に優位といえるのは、
GCが有ることぐらいか。しかしDのGCは完全じゃないので、実際には開放できる領域を
見逃すことがあるらしい。>>125-127
しかもメモリを使えば使うほど、切迫していればいるほど、誤認の確率が高くなる。
本当にGCが必要な時ほど、GCが上手く動かなくなるという・・・。これはなんかおかしい。

まー一生C++使ってろって言われそうだが。
2015/04/12(日) 17:59:43.09ID:E16OManC
京大院卒の元日立社員ですらrust,go,nimとやってきたがDは目次で投げ出すほど難しいらしい
2015/04/12(日) 21:04:55.27ID:tlWGpnIJ
C++やってないのかよ
2015/04/12(日) 21:27:54.60ID:Kyho4V/V
そこであげられてる言語は比較対象になるのか
2015/04/13(月) 17:54:24.16ID:bnhydr1P
仕様書であるTDPLを入門書と間違えて買ったんだろうな
2015/04/13(月) 19:57:56.23ID:S0M+DdK2
D言語パーフェクトガイドの時代が来たようだな
2015/04/14(火) 22:00:35.44ID:TJwhWYq7
スマホアプリが作れれば流行るんじゃね?
2015/04/14(火) 22:05:11.14ID:NpitylM9
Visual D使ってる人に質問です。
Visual Dって標準ライブラリの予測変換でないんですか?
2015/04/14(火) 22:38:44.42ID:o5X1XXSP
>>163
入力補完できるよ

http://rainers.github.io/visuald/visuald/Editor.html
2015/04/14(火) 23:57:41.21ID:VlJAU5Jf
どうせ出てほしい時に出なくて
必要ないときに邪魔なポップアップが出るみたいな
お粗末なものにしかならないべ

言語設計レベルからそこまで考慮してないと
2015/04/15(水) 18:59:26.48ID:V49K0zxq
C#はforeach使うとGCが増えるらしいけど
Dはどうなの?
2015/04/15(水) 21:22:05.40ID:DNCbFPiX
Dってどこで学んだらいいんだ
dlang.orgしかない?
2015/04/15(水) 22:20:50.17ID:kuK1eeQu
https://gist.github.com/repeatedly/2470712
ここ読んで文法身につけて、
標準ライブラリは公式がそこそこわかりやすいからそれで。
(日本語訳はちょっと古いが、参考には十分なる)
んで、わからないことはここか、
最近はtwitterで#dlangのハッシュタグつけて質問するのも流行り。
自分も去年一度質問投げたら、一時間で三人から同じ解答来て震えた。
2015/04/15(水) 22:50:13.61ID:H6ZOKNFw
>>164
ありがとうございました。なんか出てきました。
2015/04/16(木) 06:03:51.02ID:3n63vngU
以前にC++とねんごろになれるうpあったとか見た気がしたけど、あれは幻覚だったのかこの流れ見ると
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
2015/04/17(金) 13:06:38.13ID:n6u60MAl
>C++ヘッダを直接import出来るようにするDコンパイラも開発されてるけど結構実用的ぽい

あ、それいいね。てかそれしないと普及しないでしょ。互換性は大事。
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以上を超えると日本国憲法の改正です。皆様方、必ず投票に自ら足を運んでください。
私たちの日本国憲法を絶対に改正しましょう。☆
2015/04/22(水) 16:58:34.80ID:w0Yyg9N7
dsource.org もいよいよ廃止に向かう模様
使ってる人ほとんどいないだろうけど
2015/04/22(水) 17:06:41.43ID:QMLocF8n
ちなみに移住先は?最近D使ってないんでよくわからんけど
2015/04/22(水) 17:25:07.03ID:Atokf9a2
>>2のDUBに登録が最近の流行り
2015/04/23(木) 15:06:10.81ID:atwBzKak
ノイズが減るのは良いこと
2015/04/23(木) 19:54:37.61ID:g8/zXSRM
この言語
親クラスのprivate変数に継承先のクラスがアクセスできるじゃん
2015/04/23(木) 19:58:37.29ID:lZQ1F1hI
継承先のクラスが同一ファイル内にないか?
同一ファイル内のメンバは常にpublicだぜ
2015/04/23(木) 20:23:40.71ID:g8/zXSRM
まじかよ酷いな
ファイル=モジュールだからファイル分けるの面倒くさい
181デフォルトの名無しさん
垢版 |
2015/04/24(金) 06:25:45.44ID:6TulMhAx
同一ファイル内にあるものは自動的にfriendだと思えばC++より便利だな
2015/04/26(日) 21:31:40.36ID:M02Af7kd
D2はまだ使用が固まってないからとうぶんの間は開発にはD1を使うことになるな
2015/04/26(日) 23:49:43.65ID:NpZzAF6y
1のことは忘れるんだ……。
2も最近は破壊的変更が少ないし、
どうしても仕様が固まってるものを求めてるなら別の言語のほうがいいよ。
少なくともD1を使っていいことは一つもないと思う。
2015/04/27(月) 01:41:11.15ID:nAsvEGea
じゃあC++使うかな
とは言えない雰囲気
2015/04/27(月) 03:54:29.19ID:3o/5kFDH
D1かC++かならまじでC++使えばいいと思うよ
雰囲気っていうか、まあ確かにC++使うならここで宣言する必要はないと思うけど
2015/04/27(月) 07:50:54.32ID:XqA1wgYz
意外なことにrustの方が言語とAPI仕様の安定化に積極的っぽい
2015/04/27(月) 08:51:18.76ID:ZDDsb7dY
明確なゴールもなくフワフワと手を広げるから収束しないんだよ
2015/04/27(月) 19:40:18.02ID:u+p+733x
effectivec++読んだ時点でc++を見限らない奴はセンス無い
2015/04/27(月) 19:41:43.14ID:JZyYoAVB
>>186
それここ1ヶ月くらいのことじゃね?
まあでもそういう姿勢を公式に明確にするのはいいことだ
2015/04/30(木) 23:13:29.89ID:DC2IuzKP
PCがオワコンになって一般人はスマホやアップルウォッチしかコンピューターを持たない時代が来るのに
Dを始めとするPCアプリ専用言語に未来はあるのか
2015/05/01(金) 12:43:57.40ID:ZnsZ9ufL
>>190
そもそも、一般人はプログラミングしていない。
192デフォルトの名無しさん
垢版 |
2015/05/01(金) 15:43:57.35ID:VV0Lze55
サーバーサイドでも使われないとか終わってる
2015/05/03(日) 12:05:34.37ID:frUd71C/
>>192
Goで泥アプリ開発できるようになったし、PCから移行するにつれいろんな言語が泥とかアフォン
とかでも使えるようになる。

という妄想
2015/05/11(月) 22:49:25.75ID:umG0fBs5
Tcpを用いたサーバーアプリケーションを作成しています。
一つのSocketを処理するスレッドをspawnで起動しようとしたのですが、
"Aliases to mutable thread-local data not allowed." というエラーが出てしまいます。

Socketをスレッドのコンテキストとして渡す方法はありますか?
2015/05/19(火) 19:36:36.05ID:nbiNTEdK
sharedクラスに突っ込むとかかな
2015/05/20(水) 14:35:43.34ID:RjQMrwaX
enumのメンバの中からランダムに1つ取り出すにはどう書いたらいいですか?
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();
2015/05/20(水) 17:35:41.74ID:RjQMrwaX
>>197
ありがとうございます。
std.traitsにenumのメンバの配列を作る機能があったんですね。
2015/05/20(水) 19:21:10.83ID:VhPE5aVV
あ、配列なんだからuniform(0, $)でよかった…。

タプルの配列化?みたいな

他にも関数の引数リストとか、構造体のメンバ変数を
タプルでとれたり、std.traitsは結構楽しい
2015/05/23(土) 09:46:23.34ID:LbQhEyX4
メンバにUDAを付加するだけで
文字列化やシリアライズのメソッドが自動or暗黙生成されるような
いい感じの小技はないかしら
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"
}
2015/05/24(日) 19:07:17.52ID:TlBS03PH
これいいなあ
それにしてもstatic foreachが欲しい…
2015/06/13(土) 18:35:51.38ID:GIDis6QW
>>190
そんなのは日本だけだぞ
海外ではPCとモバイルを使い分けるのが普通
204片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/06/17(水) 19:52:38.87ID:/OO8ry8l
Dの簡単インストーラー作るぜ。アイデア募集。
2015/07/03(金) 16:37:05.52ID:Cj/+Kw22
DmInst ver.0.0を公開しました。
コンパイラーのDMCとDMDを簡単にインストールできるプログラムです。

http://katahiromz.web.fc2.com/dminst/
2015/07/03(金) 16:45:04.27ID:PTQIZZxq
苛寝
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
208デフォルトの名無しさん
垢版 |
2015/08/07(金) 01:19:25.71ID:AOl5d/Q7
vote
2015/08/11(火) 09:22:39.47ID:JJHEPwAB
2.068
2015/08/11(火) 21:22:49.65ID:/rELv5XJ
AliasSeq を Alias Equal と読み間違ってしまうマン
2015/08/20(木) 19:16:20.38ID:6X6++Eio
お前らってeclipseのDDT使ってるの?
2015/09/12(土) 04:06:34.44ID:+P5YetMW
CTFE時に連想配列の値が上書きされてしまう。
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は再現しました。
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。
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
なんだって。
2015/09/26(土) 08:34:31.58ID:58nZ62zg
This Week in D (英語)
http://arsdnet.net/this-week-in-d/

年初から続いてて筆者はDの入門書出版したりしてる
2015/09/29(火) 09:14:53.57ID:2BMWd/g5
2.068.2 出てた

ちなみに Win32-COFF が隠しオプション(-m32mscoff)で出来るようになってるので
OMF/optlink がイケてないと思っていた諸兄は試してみるがよいよいよい
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]と同じようにする方法だった。
221219
垢版 |
2015/10/04(日) 20:59:30.10ID:fx9NWY8o
自己解決。
[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
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)" なのがおかしい気がするんだが。
224223
垢版 |
2015/10/09(金) 23:28:50.19ID:So4fPMkx
書き込んでから思い出したけど、Rebindableとかできて結構経つしあきらめるしかない気がしてきた。

>>218 optlink死んでまうん?
2015/10/10(土) 00:27:09.81ID:MYHuAGIQ
const classとかscope classとかは今もまともに使おうと思えないね
普通のclass内でメンバをconstにするとかじゃないとまともに動く気しない
226デフォルトの名無しさん
垢版 |
2015/10/15(木) 18:54:50.42ID:pJRyZOgY
nullではなく、空の連想配列で初期化するにはどうすればよいですか?
2015/10/16(金) 08:36:04.34ID:CAVKRc42
空の配列 == null なので無理

ただし空文字列 "" は例外 落とし穴になりがちなので注意
2015/10/16(金) 13:11:04.24ID:TDfNRPC3
ちょっと良くわかりませんが、D言語は空の配列すら作れないんですか?
不便ですね
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行で書きたいな。
という話でした。
2015/10/16(金) 19:36:08.03ID:TDfNRPC3
結局どういうことなんですか?
Dでは空の配列を作れないんですか?
必ず何か入っていなければダメなんですか?
int[] a; って書けば空の配列になるんじゃないんですか?
233226
垢版 |
2015/10/16(金) 21:04:57.54ID:+5uWvhRc
>>232
int[] a; で空の配列になりますよ。
226のは「連想配列」が俺にはややこしいっていう話です。
2015/10/16(金) 21:47:10.30ID:BcAfRt/g
>>231
string[string] buf = (a => (a.remove(""), a))(["" : ""]);

ところで、コンマ演算子を廃止しようとか言ってたのは自然消滅したのか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況