D言語 Part33

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラミング言語 D (D Programming Language) について語るスレッドです。

■本家
http://dlang.org/ - 公式(英語)
http://www.kmonos.net/alang/d/ - 公式の和訳
http://d.puremagic.com/issues/ - D言語バグ報告
https://github.com/D-Programming-Language - D言語開発リポジトリ

■Wiki
http://dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)
http://prowiki.org/wiki4d/ - Wiki4D(公認Wiki)

■前スレ
D言語 Part32
http://toro.2ch.net/test/read.cgi/tech/1374022208/

■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000
2デフォルトの名無しさん:2014/03/30(日) 11:15:13.49 ID:oSarRJOs
■IDE
http://www.dsource.org/projects/visuald - Visual D(Visual Studioプラグイン)
http://code.google.com/a/eclipselabs.org/p/ddt/ - DDT(Eclipseプラグイン)
http://mono-d.alexanderbothe.com/ - Mono-D (MonoDevelop プラグイン)

■ライブラリ
http://www.dsource.org/projects/dwt - DWT(GUIライブラリ)
http://www.dsource.org/projects/gtkd - GtkD(GUIライブラリ)
https://github.com/Rayerd/dfl - DFL(GUIライブラリ・非公式最新版)
http://www.dsource.org/projects/derelict - Derelict(SDL/OpenGLなどのポーティング)
http://www.ku6.jp/keyword6/1.html - 傾き指向プログラミング(SDLなどのポーティング)

■OMF<->COFF変換ツール
http://www.agner.org/optimize/#objconv

■D言語で作られたゲーム
http://www.nicovideo.jp/mylist/4453698 - D言語で作られた芝ゲー niconico動画
http://www.asahi-net.or.jp/~cs8k-cyu/ - ABA Games

■テンプレの直し
ソース貼付サイト http://dpaste.dzfl.pl/
新Wiki http://wiki.dlang.org/
今生きてる?
http://www.dsource.org/

プログラミング言語D (TDPL: The D Programming Language)
Andrei Alexandrescu
http://www.amazon.co.jp/dp/4798131105
3デフォルトの名無しさん:2014/03/30(日) 11:19:12.96 ID:0gK4mhb1
新スレ記念にマジレスすると
Qt とか Python とか知ってしまうと
D いらないんだよね
4デフォルトの名無しさん:2014/03/30(日) 11:23:20.85 ID:Ubp7wCfs
QtはともかくPythonとDは単純には比較出来ないな
ネイティブじゃなくても済む用途では大抵Pythonで足りると思うけど
5デフォルトの名無しさん:2014/03/30(日) 11:38:38.38 ID:o9ag65ui
ソース貼付サイト http://dpaste.dzfl.pl/
新Wiki http://wiki.dlang.org/
<$><$> https://www.bountysource.com/trackers/383571-d-programming-language

そろそろ次スレだな〜と思いつつ
テンプレの直しを忘れていたな
6デフォルトの名無しさん:2014/03/30(日) 11:43:44.43 ID:o9ag65ui
>>2 の後についてるじゃん・・・
prowikiとwiki.dlangを入れ替えてくれればよかったのに
後 dsource系も全部入れ替えたかった
7デフォルトの名無しさん:2014/03/31(月) 12:18:18.92 ID:D1GO4u2R
vibe.dのソースみると、色んな機構を全部自前で実装してて大変そうだ
汎用的な部分を切り出してライブラリにしてくれないかなぁ
8デフォルトの名無しさん:2014/04/02(水) 10:36:51.92 ID:8w2UJ6xF
http://sourceforge.jp/magazine/14/04/01/183000

米FacebookがC/C++プリプロセッサ「warp」をオープンソースで公開、高速な処理が特徴
2014年4月1日18:30 末岡洋子

 米Facebookの開発者は3月28日、C/C++言語向けのプリプロセッサ「warp」をオープンソース
で公開した。Facebook社内で開発したもので、同社ではGNU cppに代わる高速なプリプロセッサ
として利用しているという。

 FacebookがD言語設計者のWalter Bright氏とのコラボレーションにより開発した。
C/C++バイナリ構築のプリプロセス時間を短縮することを目的に設計した。パイプ&フィルター
(pipes-and-filters)スタイルを採用し、コンポーネント化を進めることで高速化を図っている。
大規模なコードベースと多数の依存性がある複雑なプロジェクトにおいて、デバッグおよび
ビルド速度を10〜40%改善したという。

 warpはCentOS 6のみで検証済み。今後対応OSを増やしていくとしている。
ビルドにはD言語が必要。ライセンスはBoost Software License 1.0。

warpのGitリポジトリ
https://github.com/facebook/warp
9デフォルトの名無しさん:2014/04/02(水) 10:42:32.04 ID:ueE6QFcL
> ビルドにはD言語が必要

www
10デフォルトの名無しさん:2014/04/02(水) 15:00:31.24 ID:UvREGYKd
ビルドには書籍「プログラミング言語D」が必要です。
11デフォルトの名無しさん:2014/04/03(木) 01:44:00.74 ID:hYdkI11b
日付見ろ日付
12デフォルトの名無しさん:2014/04/03(木) 07:24:43.19 ID:oN99KWq6
warpは少し前に完成してたけど
13デフォルトの名無しさん:2014/04/03(木) 09:26:31.84 ID:CP8BnsY7
4/1だからと言ってなんでもかんでもAFってわけでもない
14デフォルトの名無しさん:2014/04/04(金) 16:02:43.67 ID:gc2i2IVv
エラーメッセージに表示されるコード片ってどれも脱糖した後なんかな

test.d(11): Error: cannot implicitly convert expression (cast(immutable(char)*)foo()) of type immutable(char)* to string*
15デフォルトの名無しさん:2014/04/04(金) 16:17:55.99 ID:UPfoP0f4
D終わったか・・・
http://ufcpp.wordpress.com/2014/04/03/net-native/
http://msdn.microsoft.com/en-US/vstudio/dotnetnative

【プログラミング速報】.NET Frameworkがオープンソース化!MS,Mono,GitHubなどが.Net財団設立へ
http://maguro.2ch.net/test/read.cgi/poverty/1396585709/

[速報]米マイクロソフト、C#/Visual Basic次世代コンパイラ「Roslyn」を
オープンソースで公開。独自言語など開発可能に。Build 2014
ttp://www.publickey1.jp/blog/14/cvisual_basicroslynbuild_2014.html
16デフォルトの名無しさん:2014/04/04(金) 16:44:51.92 ID:JzfvGMgJ
RoslynでD#が作り上げられ
逆襲が始まるのでは
17デフォルトの名無しさん:2014/04/04(金) 16:54:00.87 ID:/tt/9E5O
D.Net作ればいいやん

C#がネイティブコンパイルできたとしてもCのポジションではないような
Dはシステムに近いコードも書ける長所がある(と思う)
18デフォルトの名無しさん:2014/04/04(金) 17:32:53.11 ID:gc2i2IVv
.Netのオープンソース版はMS謹製じゃないというだけで今までも有ったし、D.Netを開発していた人も居た(その後の経過はお察し)
19デフォルトの名無しさん:2014/04/04(金) 17:50:50.62 ID:ZtsQOPBg
MS/Windows に寄り添う連中はコミュニティの資産を築いて守るとか興味ないんじゃないかな
20デフォルトの名無しさん:2014/04/04(金) 19:19:15.93 ID:Tkp1+6Vq
大人になっても低い『自己肯定感』を飛躍的に高める5つの習慣

1.ほめられたら「ありがとう」といってみよう

2.台所をきれいにして、お料理をしてみよう

3.失敗したら「今回は失敗した」と考えるくせをつけよう

4.「D言語」を禁止する

5.自己肯定感は高けりゃいいもんじゃない!

ttp://goodluckjapan.com/jikokoute2/
21デフォルトの名無しさん:2014/04/04(金) 21:08:33.31 ID:R0yHAQ3Q
(´゚д゚`)
22デフォルトの名無しさん:2014/04/04(金) 23:27:23.96 ID:hvv4ZV1u
何か勘違いがあるようだな

そもそも始まってすらいない
23デフォルトの名無しさん:2014/04/04(金) 23:34:23.80 ID:6t2n97/t
Dのコミュニティ
24デフォルトの名無しさん:2014/04/05(土) 11:50:08.90 ID:AlWzj+6w
convert!("days", "hours")(31) とか dur!"days"(31) みたいな感じで、動作をテンプレート引数にするのは何か利点があるのかな
convert(31, TimeUnit.days, TimeUnit.hours) とか dur(31, TimeUnit.days) みたいなインタフェースもあった方が、
実行時にユーザの入力によって単位が変わるような状況にも簡単に対応できて良いんじゃないの?
テンプレートになってると、使われる可能性のある全ての単位についてインスタンス化しないといけないと思うんだけど

テンプレートにする利点とか、この点について参考になるフォーラムのスレッドとかあったら教えてください
25デフォルトの名無しさん:2014/04/05(土) 12:04:35.82 ID:aT2aTLkp
テンプレート使うとしても文字列じゃなくて定数でいいんじゃねぇの?とも思うな
なんで文字列でテンプレート引数なんだろ
26デフォルトの名無しさん:2014/04/05(土) 15:09:44.32 ID:OY212SP5
実行時に単位が変わり得るから文字列なんじゃね
普通に型渡すと書かれてる分しかインスタンス化されないし
27デフォルトの名無しさん:2014/04/05(土) 16:13:25.98 ID:aT2aTLkp
テンプレート引数だけど実行時に変わるの?
と思ったけどコンパイル時にバリバリ変わりうるのか
28デフォルトの名無しさん:2014/04/05(土) 16:21:16.35 ID:AlWzj+6w
>>26
テンプレート引数はコンパイル時に決定されないと駄目なので……
それに文字列の場合も書かれた分だけインスタンス化されます
29デフォルトの名無しさん:2014/04/05(土) 18:28:07.14 ID:loi852VO
俺の印象だと、Goと立ち位置が被ってるんだけど
ここの住民の皆さんはどう考えますか

応用が若干違うというか、Goはサーバープログラム全般、
Dはゲームに使われてるって感じはするけど
30デフォルトの名無しさん:2014/04/05(土) 21:13:19.29 ID:46vlRM1W
goとは似てないだろ
goはシステムレベル言語を志向してない
被ってるのはrust
31デフォルトの名無しさん:2014/04/10(木) 17:03:36.66 ID:dNpYH1lz
かぶってるのはC
32デフォルトの名無しさん:2014/04/11(金) 13:40:19.48 ID:qSzwuFMo
そろそろD言語3って本当なの?
33デフォルトの名無しさん:2014/04/12(土) 12:48:06.21 ID:9BhBrkhV
2009年ごろは本当と言えたんだがw

D2の立ち上げ方は大失策だったとうぉるたん自身認めている
34デフォルトの名無しさん:2014/04/12(土) 13:30:03.87 ID:UapBJj1i
名前が良くないよね
3Dにするべきだった
35デフォルトの名無しさん:2014/04/12(土) 21:29:57.14 ID:Um6TiL0Z
なにが失策だったん?
1とか2なんて作るべきじゃなかったって?
36デフォルトの名無しさん:2014/04/12(土) 22:08:39.58 ID:9BhBrkhV
:3D
37デフォルトの名無しさん:2014/04/12(土) 22:41:49.92 ID:Ng8eLNYY
D3は社名だから飛ばしてD4にすべきだな
38デフォルトの名無しさん:2014/04/12(土) 22:58:07.60 ID:hUjabRUg
小さいバージョンアップはアルファベットの添字で区別だな

D4A、D4B、D4C…
39デフォルトの名無しさん:2014/04/12(土) 23:44:01.97 ID:rUzF/sBO
いつもたやすく行われるえげつないアップデート
40デフォルトの名無しさん:2014/04/13(日) 00:07:00.62 ID:FPoAABT8
いつもたやすく行われるえげつない仕様変更
41デフォルトの名無しさん:2014/04/13(日) 00:07:53.64 ID:FPoAABT8
いとも
42デフォルトの名無しさん:2014/04/13(日) 07:16:05.20 ID:qnyX9I3J
4.0A->4.0Bはかなりえげつないアップデートというか超えられない壁だった
43デフォルトの名無しさん:2014/04/15(火) 17:54:43.94 ID:ZiuccpsX
import std.parallelism;
void main() {
auto p = new TaskPool;
}
44デフォルトの名無しさん:2014/04/19(土) 07:39:44.06 ID:nYuw6hja
p.finish() or p.kill()
45デフォルトの名無しさん:2014/04/20(日) 23:41:44.54 ID:eqUDgrbl
ねぇ、Dってプロで誰が使ってるの?
46デフォルトの名無しさん:2014/04/20(日) 23:45:16.36 ID:DFy2aWIc
結構前にいた、Dで業務で納品するプログラム作った(?)って言ってた人
あの人は少なくともその当時はプロといえたんじゃないかな
47デフォルトの名無しさん:2014/04/21(月) 01:59:34.32 ID:vFAy+4Ub
プロジェクトのプロダクトであるプロパーなプログラム
48デフォルトの名無しさん:2014/04/21(月) 04:29:52.17 ID:OswYx45F
懐かしいな納品した人。
BOFももう6年前くらいになるのか
49デフォルトの名無しさん:2014/04/21(月) 08:48:04.77 ID:iXDirvvO
バージョン変わったらソースから書き直すんだろ
引き継いでメンテさせられる方はたまったもんじゃないな
50デフォルトの名無しさん:2014/04/21(月) 10:52:14.33 ID:vFAy+4Ub
古いコンパイラ使えばいいだけじゃね
51デフォルトの名無しさん:2014/04/21(月) 10:55:02.76 ID:fKV6ATCG
ライブラリとかあまり依存させないようにすれば
そのバージョンの開発環境ごと残したりできる

開発環境・実行環境をポータブルに保つなら有用
52デフォルトの名無しさん:2014/04/21(月) 12:21:47.94 ID:qtHldiIk
>>45
フェースブックのバックエンドって話じゃなかったの?
53デフォルトの名無しさん:2014/04/21(月) 23:26:32.67 ID:0HxEE5y6
54デフォルトの名無しさん:2014/04/22(火) 00:35:13.46 ID:iW92QTdj
俺が業務で必要になったツールをちょいと作るのに使ってるのはプロが使ってるとは言わない・・・か
55デフォルトの名無しさん:2014/04/22(火) 15:02:18.92 ID:QveWaMVI
よろしい
許可します
56デフォルトの名無しさん:2014/04/22(火) 20:40:38.15 ID:X3kPdAVe
>>8
warpって、Windowsに負けたOSと同じ名前じゃん。
57デフォルトの名無しさん:2014/04/23(水) 06:57:17.83 ID:FFaG/QbY
ワスプ撃沈
58デフォルトの名無しさん:2014/04/23(水) 18:36:32.37 ID:8qVBJOFV
DIP60: @nogc attribute

http://wiki.dlang.org/DIP60
59デフォルトの名無しさん:2014/04/23(水) 19:14:41.78 ID:5LW5gntL
あれ・・前は「内部でGC呼んでるとこがわかるようにする」
みたいのじゃなかったっけ?
勘違いかな
60デフォルトの名無しさん:2014/04/23(水) 19:23:22.48 ID:Na8exnyH
それもやる
これもやる
ってことじゃないかな
61デフォルトの名無しさん:2014/04/23(水) 19:36:47.62 ID:5LW5gntL
なるほど
62デフォルトの名無しさん:2014/04/24(木) 00:29:43.12 ID:OZUK9Izi
破壊的変更?
63デフォルトの名無しさん:2014/04/24(木) 09:12:31.42 ID:mnsZs1hI
-vgc は既に入ったよ
標準ライブラリが一通り追従しないと実用的じゃないと思うけど
64デフォルトの名無しさん:2014/04/24(木) 10:46:27.79 ID:LJ192m/8
ああーコンパイラスイッチの方は既に入ってるのか・・
-vgc で、GCのメモリ確保をリスト表示
@nogc で、GCのメモリ確保を警告(但しCTFEはOK)
65デフォルトの名無しさん:2014/04/24(木) 20:32:09.32 ID:ZRk9R+R1
コンパイル時ならGC動かしていいとか熱いわ
66デフォルトの名無しさん:2014/04/25(金) 13:04:50.38 ID:jPmvuOB6
コンパイル時のみに特化したテスト用サーバーが要求される日は近いな
67デフォルトの名無しさん:2014/04/25(金) 15:56:30.69 ID:rIfJx988
そもそもコンパイル時ってGC動くのか?
フォーラムでGC入れると遅くなるよ的な話してるんだけど、つまり今は無いってことだよね
68デフォルトの名無しさん:2014/04/25(金) 19:39:46.81 ID:jPmvuOB6
GCを前提としたnew,mallocならガンガン使われてるよ(真顔)
69デフォルトの名無しさん:2014/04/25(金) 22:23:02.74 ID:GT7mg3QG
>>67
コンパイル時計算で長さ不定の配列を計算過程に使ったらGCひつようじゃね?
CTFEの仕様知らないけど。
定数を返すようになるはずだから、そこまで持ってくのにはGCいるでしょ。
70デフォルトの名無しさん:2014/04/25(金) 22:50:48.13 ID:rIfJx988
>>69
Walter曰く、
> I made a build of dmd with a collector in it.
> It destroyed the speed. Took it out.

これがコンパイル速度の秘密か……
71デフォルトの名無しさん:2014/04/25(金) 22:58:10.90 ID:lgSageRr
「コンパイル時のGC」と「ランタイムのGC」は全くの別物でしょ
72デフォルトの名無しさん:2014/04/25(金) 22:59:34.09 ID:GT7mg3QG
あれ?DMDってDMDでかかれてるんだっけ?
73デフォルトの名無しさん:2014/04/26(土) 00:29:26.43 ID:BSsIs6S6
C++製だよ
このcollectorってのはBoehmGCだったと思う
一時入ってたよね
74デフォルトの名無しさん:2014/04/26(土) 03:08:41.15 ID:pdO++Zde
コンパイル時の処理は内部構造のツリー操作が基本
75デフォルトの名無しさん:2014/04/26(土) 03:09:25.97 ID:pdO++Zde
操作=部分的な組み換え
76デフォルトの名無しさん:2014/04/26(土) 12:01:38.32 ID:ciZFgagp
>>72-73
なんでD使ってないの?
実用にならないから?
77デフォルトの名無しさん:2014/04/26(土) 13:09:02.01 ID:pdO++Zde
スピード狂のうぉるたんがそんなこと許すはずがない
78デフォルトの名無しさん:2014/04/26(土) 13:20:24.06 ID:BSsIs6S6
これおかしい
ヌル以降を無視するのが正常だよね?
sc.yutopp.net/entries/535b307543f75e31400007fc

>>76
そうだよ(便乗)

makeの時にD言語へ変換してコンパイルするって話もあるが
github.com/D-Programming-Language/dmd/pull/3410
79デフォルトの名無しさん:2014/04/26(土) 14:20:50.48 ID:maxCcAxD
ゼロターミネートはCのprintfとかの仕様なんで・・・
80デフォルトの名無しさん:2014/04/26(土) 17:41:32.10 ID:pdO++Zde
これはひどい
81デフォルトの名無しさん:2014/04/26(土) 18:21:23.47 ID:BSsIs6S6
>>79
そうみたいですねー
単一引数のwritelnだけヌルで表示が終わるのは、
高速化のためにwriteln内部でfprintf使ってるのが原因だったようで…
82デフォルトの名無しさん:2014/04/26(土) 23:24:06.06 ID:maxCcAxD
phobosのC依存がヤバイ
最近ましになったけどまだヤバイ
83デフォルトの名無しさん:2014/04/27(日) 00:29:50.55 ID:3I8p77UE
@nogcの次はnamespaceか
84デフォルトの名無しさん:2014/04/27(日) 01:34:59.71 ID:tMnP8Ntb
またうぉるたんか。諦めてなかったのか
http://wiki.dlang.org/DIP61

もうこれ以上名前解決を複雑にするのはヤメロッテ
85デフォルトの名無しさん:2014/04/27(日) 10:03:06.37 ID:NuojISZA
module hoge.kore;

namespace hoge.kore:
に書き換える仕事が始まるの?
86デフォルトの名無しさん:2014/04/27(日) 10:18:06.09 ID:3I8p77UE
別にDのモジュールに競合するもんじゃなくて、namespaceが付いてるC++の関数を呼ぶための機能なのかな
> Currently, there is no support in D to call C++ functions in namespaces.

C++の為に新しいキーワードを追加するのは負けっぽい感じがする……
externにnamespaceへの参照を書けるようにだけして、D側ではモジュール使うとかで良いのにね
87デフォルトの名無しさん:2014/04/27(日) 14:59:57.30 ID:05N9/iDm
-vgc @nogc ときて、今度はnamespaceか

C++からの乗り換えキャンペーンでも始まるの?
88デフォルトの名無しさん:2014/04/27(日) 20:00:40.15 ID:Vxyi8oSx
C++のアクセスなら、SWIGみたいな外部ツール使えないのかな。
使ったことないからよくわからんけど。
89デフォルトの名無しさん:2014/04/28(月) 18:27:07.47 ID:7OVUzoPA
extern(C++, namespace)に落ち着いたか
しかしexternごときがD言語側に名前空間を作っちゃうのも、これはこれで気持ち悪いな
90デフォルトの名無しさん:2014/04/28(月) 20:03:51.15 ID:qL0Qca/s
確かに、externに引数が並んでるのに違和感あるかな
けど、Dのモジュールの中にnamespaceを閉じ込められるなら
破壊的変更にはならないね(残念)
91デフォルトの名無しさん:2014/04/29(火) 00:58:10.09 ID:devc/baf
宣言文じゃないのにシンボルが増えるというのが非常にきもちわるい
92デフォルトの名無しさん:2014/04/29(火) 14:06:42.02 ID:tuCmfcOr
>C++の為に新しいキーワードを追加するのは負けっぽい感じがする……

まさにこれ
93デフォルトの名無しさん:2014/04/29(火) 15:08:47.84 ID:devc/baf
pragma でよかったんじゃ
extern もろともなくすべきなんじゃ
94デフォルトの名無しさん:2014/04/29(火) 16:13:39.75 ID:pvgpWpOe
わかります
95デフォルトの名無しさん:2014/04/29(火) 22:31:55.63 ID:pkBpl5m8
devc/baf ってなんかいいな
96デフォルトの名無しさん:2014/05/01(木) 16:34:19.67 ID:6z5O7ux5
デストラクタ廃止ってマジ?
97デフォルトの名無しさん:2014/05/01(木) 17:23:04.39 ID:7C5boMZl
間違ってデストラクタ使う被害者がこれ以上出ないように
廃止するのは賛成
98デフォルトの名無しさん:2014/05/01(木) 20:51:01.95 ID:0oza+WQR
オブジェクトが破棄されるタイミングでやりたい事って案外無いよな
大抵はスコープを抜けるタイミングでやりたい事だもんな
99デフォルトの名無しさん:2014/05/01(木) 21:10:04.46 ID:7C5boMZl
デストラクタの中で何かやってるつもりでも
一度も呼ばれないってことも結構あるし
100デフォルトの名無しさん:2014/05/01(木) 21:49:10.84 ID:v0Y0ltE+
だいたいscope(exit) hoge.dispose();だからな・・
101デフォルトの名無しさん:2014/05/02(金) 07:53:43.62 ID:KPrlDK0D
メモリ管理自分で書くならD使う意味が無い
freeとかdeleteとかと変わらん
102デフォルトの名無しさん:2014/05/02(金) 10:56:24.98 ID:G4Q+sCxM
「定期的にGC動かすためだけのスレッド」を作ってくれる関数を、
標準ライブラリに用意すれば、デストラクタの使い道も変わるかも
103デフォルトの名無しさん:2014/05/02(金) 12:11:44.84 ID:brLwemZd
>>101
スコープ出るときに効くんだから
>>100 の書き方は便利だし意味があるよ
104デフォルトの名無しさん:2014/05/02(金) 13:11:18.42 ID:blXeKn1i
>>101 は全く違う話をしている
105デフォルトの名無しさん:2014/05/02(金) 14:52:31.90 ID:p8pwekjp
Dの管轄外のリソースを管理するときにデストラクタだけではあまりに心許ない
106デフォルトの名無しさん:2014/05/02(金) 16:03:15.93 ID:JnFUlpC1
え、デストラクタなくなるの?
初歩的な質問かもしれんけど

今までは scope hoge = new Hoge; だけでよしなにやってくれたのが
scope(exit) hoge.dispose(); とか、
destroy(hoge); だっけ? とか書かないといかんの面倒に感じるんだが

どういう流れなの?
107デフォルトの名無しさん:2014/05/02(金) 16:08:54.71 ID:blXeKn1i
よしなにやってくれていたという幻想
108デフォルトの名無しさん:2014/05/02(金) 16:21:53.47 ID:JnFUlpC1
なん・・だと・・?!
109デフォルトの名無しさん:2014/05/02(金) 16:30:25.36 ID:JnFUlpC1
あ、destroy(hoge)は関係なかった・・
110デフォルトの名無しさん:2014/05/02(金) 18:29:34.17 ID:0U4Igm5b
フォーラム見ると、デストラクタ廃止に反対してる人は多いみたいね
英語力無いから内容はよく分からんが
111デフォルトの名無しさん:2014/05/03(土) 11:41:56.53 ID:jF/2O4SL
クラスってあまり使わない
112デフォルトの名無しさん:2014/05/03(土) 13:00:36.35 ID:C4/8a7In
たしかにクラスなんて面倒くさい、多様な継承を許さないのは未熟者が多いせいだ。
ん〜まあ、scope, try - catch - finary とかもあまり使わないな。
ふんだんにリソースを使っているとにに限って頑張るCG!

だいたい型つけが強い関数なんてあるから cast() で引数を間違うんだ!
そもそも、foreach regnge ってなにさ、renge を効率よく作らなくてはと強迫されているようだ
いつから switch って default 付けないと怒られるようになった!
CTFE なんてあるから、コンパイル時に頑張ろうとしすぎる。
static if って便利なようで便利じゃないじゃんw
一週間たつと自分で書いた OneLiner のコードが読めなくなる。

と思いつつ、d言語を使うのであった。
113デフォルトの名無しさん:2014/05/03(土) 13:19:14.95 ID:Dtr708N3
読める、読めるぞ
114デフォルトの名無しさん:2014/05/03(土) 13:40:57.56 ID:NUO+XoEk
縦読みっぽいけどそうじゃないのか
115デフォルトの名無しさん:2014/05/03(土) 16:22:24.21 ID:C4/8a7In
disるのも愛の一つ
116デフォルトの名無しさん:2014/05/03(土) 18:46:36.84 ID:Dtr708N3
disれてないんだよなぁ……
117デフォルトの名無しさん:2014/05/03(土) 19:01:12.92 ID:NNpB4isO
うーん、disというよりあまりD言語を把握できてないだけなんじゃないかなぁ
慣れもあるかもしれないけどね

個人的には、やっぱり標準ライブラリが微妙だと思う
洗練されてない部分がまだ多い
118デフォルトの名無しさん:2014/05/04(日) 08:17:55.31 ID:tIlgksMI
デストラクタをちゃんと呼ぶGCが作れないのは何故?
やってる言語もあるのに
119デフォルトの名無しさん:2014/05/04(日) 10:46:43.71 ID:QXbdMCU9
やってる言語なんかねーよ
やってるように見えても、GC中全スレッドを止めるとか変なルールが大量にあるとか微妙なのばっかだ
120デフォルトの名無しさん:2014/05/04(日) 11:04:17.33 ID:Bu5D/Ogc
Obj-CのGCは?
121デフォルトの名無しさん:2014/05/04(日) 11:35:09.48 ID:dMbtMIdw
にわかが多いなw
122デフォルトの名無しさん:2014/05/04(日) 11:45:55.48 ID:kkY/TYaH
C++最強無敵!!
123デフォルトの名無しさん:2014/05/04(日) 13:43:35.25 ID:aqdlSFYo
デストラクタが呼ばれないケースってあるのか?
124デフォルトの名無しさん:2014/05/04(日) 13:43:58.82 ID:PKtoVgDn
C++erにはこれをどぞ
sc.yutopp.net/entries/5365c46943f75e3140000da2
125デフォルトの名無しさん:2014/05/04(日) 14:17:07.50 ID:onUxYY9O
>>123
例えばプロセス終了時にアプリがメモリ回収するくらいならOSにやらせる。という戦略もあるそうだ。
そういう時はアプリはターミネートしてOSがページごと破棄するのでデストラクタは呼ばれない。
そして、ハンドル類も回収されない。
126デフォルトの名無しさん:2014/05/04(日) 14:23:38.08 ID:G6sgjCKW
それが問題になるとするとアプリがクラッシュしたらゴミが残りまくることになる
127デフォルトの名無しさん:2014/05/04(日) 19:41:19.36 ID:onUxYY9O
アプリクラッシュしたら、ハンドルリークはしてると思うけど、最近のOSは回収してるのかな?
128デフォルトの名無しさん:2014/05/04(日) 19:52:21.66 ID:xA5nmMXs
プロセス終了時に回収するだろ
129デフォルトの名無しさん:2014/05/04(日) 20:21:41.18 ID:onUxYY9O
へぇー。そうなんだ。
いつもそれが怖くてOSプログラムはやりたくなかった。
130デフォルトの名無しさん:2014/05/04(日) 22:14:22.23 ID:Z6Cxw61y
クラッシュするより無限ループの方が怖い
131デフォルトの名無しさん:2014/05/05(月) 13:23:22.36 ID:r2TGCNLc
core.exception.InvalidMemoryOperationError が怖い
132デフォルトの名無しさん:2014/05/05(月) 16:04:48.06 ID:xi43Egaj
饅頭こわい
133デフォルトの名無しさん:2014/05/07(水) 20:32:05.93 ID:BaKW9Opk
Gui系って今どうなってんすか
134デフォルトの名無しさん:2014/05/08(木) 08:17:34.41 ID:Yn6TNSXa
wxD使ってる
他は判らないのでスマソ
135デフォルトの名無しさん:2014/05/08(木) 11:45:33.43 ID:wn4ijeJt
C++との結合が強化されるなら、QtのDバインディング開発が再開してくれればいいな…
136デフォルトの名無しさん:2014/05/08(木) 17:33:53.22 ID:ibsoH7t0
GtkDおすすめ、他の言語のGTKバインディングと遜色ないよ
https://github.com/gtkd-developers/GtkD/blob/master/demos/gtk/OtherTests.d
137デフォルトの名無しさん:2014/05/08(木) 19:31:52.92 ID:Mynsh9hv
DFLとDWT現役
wxDと同様DLLまみれにならないのがよろし
138デフォルトの名無しさん:2014/05/08(木) 19:48:34.04 ID:wfJQ+mIZ
>>134
今wxDメンテされてるの?
139デフォルトの名無しさん:2014/05/08(木) 21:51:08.94 ID:XJcFiGzl
http://code.dlang.org/
久々にみたけど、いろいろあるね
140デフォルトの名無しさん:2014/05/08(木) 23:25:46.60 ID:IKpiIcyq
GPLが大股開きで誘ってる
141デフォルトの名無しさん:2014/05/09(金) 07:39:23.51 ID:H3Me5XKl
久しぶりに弄って見ようと思ってVisualDインスコしたけどVSは相変わらず有効期限がどうたら出て使えナス
ググっても特に何も出ないし、自分の環境だけなんかなこれ
142デフォルトの名無しさん:2014/05/09(金) 08:23:07.25 ID:TkXdcrE/
Twitterに流れてたんで触ってみたけどtkdもかなりよさげ。
143デフォルトの名無しさん:2014/05/09(金) 09:48:10.65 ID:dvCRlMvr
DもClangで造ってはどうか?
http://developers.slashdot.jp/story/14/05/02/0425216/
144デフォルトの名無しさん:2014/05/09(金) 09:48:59.86 ID:dvCRlMvr
>>136
他のGTKバインディングと遜色ない程度ならいらんな
145デフォルトの名無しさん:2014/05/09(金) 10:18:50.67 ID:Mr0Sp7Ii
>>141
VSのアクチベーションしてないんでしょ
146デフォルトの名無しさん:2014/05/09(金) 15:31:59.22 ID:UorZm4vP
147デフォルトの名無しさん:2014/05/09(金) 18:29:35.33 ID:kZb9S5gA
Clangは知っててもLLVMは知らなさそう
148デフォルトの名無しさん:2014/05/09(金) 19:26:11.42 ID:/kwvD8VY
dmdのソースをDに変換する仕組みができたってマジ?
149デフォルトの名無しさん:2014/05/10(土) 06:04:55.29 ID:UKCEJh+S
皆さんデバッガーとか使ってるんですか
150デフォルトの名無しさん:2014/05/10(土) 06:05:50.56 ID:AX17qFeB
GDBがD言語サポートしてるのでそれを
151デフォルトの名無しさん:2014/05/10(土) 10:21:52.22 ID:1J9c3/jB
writelnっていうグレートなやつを使ってる
152デフォルトの名無しさん:2014/05/10(土) 14:43:12.71 ID:vuipbNsY
しっかりしたunittestとカバレッジとwritelnがあれば大体足りる
153デフォルトの名無しさん:2014/05/10(土) 16:49:53.26 ID:vuipbNsY
>>148
magicport2 github でぐぐれ
コンパイラがメモリリークで死ぬのは防げそう
string が char* のままとかそういうレベルだしここから先どうすんだろ
154デフォルトの名無しさん:2014/05/10(土) 17:51:08.36 ID:AX17qFeB
[DDMD] Add ddmd manually ported source and build system support #3410
https://github.com/D-Programming-Language/dmd/pull/3410
155デフォルトの名無しさん:2014/05/11(日) 01:08:34.10 ID:O0lpU4CW
D最近全然更新ないね
156デフォルトの名無しさん:2014/05/11(日) 04:03:01.73 ID:o03oWJtW
何かをやり遂げた後はかなり疲れる
157デフォルトの名無しさん:2014/05/11(日) 06:30:04.03 ID:iFyy5/4/
>>155
次回アップデート予定日は一応5月19日らしい
http://wiki.dlang.org/Agenda#v2.066_.2819_May_2014.29

リリース目標は未だに達成されてない模様
158デフォルトの名無しさん:2014/05/11(日) 10:45:52.23 ID:6bj6YQCX
No symbol table is loaded. Use the "file" command.
シンボルテーブルってどうやれば作れるんでしょうか
gdbは32・64Bit両方使ってみたんですがエラー出るんですが。
ちなみに64Bitのgdb使うと
warning: `C:\Windows\SYSTEM32\ntdll.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64win.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64cpu.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: Could not load shared library symbols for WOW64_IMAGE_SECTION.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for WOW64_IMAGE_SECTION.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for NOT_AN_IMAGE.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for NOT_AN_IMAGE.
Do you need "set solib-search-path" or "set sysroot"?
Quit (expect signal SIGINT when the program is resumed)
こんな感じでエラー出ます。
159デフォルトの名無しさん:2014/05/11(日) 11:32:49.38 ID:5bM6wK/T
>>158
やりたいことも環境も全くわからん
Win上で DMD/32->GDB をやろうとしてるなら未対応

>>155
2.065の後やりすぎと思うほどどかどか変更が入った
俺の予想ではリリースは来月半ば
160デフォルトの名無しさん:2014/05/11(日) 13:45:11.72 ID:Fjq4go6P
いつのまにscope非推奨になったの!??
デストラクタも非推奨になるとすると
C/C++のバインディング系全滅じゃね??
161デフォルトの名無しさん:2014/05/11(日) 16:38:08.03 ID:iFyy5/4/
scope変数は色々危なかったから仕方ないね
必要ならstd.typecons.scopedを使えってdlang.orgにも書いてある
クラスのデストラクタが非推奨に、ってのもGCはデストラクタを呼ぶ保証が無いから参照カウンタ使えって話でしょ

しかし、何でもライブラリでやろうってのは気にいらんな
この辺の基礎的な部分は言語組込みの方が色々便利だと思うんだが
162デフォルトの名無しさん:2014/05/11(日) 18:51:01.17 ID:5bM6wK/T
コンパイラは小さいにこしたことはない
あえて言えばコンパイルエラーが意味不明になりがちなのが弊害か
163デフォルトの名無しさん:2014/05/12(月) 23:35:16.56 ID:ZtmTFQ/l
invariant() の () がやられたらしい
164デフォルトの名無しさん:2014/05/13(火) 00:14:54.00 ID:tJgFTBc/
あれって構文解析の都合で付いてたのかよ…
165デフォルトの名無しさん:2014/05/13(火) 00:34:43.68 ID:2r3q1gkh
std.typecons.scopedもスタック上にメモリ取ってくれるのかな?
166デフォルトの名無しさん:2014/05/13(火) 06:55:57.53 ID:tJgFTBc/
はい
167デフォルトの名無しさん:2014/05/13(火) 13:10:40.61 ID:I3YIR7QR
関数の戻り値の型推論とメンバのオーバーライドは相性悪いみたいだけど
将来対応する予定とかあるのかな・・・ないならfinalにしてほしい
168デフォルトの名無しさん:2014/05/13(火) 21:08:51.05 ID:/K4LjeLO
公式のPhobosマニュアルに新しいレイアウトがきてる
169デフォルトの名無しさん:2014/05/14(水) 01:12:00.63 ID:PfEAJdFI
デストラクタが非推奨になったらD言語使う意味がなくなるんだが俺…
170デフォルトの名無しさん:2014/05/14(水) 01:24:01.12 ID:iQmPUCPO
デス・トラクター 〜死の宣告人〜
5/20 放映
171デフォルトの名無しさん:2014/05/14(水) 01:26:26.95 ID:uPLogBgZ
幽霊トラクターがどこまでも追ってくるという内容のB級映画か
172デフォルトの名無しさん:2014/05/14(水) 07:21:09.12 ID:0gp7mrIb
クラス、GC、参照カウンタ
173デフォルトの名無しさん:2014/05/14(水) 09:09:00.30 ID:SmoJI8OF
来るかもしれないって煽っておきながら結局来ないのか
174デフォルトの名無しさん:2014/05/14(水) 19:31:35.02 ID:z8cZm/fT
デストラクタはさすがに D2 では残すんじゃねーの
175デフォルトの名無しさん:2014/05/14(水) 19:34:50.41 ID:FT297TjW
>>163
static this「奴は我々の中でも一番の小物」
176デフォルトの名無しさん:2014/05/14(水) 19:40:34.31 ID:eTwx7JM5
あたしさっきハンガリアンの彼と別れてきたわ
イケてないじゃない
177デフォルトの名無しさん:2014/05/14(水) 19:49:31.32 ID:9e1uL7m3
国破れてハンガリア
178デフォルトの名無しさん:2014/05/14(水) 21:12:19.06 ID:iQmPUCPO
だっちゅ〜の☆
179デフォルトの名無しさん:2014/05/14(水) 23:34:41.79 ID:PSOih+2g
static thisは()が無いとおかしくね? あれモジュールのコンストラクタだろ
180デフォルトの名無しさん:2014/05/15(木) 00:47:08.76 ID:5sMFAW9N
引数なしが明らかなら省いてもいいんじゃね
181デフォルトの名無しさん:2014/05/15(木) 06:03:33.86 ID:UtPqEVIk
クラスの方と書き方が変わるのはなー
182デフォルトの名無しさん:2014/05/15(木) 09:01:48.61 ID:xi9ZoLAu
むしろプロパティとかあるんだから、引数がない関数全般で宣言の()省けてもいいんじゃないか
単なる変数と区別がつかないとかそういうのは、まあどうにかなるだろう
183デフォルトの名無しさん:2014/05/15(木) 09:25:29.69 ID:5sMFAW9N
つまり defとかfnとか付けるんですね
184デフォルトの名無しさん:2014/05/15(木) 20:43:26.37 ID:UtPqEVIk
既に宣言周りの文法は混雑してるしなぁ

int foo() {} // 関数
int foo()() {} // 関数テンプレート
int foo() = int.init; // 変数テンプレート
int foo(); // 関数プロトタイプ
int foo; // 変数
185デフォルトの名無しさん:2014/05/15(木) 21:45:55.46 ID:bNXT5ksa
解りやすい(グルグル目)
186デフォルトの名無しさん:2014/05/17(土) 04:17:09.99 ID:Wucrn46j
あれ、日本語の公式っぽいサイトはとうとう更新とまってたのか
187デフォルトの名無しさん:2014/05/17(土) 05:52:30.86 ID:wwvCM72E
一、二年ぐらい前から止まってなかった?
かなり変更入ってるから、もう古いドキュメントだって警告入れてくれないかな
188デフォルトの名無しさん:2014/05/18(日) 17:33:56.96 ID:egFZ9eA5
Error 42: Symbol Undefined _D4dgui4core8geometry4Size6opCallFiiZS4dgui4core8geometry4Size
普通にソースコード内にある構造体なんですけど、これdmdのバージョン落とすとか必要なんでしょうか?
189デフォルトの名無しさん:2014/05/18(日) 17:47:50.83 ID:xz6WkwdF
それ普通のリンク漏れじゃないの
190デフォルトの名無しさん:2014/05/18(日) 18:16:03.61 ID:hTP5ZYg1
何がクソって日本人が関わると閉鎖的になるんだよね
191デフォルトの名無しさん:2014/05/18(日) 18:38:35.04 ID:aiwStKdm
>>187
Githubでpull request送れば良いと思うよ
192デフォルトの名無しさん:2014/05/18(日) 18:53:09.68 ID:ruYXH5xa
能力で並グループ、上位グループでそれぞれ固まって並未満は汚物のようにあしらわれる日本の文化は
低脳にも棒グラフの短いほう的需要がある社会の三国人からすると異質に感じるだろうね
たしかに不寛容が過ぎると思うわ
193デフォルトの名無しさん:2014/05/18(日) 19:05:47.41 ID:aiwStKdm
どこの誤爆だ
194デフォルトの名無しさん:2014/05/18(日) 23:15:18.77 ID:ZB44VEet
195デフォルトの名無しさん:2014/05/19(月) 00:14:23.02 ID:B8oDFdUr
本家にはv2.061以降の英語原文が置いてあるけど
現状の日本語訳の元になった原文は何処かにないのかなぁ
英語原文同士の差分が作れないと全部目視確認することになりそう
196デフォルトの名無しさん:2014/05/19(月) 00:18:02.78 ID:tHtfoV9l
>>188
古いライブラリでエラーが出るなら
まずは同時期のバージョンで試すべき
197デフォルトの名無しさん:2014/05/19(月) 00:34:35.67 ID:/4iavZdo
それで上手くいったら、今度は何がエラーの原因かを突き止めて、
現行版のDMDで動くようにライブラリの改良ですね。
198デフォルトの名無しさん:2014/05/19(月) 00:38:23.71 ID:QLgTC1UW
199デフォルトの名無しさん:2014/05/19(月) 00:48:57.50 ID:tHtfoV9l
文法は2.060
https://github.com/D-Programming-Language/d-programming-language.org/tree/af00cc7a172a7314743960edb509bd1f0c4f5782

↓この時点まではターゲットバージョンが書いてあったんだがその後なぜか消されてるな
https://github.com/kinaba/dlang-ref-jp/commit/1b5b63aaeec4ab5a886115d972d7276cab9e3fb2
200デフォルトの名無しさん:2014/05/19(月) 00:57:01.09 ID:tHtfoV9l
ライブラリの方は2.052くらいだが
まず先にphobos/druntimeのソースから差分を簡単に取れるツールか何か必要と言って
そのまま止まってるんじゃなかったか
201デフォルトの名無しさん:2014/05/19(月) 06:05:44.25 ID:xEeDrkw/
>>192
日本語でok
202デフォルトの名無しさん:2014/05/22(木) 11:54:43.59 ID:jxaWow30
203デフォルトの名無しさん:2014/05/22(木) 19:49:10.61 ID:qUsKi4v0
連想配列をマルチスレッドで触っててたまに出てくる謎エラーにハマった
考えてみれば当たり前なんだけど言語組み込みの機能だからって油断してたぜ
204デフォルトの名無しさん:2014/05/22(木) 20:17:57.73 ID:jxaWow30
>>203
俺も俺も
205デフォルトの名無しさん:2014/05/23(金) 19:32:42.45 ID:Y6IYeBXy
test
206デフォルトの名無しさん:2014/05/24(土) 20:08:33.75 ID:i07McgVg
C#のinとoutのようにテンプレート引数に誓約付ける方法ってありますか?
207206:2014/05/24(土) 20:38:51.06 ID:i07McgVg
自己kaiketuしました
208デフォルトの名無しさん:2014/05/25(日) 04:03:29.45 ID:q30/rjTU
getExtどこいったん・・・
209デフォルトの名無しさん:2014/05/25(日) 09:24:46.27 ID:HOw+aPzz
>"Deprecated. It will be removed in October 2012. Please use extension instead."
210デフォルトの名無しさん:2014/05/25(日) 10:52:16.91 ID:vrjD7GQR
std.path の常用関数は 2.055 で大量に入れ替えられた
211デフォルトの名無しさん:2014/05/25(日) 11:04:10.63 ID:vrjD7GQR
http://peace.2ch.net/test/read.cgi/tech/1314133332/138-168
単なるリネームじゃなくて大小挙動が変わったから対応が面倒だったのを思い出した
というかラッパーでしのいだからまだ残ってるわ
212デフォルトの名無しさん:2014/05/25(日) 13:11:43.65 ID:HOw+aPzz
さらに2.056ではRange仕様になる
213デフォルトの名無しさん:2014/05/25(日) 16:32:28.71 ID:q30/rjTU
dflのリストビューでViewに値渡しても反応ないんですが、これワイの環境だけなんやろうか
エラーも何もでないんす
214デフォルトの名無しさん:2014/05/25(日) 17:47:21.03 ID:mQ7wj0d2
DFLの偉い人はまだこのスレ見てるのかな
215デフォルトの名無しさん:2014/05/25(日) 21:50:16.67 ID:vrjD7GQR
>>213
あそこのsetter/getterはまるまるおかしかった気がする
216デフォルトの名無しさん:2014/05/28(水) 11:32:43.89 ID:mspF09G9
viewのgetterが間違ってる
それ以外は問題なかったと思う
217デフォルトの名無しさん:2014/05/28(水) 21:10:49.96 ID:V96qtIfl
Tkd ver1以上リリースされたのか
218デフォルトの名無しさん:2014/05/29(木) 17:04:46.93 ID:un1psp07
219デフォルトの名無しさん:2014/05/29(木) 17:14:40.59 ID:kyPc1SKC
そいつ特級の基地外だから触っちゃだめよ
220デフォルトの名無しさん:2014/05/29(木) 17:19:14.18 ID:o/QdCuFi
>>218
それはそいつが変人なだけじゃないか…
生理的に受け付けない気持ち悪さを感じた
221デフォルトの名無しさん:2014/05/29(木) 17:26:41.50 ID:3Kwx+eGN
えんがちょ
222デフォルトの名無しさん:2014/05/29(木) 18:20:22.02 ID:24OwhoBR
DMC の使い方で質問です

以下のコードを書いてコンパイルとリンクは問題なかったのですが
http://codepad.org/FX2lPUaw
出来上がった exe を実行すると
タイトルバーもタブの表示もどちらも文字化けします

ソースファイル (test_tabctrl.c) は BOM なしの UTF-8 で保存しています
実行したコマンドは
\dm\bin\dmc gdi32.lib comctl32.lib test_tabctrl.c
です

ちなみに BOM 付きの UTF-8 で保存して Visual C++
cl user32.lib gdi32.lib comctl32.lib test_tabctrl.c
223デフォルトの名無しさん:2014/05/29(木) 18:21:20.55 ID:24OwhoBR
なぜか途中で送信されてしまったので続き

Visual C++ でコンパイルとリンクした exe は文字化けしませんでした
224デフォルトの名無しさん:2014/05/29(木) 18:23:58.37 ID:24OwhoBR
何が間違っているのでしょうか?

#質問するスレが間違っているような気もしますが DMC の質問スレが見当たらなかったのですみません
225デフォルトの名無しさん:2014/05/29(木) 18:28:24.59 ID:uLSCYM3g
dmcはUNICODEリテラル通らないんじゃなかったか
226デフォルトの名無しさん:2014/05/29(木) 19:43:27.69 ID:24OwhoBR
過去ログにありました
ありがとうございました
http://toro.2ch.net/test/read.cgi/tech/1044210976/261-266
227デフォルトの名無しさん:2014/05/30(金) 06:17:49.14 ID:A+ocbhhF
"Code of the Nerds" Digital Mars C/C++
でぐぐるよろし
228デフォルトの名無しさん:2014/05/30(金) 09:55:22.68 ID:ap828pqo
タブコントロール流行ってるのか?
229デフォルトの名無しさん:2014/05/30(金) 14:15:18.97 ID:WgCTm88v
dflのListViewもう直接かえたろうと思ったけど前と変わらなかったワロス
auto style = GetWindowLong(hwnd, GWL_STYLE);
switch(style & LVS_TYPEMASK){
case LVS_ICON:
dwView=LVS_SMALLICON;
break;
case LVS_SMALLICON:
dwView=LVS_LIST;
break;
case LVS_LIST:
dwView=LVS_REPORT;
break;
case LVS_REPORT:
dwView=LVS_ICON;
break;
}
wstyle = (style & ~LVS_TYPEMASK) | dwView;
SetWindowLong(hwnd, GWL_STYLE, wstyle);
ボタン押したら順番に変わるようにしたんだけど、これそれぞれちゃんと流れてるから設定は通ってるはずなのに何も変わらんぞなもし
何を間違えてるのか全然わからないお・・・
230デフォルトの名無しさん:2014/05/30(金) 14:20:37.47 ID:aNxrHZx3
がんがれ
超がんがれ
231デフォルトの名無しさん:2014/05/30(金) 14:26:40.23 ID:SSvUP3u/
hwnd
232デフォルトの名無しさん:2014/05/30(金) 14:42:30.34 ID:WgCTm88v
ログで見たけどハンドル一緒だった
create ::DFL_ListView hwnd::221610
上記関数内
hwnd ::221610
233デフォルトの名無しさん:2014/05/30(金) 15:04:14.40 ID:lW2BcPWo
DFLは内部で毎回決め打ちで再設定してたりする所あるから
外部から少し設定変更しただけじゃ設定上書きされてしまうことあるよね
234デフォルトの名無しさん:2014/05/30(金) 15:38:39.68 ID:+E8tZH7v
確かに思ったように動かないな
諦めてリストビューを再作成してしまうというのはどうだろうw
235デフォルトの名無しさん:2014/05/30(金) 16:33:59.31 ID:axpNlTsu
236デフォルトの名無しさん:2014/05/30(金) 16:40:19.70 ID:psWUHF/Z
誕生したときからクラスもジェネリック型も備えていた言語向けの主要ライブラリがこの出来
なzeどうしてこんなザマになってるんだ
237デフォルトの名無しさん:2014/05/30(金) 16:46:12.03 ID:+E8tZH7v
>>235
当然のように viewの使い方書いてないな
238デフォルトの名無しさん:2014/05/30(金) 19:52:40.30 ID:MZkzM/kU
D言語の能力をフルに活用できるGUIライブラリが欲しい
239デフォルトの名無しさん:2014/05/30(金) 20:05:13.61 ID:IwD7wk7s
D言語はまだ「欲しいと思ったら自分で作る」段階なのです…

その代わり作ろうと思えば何だって作れるさ
240デフォルトの名無しさん:2014/05/30(金) 21:15:04.24 ID:FO5wHToh
Tkdがあるじゃん
241デフォルトの名無しさん:2014/05/30(金) 21:19:27.92 ID:MZkzM/kU
あれよりはGtkDの方が良さそう
242デフォルトの名無しさん:2014/05/31(土) 03:32:03.53 ID:StQGqszV
GTK は糞
243デフォルトの名無しさん:2014/05/31(土) 06:10:27.14 ID:bxo3vwux
そうなん?
244デフォルトの名無しさん:2014/05/31(土) 06:58:45.94 ID:YqpFqbOT
「GTKは糞」と書いて回るやつがまだいるのか

最近フォーラムにでてたDlanguiをだれか試して欲しい
245デフォルトの名無しさん:2014/05/31(土) 07:49:06.28 ID:bxo3vwux
Windows版のGtkがアレなのが原因かな
246デフォルトの名無しさん:2014/05/31(土) 08:40:48.36 ID:bgfx4qK8
Tkは小物を作るにはいいけど大きくなるとどうあがいても機能不足になる
GTKやQtならそういう心配はないはず
wxWidgetsもかなり充実してる
DFLはちょっと画像加工しようとすると厳しくなる
というわけでDWT使ってる
247デフォルトの名無しさん:2014/05/31(土) 09:26:19.93 ID:MIrX7ErA
wxDおすすめ
248デフォルトの名無しさん:2014/05/31(土) 16:30:04.13 ID:CEEK1JRM
wxDってまだ保守されてんの?
…あれ、少し前にもこんな流れあったな


D言語のGUIライブラリQ&Aとかあった方が良いかもね
俺には作れないけど
249デフォルトの名無しさん:2014/05/31(土) 18:02:43.62 ID:MZZ4d7NB
GUI の仕様が安定してても D の仕様がコロコロ変わるのが困る
250デフォルトの名無しさん:2014/05/31(土) 18:22:45.24 ID:6LzyMI+6
単なるCからのラッパーなら大した影響はない

dubでそういう奴が "Dependencies:none" とか書いてるのを見たら
殴りたくなるけど
251デフォルトの名無しさん:2014/05/31(土) 18:48:24.07 ID:wiKxQWEq
Dに将来性はあるんですか?
252デフォルトの名無しさん:2014/05/31(土) 18:53:11.44 ID:qylmlmW4
将来性のある言語なんてない
結果的に将来性のあった言語ならある
253デフォルトの名無しさん:2014/05/31(土) 19:01:15.43 ID:IL91pjst
C++に優るもの無し
254デフォルトの名無しさん:2014/05/31(土) 19:06:51.36 ID:MZZ4d7NB
動けば勝ち
255デフォルトの名無しさん:2014/06/01(日) 01:29:25.24 ID:50t6WW0I
>>244
自分の環境だとDubで引っ張っても普通に動かないなぁ
256デフォルトの名無しさん:2014/06/01(日) 07:27:14.37 ID:O3q6qPZW
>>250
どういうこと?
単にCの関数を提供するだけなら依存は要らないと思うんだけど
257デフォルトの名無しさん:2014/06/01(日) 13:17:17.87 ID:erPhBwhP
DFLのドラッグ&ドロップがバグバグしているんでちょっと書き直してみました
とりあえず、ソースをぶち込んで、まあ動くのを確認したレベルですので過大な期待はしないでください
なお、オリジナルとの互換性はないです。

https://github.com/SeijiFujita/DFL_dnd/tree/master/dfl
258デフォルトの名無しさん:2014/06/01(日) 13:19:41.49 ID:erPhBwhP
259デフォルトの名無しさん:2014/06/01(日) 14:16:45.34 ID:G7XNVB3u
安かも修正汁
260デフォルトの名無しさん:2014/06/01(日) 14:23:34.58 ID:Vdytlm3J
何より先にオープンソースの作法を学ぶ必要がある

せめてリポジトリをforkして作れば
どこを変えたのかすらわからないということにはならず
ライセンス違反も起きにくい
261デフォルトの名無しさん:2014/06/01(日) 14:37:39.84 ID:O3q6qPZW
forkしないとPRも出来ないしね
262デフォルトの名無しさん:2014/06/01(日) 15:15:37.70 ID:Vdytlm3J
forkしないとPRも出来ない
しね
263デフォルトの名無しさん:2014/06/01(日) 21:03:18.17 ID:50t6WW0I
そういえば昔Dflちょっとだけ触った時ドラッグしたファイルが異次元に消えてたな
264デフォルトの名無しさん:2014/06/01(日) 21:29:12.97 ID:erPhBwhP
wxDおすすめ
265デフォルトの名無しさん:2014/06/01(日) 22:57:59.92 ID:G7XNVB3u
wxDってまだ保守されてんの?
266デフォルトの名無しさん:2014/06/01(日) 23:23:11.40 ID:4cfkBbsS
githubのwxDに数日前更新入ってるね
267デフォルトの名無しさん:2014/06/01(日) 23:45:02.39 ID:YdYsYSzQ
>>263
自分の場合、試しにドロップしたファイルが そのソースファイルだったから、
出来たと思ったアプリが、完成と同時に消滅したw
268デフォルトの名無しさん:2014/06/02(月) 16:28:19.87 ID:HFGTbRgF
https://github.com/D-Programming-Language/druntime/pull/822
これ、気付かずに使ったことあるな……
269デフォルトの名無しさん:2014/06/02(月) 17:58:21.45 ID:2EOO5SfK
>>266
ありがとう
また動き出したのかな
270デフォルトの名無しさん:2014/06/06(金) 17:52:44.01 ID:B/N1NhS9
ホントDのリンク関連は地獄だぜ
Phobosと自前のコードでそれぞれリンカを使い分ける必要に迫られてる
271デフォルトの名無しさん:2014/06/08(日) 01:56:36.43 ID:4EUA4K4w
gcさんがアプリ終了する前に働いてくれないからcライブラリからメモリリーク警告出まくるんだけどニートなの?
272デフォルトの名無しさん:2014/06/08(日) 02:55:15.03 ID:R0ABWUTD
C関係の、メモリ管理をちゃんとお願いしたか?
273デフォルトの名無しさん:2014/06/08(日) 07:37:04.09 ID:uRYPECt6
scope(exit) core.memory.GC.collect();
mainに入れとけば動くかも
274デフォルトの名無しさん:2014/06/08(日) 07:45:11.38 ID:397riybv
なるほど
275デフォルトの名無しさん:2014/06/08(日) 08:13:28.84 ID:xrDpsScb
終了時にいくらメモリリークしたっていいじゃない
どうせOSが回収する
276デフォルトの名無しさん:2014/06/08(日) 09:34:59.13 ID:397riybv
まあそうなんだけど
余計な警告出なくなるだけでもありがたい
277デフォルトの名無しさん:2014/06/08(日) 09:39:47.12 ID:R3kWrksN
毎回出る余計な警告に混じって出てくる重要な警告読み飛ばすもんな
278デフォルトの名無しさん:2014/06/11(水) 23:26:18.21 ID:ALIRMVK5
たまにLDC使うと凄く速くてびっくりするな
というかDMDの最適化が糞すぎるのか
279デフォルトの名無しさん:2014/06/14(土) 00:18:03.44 ID:4/yKtYBT
関数が、内部で利用してるテンプレートとかインターフェースの実装如何では
pureとか@safeとかnothrowになれるのだが、という時ってどうしてる?
諦めるしかないんかな。
280デフォルトの名無しさん:2014/06/14(土) 00:33:35.02 ID:4/yKtYBT
あ、いや、インターフェースは諦めないとダメか。
テンプレートでRange周りとか、要素型の実装次第で修飾変わってくることがわりとあると思うんだけど、
なんか上手い書き方(もしくは将来的に可能になりそうとか)知ってる人いたら教えてください。
281デフォルトの名無しさん:2014/06/14(土) 00:34:53.60 ID:kVfPiGuj
@safe, nothrow は外から握りつぶせるはず…あまりオススメしないが

pureは呼び出してる奴に属性をつけるか中身だけをコピーしてくるか
そんなとこじゃない
282デフォルトの名無しさん:2014/06/14(土) 08:05:05.99 ID:p/PQ5SD6
ttp://qiita.com/9rnsr/items/f9c6879daf439dbf07e1

> pure,nothrow,@safeの推論機構の改良
>
> Issue 10329 - Attributes not inferred for indirectly templated methods
> ttps://github.com/D-Programming-Language/dmd/pull/2832
>
> テンプレートによって実体化される全ての関数は、それがネストしたスコープにあるかどうかに関わりなく属性推論が有効になるべき、という機能です。PRの取り込み待ちです。

>279 が気になるのはコレ?
283デフォルトの名無しさん:2014/06/14(土) 10:33:58.01 ID:hcKnusOa
ずいぶん前から言われてた気がするけどまだ解決してなかったのね
それにしても9rnsr氏は貢献し過ぎである
284デフォルトの名無しさん:2014/06/15(日) 10:23:20.84 ID:nmgPptuv
285デフォルトの名無しさん:2014/06/19(木) 19:27:59.89 ID:3DnU6/UW
Dconf2014のスライドは公開されるんだろうか
286デフォルトの名無しさん:2014/06/20(金) 14:13:04.24 ID:TN/Iy1wb
-profileでビルドすると実行速度が100倍ぐらい(1秒で終わる処理が1分以上)遅くなるんですけど、
こういうものなんでしょうか?
287デフォルトの名無しさん:2014/06/20(金) 14:21:29.60 ID:C6Xti4O4
そういうもの
必要な時以外は使っちゃダメ
288デフォルトの名無しさん:2014/06/21(土) 11:21:54.91 ID:GdiKJ5Lr
Gtkd の Windows版を試したらかなりマトモでおどろいた!
289デフォルトの名無しさん:2014/06/21(土) 22:40:09.22 ID:om5858Ss
Windows版は知らんが、Linuxで使っている限り不自由はしないな。
290デフォルトの名無しさん:2014/07/02(水) 00:18:23.58 ID:gtuJw30b
LLVMベースのD言語コンパイラ登場
http://news.mynavi.jp/news/2014/07/01/248/
291デフォルトの名無しさん:2014/07/02(水) 00:29:17.19 ID:eZw+Gx55
LDCは前からあるコンパイラだし、記事の内容も色々とおかしいし…
292デフォルトの名無しさん:2014/07/02(水) 00:38:28.67 ID:gtuJw30b
やっぱりか
293デフォルトの名無しさん:2014/07/02(水) 06:40:18.90 ID:IeKwRUiu
なんでMynaviで取り上げられたかっていうと、Phoronixで取り上げられたからだろう
http://www.phoronix.com/scan.php?page=news_item&px=MTczMTk
294デフォルトの名無しさん:2014/07/02(水) 15:35:09.28 ID:eZw+Gx55
2.066-b1か
295デフォルトの名無しさん:2014/07/04(金) 21:08:04.39 ID:rhJ6+N2+
296デフォルトの名無しさん:2014/07/10(木) 18:44:37.79 ID:8eQCf35+
Wiredで取り上げられてる
http://www.wired.com/2014/07/d-programming-language/
297デフォルトの名無しさん:2014/07/12(土) 00:43:56.30 ID:oQyWP5nz
話題待ちあげ
298デフォルトの名無しさん:2014/07/12(土) 01:37:42.62 ID:9R4AdJHD
日本で生まれ、世界が育てたdentsu
299デフォルトの名無しさん:2014/07/12(土) 12:05:16.30 ID:hZ9DjkyP
kaso
300デフォルトの名無しさん:2014/07/19(土) 00:23:47.12 ID:Bl44Zq8q
何故こんなに衰退したのか
301デフォルトの名無しさん:2014/07/19(土) 00:35:57.54 ID:QUXvHH2r
いやほんと。比較論者さえ絡んでこなくなって久しい
世間はc++1yやらswiftやらに盛り上がってるとかなんなんだろうね
302デフォルトの名無しさん:2014/07/19(土) 00:48:52.37 ID:XBc61slo
新規ユーザを取り込めてるのか怪しいし既存ユーザも使い続けてるのか怪しい
303デフォルトの名無しさん:2014/07/19(土) 00:59:22.16 ID:Bl44Zq8q
なんか作ろうぜ
304デフォルトの名無しさん:2014/07/19(土) 01:10:21.52 ID:ngmaeWXO
海外では比較的に順調っぽいのに日本では流行らないのん
305デフォルトの名無しさん:2014/07/19(土) 01:16:09.45 ID:zZmJmlL7
単に2chが衰退しただけじゃ…
306デフォルトの名無しさん:2014/07/19(土) 03:20:16.24 ID:0s6Yl60V
RT >302
RT >305
307デフォルトの名無しさん:2014/07/19(土) 03:31:28.92 ID:7rL7EX6a
308デフォルトの名無しさん:2014/07/19(土) 04:20:45.28 ID:QUXvHH2r
晒すほどの書き込みかなそれ
俺だって時には広告がブラジャーだらけになって慌てることもある
普通だよ普通
309デフォルトの名無しさん:2014/07/19(土) 07:52:45.50 ID:ngmaeWXO
ゲェーッ!

「"D言語"」のYahoo!検索(リアルタイム)
http://realtime.search.yahoo.co.jp/search?tt=c&amp;ei=UTF-8&amp;p=%22D%E8%A8%80%E8%AA%9E%22
310デフォルトの名無しさん:2014/07/19(土) 17:41:59.72 ID:QPCHoBE2
2chの勢いがないのはいいとして、D日本語サイトの更新がないのがこまる
311デフォルトの名無しさん:2014/07/19(土) 19:21:52.98 ID:ovpGaV+X
悲しいことに_argumentsと_argptrを使って
std.string.formatと同じフォーマットをやらなきゃならないはめになってるんだけど
そもそもこれできるの?無理な気がしてきた
312デフォルトの名無しさん:2014/07/19(土) 19:41:14.17 ID:ovpGaV+X
と書いたところでstd.format.doFormatみたいなのを見かけてできる気がしてきた
でもこれドキュメントに載ってないのか。使うと寿命が縮むだろうか
313デフォルトの名無しさん:2014/07/19(土) 20:33:11.02 ID:ngmaeWXO
// This stuff has been removed from the docs and is planned for deprecation.
と書かれたのが4年前か
314デフォルトの名無しさん:2014/07/19(土) 21:03:29.46 ID:71/bQDSL
ダメになっても自作で同じインタフェース作れるなら困らない
315デフォルトの名無しさん:2014/07/19(土) 21:15:24.85 ID:5bfNBw6F
廃止になってもコピペして使い続けるのは自由
316デフォルトの名無しさん:2014/07/20(日) 08:27:22.69 ID:vy4VEVQs
 プログラミング言語DのP.212で NVI をサポートしてると書いてあり、
サンプルコードで interface 中に private フィールドが出てくるんだが、
実際に継承して使うとエラーになる。
 これは
 ・本の間違い
 ・dmdのバグ
のどちらなんだ?
 一応ググったら過去ログが引っかかって、当時(2007/7)と変わっていない
ようなので前者かと思うが、正誤表には無かったので気になった。
317デフォルトの名無しさん:2014/07/20(日) 11:17:35.95 ID:kModIzy2
>>317
interface に private はないと思うよ
318デフォルトの名無しさん:2014/07/20(日) 11:29:31.75 ID:ErUz0FQn
TDPLはまだ実装されてない機能も載ってるとか何とか

2.065では動いてるけど
319316:2014/07/20(日) 19:05:32.68 ID:vy4VEVQs
2.065だが動かない 助けて

http://dpaste.dzfl.pl/7d0f59629486

書き方が間違っているのか何なのか
private が protected なら勿論動く
2.066.0-b4 でも同様のエラーで通らない
320デフォルトの名無しさん:2014/07/20(日) 19:08:48.91 ID:NXACm9JH
privateにすると非仮想だよね・・・
321デフォルトの名無しさん:2014/07/20(日) 19:23:47.47 ID:0bRnrjsh
そうゆうのは抽象クラスでやるもんじゃないのかぁ
322デフォルトの名無しさん:2014/07/20(日) 19:40:06.06 ID:NXACm9JH
そういえばDのNVIはまだ一回も使ったこと無いな
もう実装されてたのか。バグりまくってるけど
323デフォルトの名無しさん:2014/07/20(日) 20:12:13.38 ID:ErUz0FQn
protectedでいいじゃない 何がしたいのかわからん
324間違えてscに書いてもたからもう一回:2014/07/20(日) 23:21:02.39 ID:epB0dFAj
>>322 のto_sを非仮想にってのにこだわると
mixinにしてダックタイピングによるtemplate地獄にする他ないと思う
http://dpaste.dzfl.pl/7df77ffefe79
↓本が間違いで、悪いこと言わんからprotectedにしとけって
http://forum.dlang.org/thread/[email protected]
325316:2014/07/21(月) 03:43:58.80 ID:lh3+Iy3N
 本にあったけど書いてみて通らなかったからコードをちょっと短くして聞いてみたのよ
 そのまま書こうにも実行できるコードじゃなかったし

 特に private に拘りがあったわけじゃないんだ
 自分の書き方が間違っているだけでコンパイルが通らないなら、
それを聞きたいと思った
 他にもこのコードが今実行できないだけで、将来実行できるのかどうかとか
それらが知りたかった 言葉足らずだったスマン

>320
そうだな
これがコンパイル出来るなら interface の private は特別扱いするのかと思った

>321
状態がないなら(ないから)抽象クラスより良いのではないかと思ったんだ
他にクラスを継承したい場合でも interface なら共に継承可能だし

>324
そうします
326デフォルトの名無しさん:2014/07/24(木) 17:26:46.35 ID:w2uo6knu
void foo(lazy Object exp)
in { assert(exp); }
body { }
327デフォルトの名無しさん:2014/07/24(木) 22:48:59.87 ID:oaEEh9nM
勉強がてらD言語のテスト
ttp://fast-uploader.com/transfer/6961765293772.png
328デフォルトの名無しさん:2014/07/25(金) 00:04:09.12 ID:cQJQccdW
グロ中尉
329デフォルトの名無しさん:2014/07/26(土) 01:43:29.77 ID:uwCe3EGj
バグっぽいんだが、どうですか
http://dpaste.dzfl.pl/43a0084bc4f2
(linux dmd2.065 x64)
330デフォルトの名無しさん:2014/07/26(土) 13:00:24.57 ID:Tmqdlh5f
こんにちはOcamlをやってたんだですが
いろんな理由があって見限ってD言語に逃げてきました
VisualD最高ですね
GOと競合してるらしいですが、GoはGoogle臭がキツすぎてまともに相手にする企業はいないと思いますね
331デフォルトの名無しさん:2014/07/26(土) 13:02:01.93 ID:CEa11zc4
はあそうですか
332デフォルトの名無しさん:2014/07/26(土) 13:15:25.92 ID:57WieACj
GoogleがMSくらいおとなしくなったらC#くらい使われるようになるかもよ

個人的にはいくらなんでも名前がダサすぎると思うんだが…
せめて語尾に!くらいつけようぜ
333デフォルトの名無しさん:2014/07/26(土) 16:32:36.56 ID:tno9AbkY
GoとDが競合してるように見える人、多分プログラマーじゃないよな
334デフォルトの名無しさん:2014/07/26(土) 19:13:52.87 ID:MsvbT0Zs
そもそもGoは何と競合するんだ?
Androidアプリ用なのか?

まあ理由はともかく、Dを使う人が増えるのはいいこと
335デフォルトの名無しさん:2014/07/26(土) 20:35:48.90 ID:Tmqdlh5f
私は昔、D言語のことが大好きでした。D言語はよくできたC++のようなものです。
またD1については低水準化したPythonという印象でした。要するにPythonナイズしたCといったところです。
本当にすばらしいのですよ。コードが読みやすいのでアルゴリズムの設計に集中でき、開発スピードが上がります。
それに、必要な時に低水準な処理を制御することができます。
D1の開発系として分離されたD2は、著名なC++プログラマであるアンドレイ・アレキサンドレスクによって革新的な修正を加えられ、
C++に負けないくらい複雑になってしまいました。これはD2の並行処理能力をより高めるためでしたが、コミュニティの一部を失望させることになりました。
D2はもはや簡潔な言語ではなく、テストされていない機能を多く含んだ実験的な言語になってしまったようです。
それでもまだ私はDが好きですが、同じように複雑な言語であるC++が先行して普及していることを考えると、Dを使うべき利点は薄れていると思います。
またGoがDにとって代わったのかな、とも思います。
Dの最初の開発者であるウォルターやアンドレイが、非常にクールな機能を次から次へと実装したとしても、Googleを打ち負かすことはできないのでしょう。
ひょっとしたらあなたも、私と同じようにDを気に入るかもしれません。
でも、Dに輝かしい未来があるようには思えないのです。
今まで通りC++を使い続けるか、より充実したネイティブ並行処理がサポートされているGoに乗り換えるべきでしょう。
Dを使うとしたら、次のようなケースでしょうか。
336デフォルトの名無しさん:2014/07/26(土) 20:55:47.48 ID:tno9AbkY
こんな酷い評をもとにみんなDとGoを並べてるの
337デフォルトの名無しさん:2014/07/26(土) 20:59:29.33 ID:hK8qQs20
競合してないよな
相手にされてないという意味でだけど
338デフォルトの名無しさん:2014/07/26(土) 22:09:49.96 ID:1CZrW0Eq
マスコットのキモさが競合してるだろ
339329:2014/07/26(土) 23:53:51.31 ID:ThsY5Wcy
Dと競合するためには破壊的変更がないとなあ。

329だけど、2.066-b5 で直ってたっthx!
340デフォルトの名無しさん:2014/07/26(土) 23:59:24.75 ID:55qVa9NE
Dと競合するのはRustでは?
341デフォルトの名無しさん:2014/07/27(日) 00:40:48.69 ID:u3jvb72Q
b5は連想配列のgetが盛大にバグってる
2.066βは期待を裏切らなくてよい
342329:2014/07/27(日) 01:29:29.61 ID:fdzY+58f
>>341 まじか。もう入れちまったお
これはヨナベが捗りますなぁ
343デフォルトの名無しさん:2014/07/27(日) 02:08:14.42 ID:u3jvb72Q
>>342
string[string]でget()使うとなぜかconst(char)[]が返ってくるみたいなバグだから
コンパイル通ればたぶん大丈夫よん
344デフォルトの名無しさん:2014/07/27(日) 11:35:46.80 ID:b6NTPR2W
Dのバージョン切り替えなんてフォルダをリネームするだけっしょ
345デフォルトの名無しさん:2014/07/27(日) 12:11:31.95 ID:U7uDR9xp
ダウンロードさえしとけば
昔のバージョンにいつでも戻れるのは良い点
346デフォルトの名無しさん:2014/07/27(日) 12:21:54.60 ID:u3jvb72Q
HDDが容量不足になったときに過去のコンパイラを消すだけで10GBくらい稼げる
dmdはいいやつだ
347デフォルトの名無しさん:2014/07/27(日) 21:46:29.65 ID:3lKwqwqN
ftp://ftp.dlang.org/
dmdは古いのから新しいのまでお好きなのをどうぞ
348デフォルトの名無しさん:2014/07/28(月) 16:39:30.44 ID:hpZZ6WGD
>>343 大丈夫だった!ありがとう!
>>344 バグ回避の為のコード消しちゃったから、そこがメンドくて(^_^)>
349デフォルトの名無しさん:2014/07/28(月) 23:13:03.08 ID:2L1UoTME
>>344
win7のシンボリックリンクは知名度低いといってもPGは知ってなきゃダメだろ
350デフォルトの名無しさん:2014/07/30(水) 19:04:26.18 ID:oDHaBQlk
>■OMF<->COFF変換ツール
http://www.agner.org/optimize/#objconv

なんだこれ?使い物にならん
dllがexecutable fileとか言われるわ
implibは32bit版じゃないとダメらしいし
351デフォルトの名無しさん:2014/07/30(水) 22:04:13.90 ID:3hZBZ7Bz
>>350 の環境がWindows+x64+dmdであると仮定して書くんだけど、
1. dmd は-m64でVCのリンカを参照すること。
2. だからx64ではCOFFのライブラリをそのまま使えること。
3. objconvはインポートライブラリに対しては使えないこと。
4. .exeや.dllにはCOFFとかOMFとか関係ないから、objconvに渡しても無意味であること。
などを信じて、俺は幸せなD言語ライフを送っています。
352デフォルトの名無しさん:2014/07/31(木) 02:14:10.11 ID:n3Hv3wJC
まぁVCやgccで作ったCOFF形式のlibファイルやaファイルを
それでOMFに変換してdmdで(というかOPTLINKで)使おうとしても、
大抵エラー吐くんだけどな。

だからdmdは64bit版を使おう楽だから。
353デフォルトの名無しさん:2014/07/31(木) 10:02:55.93 ID:N7h43RT+
SEHに対応してくれたら本気出す
354デフォルトの名無しさん:2014/07/31(木) 12:17:24.87 ID:uCJCqnN7
blockerとは何だったのか
355デフォルトの名無しさん:2014/07/31(木) 21:23:32.37 ID:4CmHinpe
CでReleaseビルドしたlibをリンクするとUTFExceptionで落ちるんだけど
なにかやらないとだめかえ?
356355:2014/07/31(木) 21:56:50.71 ID:4CmHinpe
自己解決した
VisualDのソリューションのパスに日本語が入ってるかららしい・・・
357355:2014/07/31(木) 22:06:55.47 ID:4CmHinpe
勘違いだった。関係無かった・・・
358デフォルトの名無しさん:2014/07/31(木) 23:45:31.20 ID:N7h43RT+
文字列の末尾の0
Unicodeの変換忘れ
GCに乗ったメモリを渡して途中で解放された

そもそもどこで落ちてるのかわからんのかえ
359デフォルトの名無しさん:2014/08/01(金) 00:56:41.83 ID:5xe7I4pz
dmd v2.066.0-b6 か... いつごろリリースするつもりなのか?

http://wiki.dlang.org/Agenda#v2.066_.28July_2014.29
360355:2014/08/01(金) 01:06:46.17 ID:CKCibHp+
自分でコマンドライン書いたらビルドできたからVisualDのバグかなぁ。
ビルド中にVisualDそのものがstd.utf.UTFExceptionのエラーダイアログ出す。
std.utf.utf.dの1109行目らしい。
Releaseビルドされてるlibをリンクするとダメらしい。

つーか、なんでビルド中にDの処理がはしるのかわけわかめ。
libファイルの中身をDで読み込んでるのか?
いみわからんからやめさせられないか。
361デフォルトの名無しさん:2014/08/01(金) 03:03:07.49 ID:Mjd2jJg4
テンプレートとかmixinトカ
362デフォルトの名無しさん:2014/08/01(金) 03:37:40.10 ID:B08XTG9S
>>359
もう来てるよ>>347
363デフォルトの名無しさん:2014/08/01(金) 08:33:36.26 ID:5YlCHfl7
http://downloads.dlang.org/
FTP鯖は遅い
ついに RC1になったよ(pre-releases/2014)
364デフォルトの名無しさん:2014/08/02(土) 18:05:26.75 ID:/qujBAJ4
float x = float.nan;
assert(x != float.nan);
writeln(x);

実行結果:nan

assertにひっかからないんですけど、どういうことなんでしょうか?
365デフォルトの名無しさん:2014/08/02(土) 18:43:07.45 ID:gHti8UBm
std.math.isNaN

浮動小数点数の比較は闇の入り口やで
366デフォルトの名無しさん:2014/08/02(土) 19:21:56.42 ID:/qujBAJ4
>>365
なるほど、演算子で比較しちゃいけないのか。
367デフォルトの名無しさん:2014/08/02(土) 21:20:30.77 ID:e74dBxat
-inf -0 +0 +inf NaN 計算誤差
こんなの全部いちいちやってらんないぜ!
368デフォルトの名無しさん:2014/08/03(日) 04:26:00.97 ID:T59meZIw
Experimental win32 OMF linker written in D now on github
http://forum.dlang.org/thread/[email protected]
https://github.com/yebblies/ylink
369デフォルトの名無しさん:2014/08/03(日) 07:15:59.24 ID:BlMLLyrV
370デフォルトの名無しさん:2014/08/03(日) 08:49:34.72 ID:bPGWsjSY
Dって未来あるの?
371デフォルトの名無しさん:2014/08/03(日) 08:57:51.93 ID:BlMLLyrV
現在も過去もアレなので未来しかない
372デフォルトの名無しさん:2014/08/03(日) 09:08:12.21 ID:T59meZIw
なるほど
一理ある
373デフォルトの名無しさん:2014/08/03(日) 09:12:47.17 ID:whCHIX+x
未来に生きるとはこのことか
374デフォルトの名無しさん:2014/08/03(日) 09:56:08.79 ID:REWxXvum
std.xmlの代わりはよ
375デフォルトの名無しさん:2014/08/03(日) 11:09:33.45 ID:e0g9CsnM
未来に向かって脱出するとしよう
376デフォルトの名無しさん:2014/08/03(日) 14:02:27.00 ID:Wr5FGw9Z
SDL-widgets http://members.chello.nl/w.boeke/SDL-widgets/
の D言語版ってないのかな?
377デフォルトの名無しさん:2014/08/03(日) 14:29:53.30 ID:OMONJpSZ
https://github.com/buggins/dlangui
Uses SDL2 or XCB as a backend (SDL2 is recommended, since has better support now).
378デフォルトの名無しさん:2014/08/03(日) 14:33:42.65 ID:bIPi7fxQ
Derelict3にSDL2含まれてる
379デフォルトの名無しさん:2014/08/03(日) 15:23:10.62 ID:q8fBalr7
>>377
一見よさげだがライセンスに無頓着っぽいのがこわい
>>378
そういう話ぢゃない
380デフォルトの名無しさん:2014/08/03(日) 15:32:00.77 ID:Wr5FGw9Z
>>378
ありがとう!試してみます〜
381デフォルトの名無しさん:2014/08/03(日) 15:35:13.06 ID:8iLdmqG7
そういう話だったのか……?
382デフォルトの名無しさん:2014/08/04(月) 20:47:28.17 ID:cek/HGoY
>>377-379
正直すまんかった
各ソースの中に boost license って書いてあるな
トップからわかるようにしてくれっ中年
383デフォルトの名無しさん:2014/08/09(土) 21:21:35.41 ID:vPLnEWad
ゲームのソースくれさい
384デフォルトの名無しさん:2014/08/10(日) 00:25:33.21 ID:j1OTynVE
10年前のやつでよければ
385デフォルトの名無しさん:2014/08/10(日) 00:54:06.02 ID:oT1BdHMa
コンパイルが通るまでにどれくらいかかるのか
386デフォルトの名無しさん:2014/08/10(日) 07:24:59.63 ID:bAUGthrL
D言語の開発陣が未だに弄り続けてるD1があるじゃないか
387デフォルトの名無しさん:2014/08/10(日) 07:45:53.57 ID:7E80EqrJ
今でも>>363のページから10年前のdmdが入手可能
388デフォルトの名無しさん:2014/08/13(水) 00:44:24.02 ID:zdnki/wD
夏休みなのに話題なしとかやばくね?
389デフォルトの名無しさん:2014/08/13(水) 01:16:01.70 ID:1+Vqh2e4
夏休みがある種族にDerはいるのだろうか
390デフォルトの名無しさん:2014/08/13(水) 07:22:02.34 ID:TT8FY689
企業戦士御用達言語
391デフォルトの名無しさん:2014/08/13(水) 13:44:08.54 ID:yCsZpoZZ
>>389
Derは夏休みがある種族だろうか
392デフォルトの名無しさん:2014/08/13(水) 15:15:51.19 ID:TZPZmb+y
学生時代にちょっとかぶれて
オトナになったら離れていくものだろ
393デフォルトの名無しさん:2014/08/13(水) 15:42:48.31 ID:TT8FY689
夏休みになったのに話題が無いよって話なのに


Hara氏のプルリク(https://github.com/D-Programming-Language/dlang.org/pull/616/files)から2.066のChangelogを拾ってきたよ

# Compiler Changes
- -w now warns about unused return value of a strongly pure nothrow function call.
- -noboundscheck has been deprecated in favor of boundscheck=[on|safeonly|off].
- -vgc was added to list GC allocation code positions in the code.
- -vcolumns was added to display column numbers in error messages.
- -color was added to make console output colored.

# Language Changes
- @nogc attribute was added.
- extern (C++, namespace) was added.
- Operator overloading feature for multi-dimensional slicing was added.
- __traits(getFunctionAttributes) was added.
- Support template parameter deduction with arguments with narrowing conversion.
- Read-Modify-Write operations on shared variables are now deprecated.
- Support uniform construction syntax for built-in scalar types.

# Library Changes
- Duration.get and its wrappers have been deprecated in favor of the new Duration.split.
- Some built-in type properties has been replaced with library functions.
- Associative array keys now require equality instead of order comparison.
394デフォルトの名無しさん:2014/08/13(水) 15:52:35.91 ID:Bd7xMtig
日本語でまとめて
395デフォルトの名無しさん:2014/08/13(水) 16:48:49.86 ID:GFdBd9E5
英語のまま読む練習しよう、後々絶対に役に立つから
396デフォルトの名無しさん:2014/08/13(水) 17:18:50.85 ID:e08J2zv2
ついに@nogcがきたか
397デフォルトの名無しさん:2014/08/13(水) 17:41:52.44 ID:1+Vqh2e4
#までは読めた
398デフォルトの名無しさん:2014/08/13(水) 18:03:45.83 ID:qqATi5Tz
拾ってきたよまで読めた
399デフォルトの名無しさん:2014/08/13(水) 19:50:01.47 ID:TZPZmb+y
リンク先を見に行って Files changed を開けば
具体例までちゃんと書いてある
400デフォルトの名無しさん:2014/08/13(水) 20:00:23.98 ID:e08J2zv2
それ書かれるようになったの結構最近だった気がするけど一目でわかっていいよね
やっぱりDのコードは全世界共通語なんだな
401デフォルトの名無しさん:2014/08/15(金) 15:31:57.63 ID:Sp3fVf/J
>>393
>extern (C++, namespace) was added.

これ凄くないか?
402デフォルトの名無しさん:2014/08/15(金) 17:36:42.35 ID:xb4RWV+0
凄いというか怖い
403デフォルトの名無しさん:2014/08/15(金) 18:16:59.10 ID:EAoCiRcg
短冊にお願いを書くと叶えてもらえるスレはここですか?
404デフォルトの名無しさん:2014/08/15(金) 20:00:35.88 ID:8lH/t+ap
extern (C++, boost.numeric.ublas) void prod() {}

void main()
{
prod();
boost.numeric.prod();
boost.numeric.ublas.prod();
boost.prod();
boost.ublas.prod();
boost.ublas.prod();
numeric.prod();
numeric.ublas.prod();
ublas.prod();
}
405デフォルトの名無しさん:2014/08/15(金) 20:02:32.44 ID:4NGRiuWW
C++テンプレートのexternマダー?
406デフォルトの名無しさん:2014/08/15(金) 21:57:40.65 ID:5tGy8kcZ
まずABIを定義したまえ
407デフォルトの名無しさん:2014/08/16(土) 11:49:54.97 ID:rOaFr8n6
408デフォルトの名無しさん:2014/08/16(土) 14:33:09.32 ID:VKTgsMtd
あれ、ABIじゃなくて htod みたいな変換で吸収して終わりじゃないのん
409デフォルトの名無しさん:2014/08/17(日) 10:00:11.35 ID:PzbM5MXa
>>393

> extern (C++, namespace) was added.
ちょおま クソC++を実装するようなもんだからやらねっていってたじゃねーか!

> @nogc
バグりそう

> Read-Modify-Write operations on shared variables are now deprecated
なんでなん?自分でガードしろってこと?

> -color
Sugeeeeeeeeeeeeeee
410デフォルトの名無しさん:2014/08/17(日) 11:29:59.91 ID:2/SNnYSa
shared と __gshared の違いがよく分からなくなってきた
411デフォルトの名無しさん:2014/08/17(日) 11:36:15.93 ID:PHQzH28y
服を着ているのと全裸という大きな違いがある
412デフォルトの名無しさん:2014/08/17(日) 11:43:55.60 ID:7vM0n4G9
>>409
> バグりそう
どんな機能を想像してるのか知らんが、
pureとか@safeと同じで@nogcが付いてる部分でGCを使う操作をするとコンパイルエラーになるってだけだ

> なんでなん?自分でガードしろってこと?
atomicOp使えってこと
413デフォルトの名無しさん:2014/08/17(日) 12:18:42.57 ID:2/SNnYSa
shared の同期は単体のReadまたはWriteだけで
Read-Modify-Write はアトミックにして対処し
それ以上の処理はsynchronized使えってことなのかな
414デフォルトの名無しさん:2014/08/17(日) 12:54:47.48 ID:PHQzH28y
TLSは内部で完結するけど
こっちもやろうとすると
見えないところでデッドロックまで最悪ありうるのかな
415デフォルトの名無しさん:2014/08/18(月) 08:33:54.27 ID:8m3qW8UI
COFFサポートは2.067に入るのかな
416デフォルトの名無しさん:2014/08/18(月) 09:28:00.32 ID:0GH1txVb
何の話かと思ったら既にマージされたのか
内容にかかわらず reject されるという予想だったのだがw
417デフォルトの名無しさん:2014/08/18(月) 12:22:25.43 ID:0GH1txVb
うぉるたんはまだ druntime側の対応がついてないから不十分だと言ってる
…何がたりないんだっけ
418デフォルトの名無しさん:2014/08/19(火) 09:37:39.20 ID:4oI8t6Hf
2.066
419デフォルトの名無しさん:2014/08/19(火) 15:48:55.01 ID:a/u5e8tD
2.066 リリースおめ

Version D 2.066 August 18, 2014
Compiler Changes

1. -w now warns about an unused return value of a strongly pure nothrow function call.
2. -noboundscheck has been deprecated in favor of boundscheck=[on|safeonly|off].
3. -vgc was added to list GC allocation code positions in the code.
4. -vcolumns was added to display column numbers in error messages.
5. -color was added to make console output colored.

Language Changes

1. @nogc attribute was added.
2. extern (C++, namespace) was added.
3. Operator overloading for multi-dimensional slicing was added.
4. __traits(getFunctionAttributes) was added.
5. Support template parameter deduction for arguments with a narrowing conversion.
6. Read-Modify-Write operations on shared variables are now deprecated.
7. Support uniform construction syntax for built-in scalar types.

Library Changes

1. Duration.get and its wrappers have been deprecated in favor of the new Duration.split.
2. Some built-in type properties have been replaced with library functions.
3. Associative array keys now require equality instead of order comparison.

http://dlang.org/changelog.html#list2066
420デフォルトの名無しさん:2014/08/25(月) 02:49:02.02 ID:k6uFK3/4
難産だったな
421デフォルトの名無しさん:2014/08/25(月) 16:11:10.14 ID:OTL7uAT+
質問です
import std.stdio;
import std.datetime;
int main(string[] args)
{
uint t = 1408960000;
writeln(SysTime(unixTimeToStdTime(t)).toISOExtString());
writeln(SysTime(t * 1000 * 1000 * 10L).toISOExtString());
writeln(SysTime(cast(ulong)t * 1000 * 1000 * 10L).toISOExtString());
return 0;
}

2014-08-25T18:46:40
0001-01-01T09:04:33.514496
0045-08-25T18:46:40

と表示されます
1行目以外が正しい値にならないのはいいのですが、
2行目と3行目の値が全然違うのはそういうもんなんですか?
Cみたいに演算時に整数の拡張は自動では行われないのですか?
422デフォルトの名無しさん:2014/08/25(月) 16:47:18.50 ID:5VqAReZX
>>421
UNIX時間は、原点をUTC西暦1970年1月1日0時とする、秒単位。
一方、SysTimeは、原点をUTC西暦元年1月1日0時とする、ヘクトナノ秒単位(100ns)の(たぶん符号あり)64bit整数
時間の単位を保持した型からは自動変換されるけど、生の数値はそうではないので
適切に変換関数使うなりしないといけないらしい
http://dlang.org/intro-to-datetime.html

自分はstd.datetimeをまだ一度も使ったことのないですが…w
423デフォルトの名無しさん:2014/08/25(月) 17:09:19.63 ID:OTL7uAT+
ああやっぱりうまく伝わらなかったみたいです
ヘクトナノ秒(hnsecs)であることとepochが違うことは理解してます
なので1000*1000*10Lを掛けても値が3つ同じにならないのも理解してます
気にしているのは
1行目≠2行目とか1行目≠3行目とかの話ではなくて
2行目≠3行目になっていることです
424デフォルトの名無しさん:2014/08/25(月) 17:38:44.72 ID:5VqAReZX
>>423
挙動から推測すると
2行目はlong型で、100ns単位として扱われている
3行目はulong型で、SysTimeの内部型より大きな数の型で、秒単位として扱われてる
という事みたいね
この辺の仕様がどうなってるのか何所に書かれてるか分からないけど
425デフォルトの名無しさん:2014/08/25(月) 17:44:02.80 ID:clHBdfGA
t * 1000 <- オーバーフロー
cast(ulong)t * 1000 <- セーフ
ここのことじゃろ

気になるならカッコを使えばいい
たぶんそのへんのことは深く考えられてない

Cと違うやんけ! とごねて通じるかどうか…
426デフォルトの名無しさん:2014/08/25(月) 17:46:44.05 ID:clHBdfGA
>気になるならカッコを使えばいい
間違えた

プログラマが明示的に指示すればいい
427デフォルトの名無しさん:2014/08/25(月) 18:08:21.31 ID:OTL7uAT+
>>425
トン
writeln(SysTime(t * 1000L * 1000 * 10).toISOExtString());
これなら3行目と同じになったわ
確かにCと違うぞゴルァってのは筋違いですね
でもちょっと違和感
428デフォルトの名無しさん:2014/08/25(月) 18:12:58.40 ID:5VqAReZX
pragma(msg, typeof(t * 1000 * 1000 * 10L));
pragma(msg, typeof(cast(ulong)t * 1000 * 1000 * 10L));

uintからlongへの整数昇格は暗黙でされる
ulongからlongへの降格は明示しないといけない
429デフォルトの名無しさん:2014/08/25(月) 18:20:45.87 ID:OTL7uAT+
コンパイル時に定数として評価されずに
実行時に計算してるってことかな

>>428
逆のような気がするんです
430デフォルトの名無しさん:2014/08/25(月) 18:24:14.21 ID:5VqAReZX
D言語では uintは符号なし32bit整数で、longは符号あり64bit整数だよ
431デフォルトの名無しさん:2014/08/25(月) 18:41:56.48 ID:OTL7uAT+
pragma(msg, typeof(unixTimeToStdTime(t)));
pragma(msg, typeof(t * 1000 * 1000 * 10L));
pragma(msg, typeof(t * 1000L * 1000 * 10));
pragma(msg, typeof(cast(ulong)t * 1000 * 1000 * 10L));

assert(t * 1000 * 1000 * 10L == t * 1000L * 1000 * 10);

なるほど
すごく勉強になりました
432デフォルトの名無しさん:2014/08/25(月) 18:49:34.47 ID:5VqAReZX
ああ逆ってそういう事か理解しましたすんません
t はコンパイル時に読めないから、実行時にuintのまま計算進めて
t * 1000 * 1000 * 10L ==> 2735144960
t * 1000L * 1000 * 10 ==> 14089600000000000
433デフォルトの名無しさん:2014/08/25(月) 19:04:58.16 ID:OTL7uAT+
assert(1000 * 1000 * 10L == 1000L * 1000 * 10); // success
assert(t * 1000 * 1000 * 10L == t * 1000L * 1000 * 10); // failure
後半はあきらかに定数なのでコンパイル時にlongとして見てくれてれば
どっちでも問題なくなる気がするんだけど
実行時に逐次計算する仕様になってるのは
いろいろ事情があってのことだと思うので
Dはそういうものだと理解しておきます
434デフォルトの名無しさん:2014/08/25(月) 20:12:02.24 ID:G47y4NKn
定数部分を ( ) で括るとlongになるね
435デフォルトの名無しさん:2014/08/25(月) 20:17:59.00 ID:nHtyucvb
*が左結合なので
436デフォルトの名無しさん:2014/08/25(月) 21:42:43.20 ID:KUe7O5sS
gccなんかには演算子の優先順位を無視して最適化するオプションもあるけど
あくまで最適化なので、型を変えるような真似まではしないと思
437デフォルトの名無しさん:2014/08/26(火) 08:05:25.39 ID:tVQB/X64
>>435
uint t = 1408960000;
writeln(SysTime(1000 * 1000 * 10L * t).toISOExtString()); // safe
writeln(SysTime(1000L * 1000 * 10 * t).toISOExtString()); // safe
writeln(SysTime(unixTimeToStdTime(t)).toISOExtString()); // right
writeln(SysTime(t * 1000 * 1000 * 10L).toISOExtString()); // overflow
writeln(SysTime(t * 1000L * 1000 * 10).toISOExtString()); // safe
writeln(SysTime(cast(ulong)t * 1000 * 1000 * 10L).toISOExtString()); // safe

assert(1000 * 1000 * 10L == 1000L * 1000 * 10); // success
assert(1000 * 1000 * 10L * t == t * 1000L * 1000 * 10); // success
assert(t * 1000 * 1000 * 10L == t * 1000L * 1000 * 10); // failure

ほんとうにありがとうございました
438デフォルトの名無しさん:2014/08/26(火) 08:09:36.24 ID:tVQB/X64
writeln(SysTime(1000 * 1000 * 10 * t).toISOExtString()); // overflow

Cでも同じだっけ
439デフォルトの名無しさん:2014/08/26(火) 08:30:28.75 ID:IA9SPzMO
Cって64bitに暗黙キャストとかされたっけ?
コンテキストの左辺が64bitだったら一応最終結果だけ暗黙変換はされるだろうけど
計算途中ではされない気がするんだけど
440デフォルトの名無しさん:2014/08/28(木) 08:30:31.98 ID:lMiYErVu
>>436
ねーよ。-ffloat-store か何かを勘違いしてるだろ。

あと、優先順位は計算順じゃない。カッコで優先させても、
a + b + (c + d) という式で、a + b と c + d の、どちらを先に計算するかは
決まらない。
441デフォルトの名無しさん:2014/08/28(木) 13:16:41.45 ID:4Z1Bz9EC
>>440
-fno-protect-parensの説明読んでみろ
442デフォルトの名無しさん:2014/08/28(木) 15:22:25.50 ID:sNBuoAz/
次は2.066.1か
443デフォルトの名無しさん:2014/08/28(木) 18:42:44.31 ID:OGX+taLQ
.1 リリースは regression修正やで
2.065.1はどこ行った…

次の目玉はパッケージ・モジュール周りの古代バグ退治になるんじゃないかな
444デフォルトの名無しさん:2014/08/29(金) 18:06:37.71 ID:1vSxxaD9
mono-d更新したらxamarinでプロジェクトが読み込めなくなったわ
ふざけんな
445デフォルトの名無しさん:2014/08/29(金) 20:48:09.71 ID:1vSxxaD9
D言語プラグインが無効になってただけだった
ふざけんな
446デフォルトの名無しさん:2014/08/29(金) 22:20:39.71 ID:nTaaN7G+
>>444-445
IDがD9
447デフォルトの名無しさん:2014/08/31(日) 22:21:49.74 ID:DCfsrrwi
公式フォーラムがサツバツとしておる……
448デフォルトの名無しさん:2014/09/01(月) 09:52:48.64 ID:YOdvfabO
闘争こそが言語を進化させるのだ!
449デフォルトの名無しさん:2014/09/01(月) 10:30:13.13 ID:srwG2aQM
Dで書いてるとC++でも良くね?ってシーンに出くわす
450デフォルトの名無しさん:2014/09/01(月) 15:22:18.01 ID:MLXyucsm
じゃあC++でもいいのでは
451デフォルトの名無しさん:2014/09/01(月) 15:36:40.94 ID:M8Jh9ISi
D is retired
452デフォルトの名無しさん:2014/09/01(月) 19:21:20.80 ID:HFXNgtth
 ___ _
  ヽo,´-'─ 、 ♪
   r, "~~~~"ヽ
   i. ,'ノレノレ!レ〉    ☆ 日本のカクブソウは絶対に必須です ☆
 __ '!从.゚ ヮ゚ノル   総務省の『憲法改正国民投票法』のURLです。
 ゝン〈(つY_i(つ http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html
  `,.く,§_,_,ゝ,
   ~i_ンイノ
453デフォルトの名無しさん:2014/09/01(月) 19:27:56.60 ID:LK7dCups
>>452
必要ない。滅ぶなら滅びればいい。
抗う必要もない。0か1かだ。
454デフォルトの名無しさん:2014/09/01(月) 19:32:02.18 ID:pppp+tIw
なんでこういうのに描かれる人物ってサヨクっぽくて気持ち悪いんだろ
http://www.soumu.go.jp/senkyo/kokumin_touhyou/common/images/topMainVsBg.png
455デフォルトの名無しさん:2014/09/01(月) 20:58:32.44 ID:peTXbjy9
政治系の単語で常時検索でもかけてんのか
456デフォルトの名無しさん:2014/09/02(火) 00:20:14.96 ID:GG65+izr
>>449
話戻すけど、以前にdmdのソース読んだ時に感じたな。
D言語の理念が反映されてるC++は結構イケるな、と。
457デフォルトの名無しさん:2014/09/02(火) 01:55:32.11 ID:xDVdxbzs
D言語の理念を反映し似非GCを搭載したC++
458デフォルトの名無しさん:2014/09/02(火) 02:30:35.86 ID:wdU1cIJ3
auto hoge = new Hoge(fuga);
scope(exit) delete hoge;

これって絶対デストラクタ呼ばれる?
459デフォルトの名無しさん:2014/09/02(火) 04:10:30.46 ID:0CNFOIhV
>>458
呼ばれるはず。でもなんか、「終了処理は~thisに書かずに普通の関数に書いて、scope(exit)でそっち呼びましょう。」みたいな記事見たことある気がする。
ま、StorageClassのscope使ってるけどおれは。
460デフォルトの名無しさん:2014/09/02(火) 09:46:40.41 ID:fFmOi5Cz
明示的にdeleteしたりscope変数(あるいはstd.typecons.scoped)にするなら大丈夫でしょ
GCに任せる場合はタイミングを制御できないから普通の関数でやれってことだと思う
複数の参照がある場合、deleteすると大変なことになるし
461デフォルトの名無しさん:2014/09/02(火) 10:01:00.29 ID:vF2dAQit
なるほど今思いついたけど
class Cをprivateにしながら
alias scoped!Cを公開するモジュールを書けば良いのか
462デフォルトの名無しさん:2014/09/02(火) 11:49:01.90 ID:nnutxavO
alias C = scoped!C_;
auto c = C("foo");

構造体っぽく使えて良さそう
463デフォルトの名無しさん:2014/09/02(火) 18:06:10.25 ID:upiVbYOQ
>>455
何か前も似たようなことがあったな
Dの受け入れ先の話で「民主党に売りつけようぜ」ってレスの直後に
政治コピペが貼られてたの
464デフォルトの名無しさん:2014/09/02(火) 19:30:48.14 ID:TwHOx6jb
政治コピペは昔からbotだよ
郵政民営化選挙の時の板関係ないAA爆撃とか酷かった
465デフォルトの名無しさん:2014/09/02(火) 22:56:30.26 ID:QCzqP52n
>>462
C++やってた人にとって直感的で良さそうですね
466デフォルトの名無しさん:2014/09/05(金) 19:54:41.04 ID:izexdV+G
Microsoftがscopeとimmutableの特許を申請するらしい
http://forum.dlang.org/thread/[email protected]

なんのこっちゃ
467デフォルトの名無しさん:2014/09/05(金) 23:17:34.18 ID:Mt1E1+r6
dubってdmd専用なんですかね
というかdmdとgdcどっちを使うべきなんだろう
468デフォルトの名無しさん:2014/09/06(土) 00:14:33.53 ID:z/gbJJfC
win なら dmd
*nix なら ldc

あれ、ldcってデバッガ使えたっけ?
469デフォルトの名無しさん:2014/09/06(土) 01:19:55.00 ID:BlcRo+M8
win以外でD使う理由薄いな
winはネイティブはC++しか実質ないようなもんなんだぜ
470デフォルトの名無しさん:2014/09/06(土) 01:51:23.04 ID:/ZCubNo7
>>466 immutableってDが最初だったのな。
471デフォルトの名無しさん:2014/09/06(土) 10:30:10.07 ID:906xG/Ud
>>467
DMD,LDC,GDCの全てに対応してるよ

> というかdmdとgdcどっちを使うべきなんだろう
DMDは最新の機能が使えるけど、最適化が悲惨
LDC,GDCは少しバージョンが古いけど並の最適化をしてくれる
472デフォルトの名無しさん:2014/09/06(土) 10:36:30.32 ID:YfIyv8jp
ldc,gdcはgccbuiltinが使える
473デフォルトの名無しさん:2014/09/06(土) 11:28:13.71 ID:tjxWMme1
D言語でjavascriptみたいなdomでhtmlを読み込むのどーやるの?
474デフォルトの名無しさん:2014/09/06(土) 12:05:55.28 ID:906xG/Ud
DOMのD言語実装
https://github.com/adamdruppe/arsd/blob/master/dom.d
JavaScriptで出来ることは多分できるよ、と書いてある

Google製HTML5パーサのバインディング、DOMと同じことは出来そう
https://github.com/bakkdoor/gumbo-d
475デフォルトの名無しさん:2014/09/06(土) 12:33:58.50 ID:ChfT6Oe0
DのコンパイラでLLVMの中間言語ゲロってくれるのはないの?
476デフォルトの名無しさん:2014/09/06(土) 12:57:54.77 ID:906xG/Ud
>>475
LDCに-output-ll/-output-bcというオプションがあって、
それぞれLLVM IRとLLVM bitcodeを書き出せる
参考: http://d.hatena.ne.jp/ABA/20130331#p1
477デフォルトの名無しさん:2014/09/06(土) 13:00:39.91 ID:qpbrw9LU
>>474
ありがとにゃん
478デフォルトの名無しさん:2014/09/06(土) 13:59:13.32 ID:ChfT6Oe0
>>476
ありがとにゃんにゃんわん
479デフォルトの名無しさん:2014/09/06(土) 14:09:03.44 ID:hSKZSSLP
かわいい
480デフォルトの名無しさん:2014/09/06(土) 16:06:06.84 ID:YILH6ewV
こんなおっさん達のレスでもかわいいのに
Dのマスコットときたら・・・おっと誰か来たようだ
481デフォルトの名無しさん:2014/09/06(土) 17:34:19.07 ID:kmr8PlZK
なんでや!マスコットかわいいやろ!

あれ?アイツの名前なんだっけ?
482デフォルトの名無しさん:2014/09/06(土) 17:44:56.51 ID:ChfT6Oe0
plan9
483デフォルトの名無しさん:2014/09/06(土) 19:29:00.18 ID:Lyi5zyqG
484デフォルトの名無しさん:2014/09/06(土) 19:49:05.19 ID:Ofev9yt5
グロ中尉
485デフォルトの名無しさん:2014/09/07(日) 11:06:45.52 ID:59jm1BMd
一番下BETA思い出した
486デフォルトの名無しさん:2014/09/07(日) 12:30:54.06 ID:Y9qmG4f1
Dの悪口言うとD言語erの集団が例のポーズで迫ってくるぞとかいうつぶやきを見たことあるけど
ポーズ要素がある分D-manの圧勝だな
487デフォルトの名無しさん:2014/09/07(日) 13:58:34.89 ID:pyaMkZTe
D言語のマスコットがD-manならC言語のマスコットは・・・
488デフォルトの名無しさん:2014/09/07(日) 15:03:35.24 ID:4zUKxjuz
489デフォルトの名無しさん:2014/09/07(日) 15:48:35.89 ID:qGzfz7wC
グロ中尉
490デフォルトの名無しさん:2014/09/07(日) 15:49:37.90 ID:vNjKfHwN
WikibooksにあるD言語の記事が本当に酷いな
http://ja.wikibooks.org/wiki/D%E8%A8%80%E8%AA%9E
491デフォルトの名無しさん:2014/09/07(日) 18:13:57.86 ID:wfr3bgBU
じゃあ改訂すればいいじゃん
492デフォルトの名無しさん:2014/09/07(日) 22:05:38.98 ID:GpUJTJFm
>>490
直してくれるんだったら、向こうの人たちも大喜びだよ。
あそこはWikipediaに比べたら過疎ってるからね。
493デフォルトの名無しさん:2014/09/07(日) 23:01:59.15 ID:vNjKfHwN
>>491>>492
全体的に駄目な感じだから、相当書き直す必要があるんだよな
それに出来の良さそうなD言語の解説はネット上にいくつもあるから、モチベーションがなぁ
暇な人がやってくれんかね
494デフォルトの名無しさん:2014/09/07(日) 23:22:09.26 ID:wfr3bgBU
にわかDerの俺としてはぜひ頑張ってもらいたい
いろいろ解説してくれてるところあるけど古かったりまだ未完だったりなんだよなあ
495デフォルトの名無しさん:2014/09/07(日) 23:22:18.51 ID:GpUJTJFm
>>493
書き直すと言わずに、別に1から作り直してもいいんだし、
Wikibooksの英語版から翻訳して書き直すという方法もあるよ。
ただし、Wikipedia系統のサイトなので著作権と履歴関係は要注意ではある。
496デフォルトの名無しさん:2014/09/07(日) 23:22:30.57 ID:V4yJXxP4
執筆者なりのユーモアなのか皮肉みたいなのがきかせてあるけどこういうのって入れなきゃダメなの?
497デフォルトの名無しさん:2014/09/07(日) 23:29:13.98 ID:GpUJTJFm
>>496
入れる必要はないと思う。
実用的でわかりやすい方がより多くの人に好まれるはず。
498デフォルトの名無しさん:2014/09/10(水) 18:06:52.11 ID:SIxieRJp
日本語のDの解説って何故か「変数とは」「関数とは」とかから始まるのが多いね
ライブラリの使い方の解説がもっと欲しい
499デフォルトの名無しさん:2014/09/10(水) 18:32:25.93 ID:dgDp4zwn
いつからライブラリがあると錯覚してた?
500デフォルトの名無しさん:2014/09/10(水) 18:55:30.10 ID:SIxieRJp
海外のを探してみても、D言語自体に関する解説ばかりなんだなー
Phobosの解説ってけっこう有用だと思うんだが、需要がないのか
501デフォルトの名無しさん:2014/09/10(水) 19:16:28.81 ID:9iStFdpr
Phobosのソースのunittestも見てあげてね
502デフォルトの名無しさん:2014/09/10(水) 20:23:21.58 ID:rw0uyKlz
逆引きwiki を編集する権利をやろう
503デフォルトの名無しさん:2014/09/10(水) 20:36:40.77 ID:s/Q5992e
英語版はまだ完全ではないけど、日本語版よりは相当充実してるよな。
ttp://en.wikibooks.org/wiki/D_Programming
504デフォルトの名無しさん:2014/09/10(水) 20:37:29.58 ID:D+hJ4kZ1
自分もPhobosの使い方知りたいときはunittest見てるなあ
505デフォルトの名無しさん:2014/09/10(水) 21:10:03.23 ID:iw/RFfKA
プログラマの共通言語はプログラミング言語
506デフォルトの名無しさん:2014/09/11(木) 00:01:48.08 ID:C8Sp0ta0
文字列でswitchするコード、実行時にバイナリサーチ掛けられてるのか……
ハッシュかなんかで比較してるのかと思ってた
507デフォルトの名無しさん:2014/09/12(金) 20:09:48.92 ID:DoZOHl3s
むかしD言語はシステム管理ツールを作るのによいって触れ込みだったけど
何を作れば便利になるのか思いつかないまま早数年
508デフォルトの名無しさん:2014/09/12(金) 20:12:32.44 ID:ylwL1QX/
メモリリークの心配が少ないから
デーモンとか安心して作れるという幻想
509デフォルトの名無しさん:2014/09/12(金) 21:06:06.64 ID:paA5WjTo
D言語製のデーモンはいくつか稼働させてるなぁ
510デフォルトの名無しさん:2014/09/13(土) 00:11:08.03 ID:0tevjcZk
>>500
需要はあるはずだけど、書ける余力がある人が少ないんだと思うよ。
511デフォルトの名無しさん:2014/09/13(土) 07:09:22.85 ID:av6vptcA
>>502
ワロタw
512デフォルトの名無しさん:2014/09/14(日) 07:59:21.18 ID:CdH/njOy
言語仕様をどんどん変えていく××××や××はみんな実用的だと思ってるのに
それらより控え目な(今のところ)仕様変更しかしてないDが(2014年現在)、仕様が不安定で非実用的だ〜とか言われる
513デフォルトの名無しさん:2014/09/14(日) 08:04:30.84 ID:GzjRn3L/
>>512
XXXXのほうは、基本機構作るのに10年単位かかってるんだからベースは安定している。
XXのほうはXXXXXXがベースだから基本は安定している。
514デフォルトの名無しさん:2014/09/14(日) 08:17:41.16 ID:CdH/njOy
たぶん別の言語をイメージしてるな……
515デフォルトの名無しさん:2014/09/14(日) 08:28:01.46 ID:GzjRn3L/
あら、C++には1字足りなかった。Orz
C#のほうは確かデルファイがベース。
うーむ、会話とはこうも難しいものか。。。
516デフォルトの名無しさん:2014/09/14(日) 08:33:22.74 ID:htwZqFvC
伏せ字にしなけりゃ難しくならなかったはずだろw
517デフォルトの名無しさん:2014/09/14(日) 09:19:34.86 ID:PAZT5dFk
ruby と js
518デフォルトの名無しさん:2014/09/14(日) 09:27:24.42 ID:GzjRn3L/
あうち。Orz
519デフォルトの名無しさん:2014/09/14(日) 10:25:19.22 ID:9K7moARu
ユーザ数の違いじゃね
ユーザの多い言語が破壊的変更をしたところで非実用的とは言われない
520デフォルトの名無しさん:2014/09/14(日) 10:56:25.39 ID:AoDgvUnm
マイナーバージョンでちまちま断続的に破壊的変更入れてるから外から見ると永遠のβ版に見える
521デフォルトの名無しさん:2014/09/14(日) 10:57:06.33 ID:NZ+I8Nx6
RAD言語とシステムプログラミングゲンゴの違いだよ
522デフォルトの名無しさん:2014/09/14(日) 11:25:44.78 ID:CdH/njOy
マイナーバージョンというか、単にD2の66個目の(バグ修正限定ではない)リリースってだけだからな

まあ、リリースの仕方が悪いのはあるよね
開発リポジトリのある時点での単なるスナップショットに、リリース直前までのバグ修正を乗せただけという……
523デフォルトの名無しさん:2014/09/14(日) 17:38:15.71 ID:ssoiYDth
jsってDほど破壊的変更あるか?
そんなことしたらbreak the webって怒られると思うが
524デフォルトの名無しさん:2014/09/14(日) 18:14:32.43 ID:NZ+I8Nx6
言語が変わっても実装系が悪さしなければ問題ない
それに もともと HTMLはユルさが売り
525デフォルトの名無しさん:2014/09/15(月) 10:43:01.32 ID:+LNBiOAy
>言語が変わっても実装系が悪さしなければ問題ない
JavaScriptで実際に問題になってるのは、むしろ実装の変更なんだけどね
526デフォルトの名無しさん:2014/09/15(月) 12:08:55.38 ID:j8xvklWY
ブラウザの話なら
サイト側は変わらない一方
インストールされたブラウザがどんどん勝手にアップグレードされるという致命的な問題はあるな
527デフォルトの名無しさん:2014/09/15(月) 12:22:20.10 ID:WIy8nvhC
勝手にアップロードされるOSもあるけどな
528デフォルトの名無しさん:2014/09/15(月) 13:28:10.04 ID:j8xvklWY
そりゃウイルスが悪さしてるんだべ
529デフォルトの名無しさん:2014/09/15(月) 13:54:42.09 ID:GI5SOlSu
OS アップロードしてどうするω
530デフォルトの名無しさん:2014/09/15(月) 14:26:05.13 ID:e6JZuI3e
GPLだから余裕
531デフォルトの名無しさん:2014/09/15(月) 15:25:22.26 ID:+LNBiOAy
D言語erの知能が伺えるスレ
532デフォルトの名無しさん:2014/09/15(月) 17:17:58.28 ID:7d6Cbrn9
割れか?
533デフォルトの名無しさん:2014/09/20(土) 11:30:10.05 ID:+v1yvYXP
日本でのD言語の盛り上がりは過ぎたけど、海外では着々と広まってる感じ
534デフォルトの名無しさん:2014/09/21(日) 01:54:22.16 ID:Cu6gHbxJ
535デフォルトの名無しさん:2014/09/21(日) 10:02:03.49 ID:7iBeCb4O
COBOLやFORTRANより上かよすげぇな
536デフォルトの名無しさん:2014/09/21(日) 10:22:27.11 ID:Rse853Cr
COBOLやFORTRANの人らはネットに出て来ないからな
537デフォルトの名無しさん:2014/09/21(日) 11:11:59.83 ID:aP8Aq0OA
20位のラインが少し上がったような…なんか集計方法が変わったのか
538デフォルトの名無しさん:2014/09/24(水) 23:51:13.49 ID:yadyJ4T4
D公式の命名規約に

http://www.kmonos.net/alang/d/dstyle.html
-----------------------------------
列挙型のメンバ名
lowerCamelCase で。
-----------------------------------

ってあるんだけど、みんなどうやってる?
539デフォルトの名無しさん:2014/09/25(木) 01:44:04.37 ID:aCIY3SmK
その規則はダメダメ

小文字1単語だとキーワードとぶつかることが多いから大文字を使う
with(Enum) 使うときも不便だし

少し前に phobos に提出された lexer モジュールが全部小文字に書き直しを命じられてるのを見て
かなりムカついた
トークン名がキーワードと丸かぶりになってて全滅、頭悪すぎ
540デフォルトの名無しさん:2014/09/25(木) 06:46:28.29 ID:3dX2Vxz6
キーワードとぶつかったらアンダーバーを後に付けろ、ってルールを使わせる為の規則だな
かといって、メンバ名が大文字スタートなのも気持ち悪いから自分はその規則通りにやってるけど
541デフォルトの名無しさん:2014/09/25(木) 06:49:51.37 ID:7DgNS8tq
Javaみたいで恰好悪いしね
542デフォルトの名無しさん:2014/09/25(木) 11:35:44.22 ID:h0SjTL+U
>トークン名がキーワードと丸かぶりになってて全滅、頭悪すぎ

>キーワードとぶつかったらアンダーバーを後に付けろ、ってルールを使わせる為の規則だな
をあわせて考えると
メンバ名ごとにアンダーバーがあったりなかったりで無意味に不揃いになるか
被る可能性のある識別子群すべてを事前察知してアンダーバーつけておくことになるか
って感じになりそうだけどどうなんだろう
543デフォルトの名無しさん:2014/09/25(木) 12:31:23.52 ID:3dX2Vxz6
Phobosだとこうなってるね

enum FunctionAttribute : uint
{
  none = 0,
  pure_ = 1 << 0,
  nothrow_ = 1 << 1,
  ref_ = 1 << 2,
  property = 1 << 3,
  trusted = 1 << 4,
  safe = 1 << 5,
  nogc = 1 << 6,
  system = 1 << 7,
  const_ = 1 << 8,
  immutable_ = 1 << 9,
  inout_ = 1 << 10,
  shared_ = 1 << 11,
}
544デフォルトの名無しさん:2014/09/25(木) 14:52:48.21 ID:1LOUCFqW
仕様変更で safe とか trusted とか property とか予約語にされそう
545デフォルトの名無しさん:2014/09/25(木) 15:01:33.19 ID:aCIY3SmK
その前に一度属性システムの見直しが入るはず
546デフォルトの名無しさん:2014/09/25(木) 16:53:52.85 ID:QGOHZuSE
適当なサフィックス付けるのはダメなん?
547デフォルトの名無しさん:2014/09/25(木) 17:59:19.04 ID:4g8Z5yl6
コンパイラがサフィックスに対するチェックしてくれるならそれでも良いけど
気持ち悪がられそう
548デフォルトの名無しさん:2014/09/25(木) 19:22:52.16 ID:DXgC6Get
慣れてさえしまえば小文字中心でタイプも効率的になるから多産向けなスタイルだな
enum値はenum型のインスタンスと捉えれば小文字もそう不自然ではない
549デフォルトの名無しさん:2014/09/25(木) 21:28:49.33 ID:3dX2Vxz6
識別子に大文字を使う言語は生産性が低い……?
550デフォルトの名無しさん:2014/09/27(土) 00:34:54.89 ID:ZCazcpui
 D言語の欠点は、やはりWindowsではUTF-8では使い勝手が悪いことだな。
 D言語専用のWindowsコマンドプロンプトを作ってフリーで公開してくれたらこの欠点も克服できるな。

 俺が言うD言語専用のWindowsコマンドプロンプトとは、プログラムの実行中は文字コードUTF-8で標準出力を
して、終了してコマンドの入力行は、UTF-16リトルエンディアンで標準出力をするコマンドプロンプトだ。
つまり、プログラムの実行結果の表示も、コマンドの入力行のカレントディレクトリの表示も、日本語
文字を化けさせずに正常に表示する特殊なコマンドプロンプトのことだ。
551デフォルトの名無しさん:2014/09/27(土) 01:31:19.99 ID:sK+a5gWD
コンソールのストリームには、現在のコンソールの文字コードに合わせたTextIOラッパーを被せて欲しいなあ。標準で。
Python3だと、ラッパー差し替えたり、ラッパーを迂回してバイナリデータを流し込む事もできて便利なんだけど

Hello,World の表示は簡単だけど、「こんにちは世界」の表示でつまずくのなんとかしないと…
552デフォルトの名無しさん:2014/09/27(土) 03:34:02.52 ID:M7lcZRBS
>>550
実際やってみるとUnicodeとシステムエンコードが混ざって出てきて
まずそこから直す羽目になる
nkfか何かを間にかませて 一行毎に処理させるべき
553デフォルトの名無しさん:2014/09/27(土) 03:40:38.90 ID:wWEtbr/Q
windowsの文字コードであれなのってd言語の欠点じゃなくね
554デフォルトの名無しさん:2014/09/27(土) 07:09:32.63 ID:Oa3mEnMz
Windowsってコンソールの文字コードを切り替える手段すら無いのか…よく使ってられるな
555デフォルトの名無しさん:2014/09/27(土) 07:13:35.48 ID:Oa3mEnMz
いや、確か手段はあったよな?
システムの文字コードが固定されてるのが原因か
556デフォルトの名無しさん:2014/09/27(土) 07:24:11.05 ID:V9AoMXji
981 デフォルトの名無しさん [sage] 2014/04/15(火) 13:13:11.98 ID:q9fQ+t/g Be:
ネットにはデマ情報がいっぱい残ってるので
正しい情報をメモ

cmd.exe
UTF-8
chcp 65001

cmd.exe のショートカット リンク先 %SystemRoot%\system32\cmd.exe /c start "UTF-8" cmd
このショートカットを起動してプロパティからフォントの設定(※ボールドフォントにチェックを入れる)
レジストリ \\HKEY_CURRENT_USER\Console\UTF-8 に
FaceName REG_SZ 適当
FontWeight REG_DWORD 0x0190
FontSize REG_DWORD 0x00120000
CodePage REG_DWORD 65001

http://nazochu.blogspot.jp/2011/08/blog-post_26.html
557デフォルトの名無しさん:2014/09/27(土) 10:32:51.43 ID:Tol0KhbM
それでも時々文字化けしたり
コンソール上にゴミが残ったり
UTF-8 で入力ができなかったり
cmd.exe はバグだらけ
置き換えられるのないかな
mintty あたりが有望?
558デフォルトの名無しさん:2014/09/27(土) 11:50:42.23 ID:Tol0KhbM
559デフォルトの名無しさん:2014/09/27(土) 12:29:05.57 ID:8k8nqzS9
Windowsに限らず、POSIXでもLANGがUTF-8以外の人にも使い勝手は悪いぞ……
ただ、D言語がサボってる間にOSのほうがほぼUTF-8で統一されちゃったというだけで

言語仕様が内部文字列がUTF-8と決めている以上は
あらゆる入出力(ターミナル、ファイル名、ファイルの中身、環境変数、コマンドライン引数、etc)の際にUTF-8ではない環境に対応するのは
標準ライブラリたるPhobosでやるべきで、それをサボってるわけだから言語の欠陥だよ
「今は」UTF-8ではない環境がWindowsぐらいしか残ってないなんてのは言い訳にならん、D言語が登場した時期はそうでもなかったし

上にもあるけどPythonやJavaなんかはちゃんとやってくれてる
OCamlなんかもサボってる系(文字列Latin-1なのに何も変換してない)
560デフォルトの名無しさん:2014/09/27(土) 12:33:05.80 ID:Tol0KhbM
余計な変換するくらいなら
なにもしないってのが一番良い
という意見もある
561デフォルトの名無しさん:2014/09/27(土) 12:35:24.41 ID:8k8nqzS9
>>560
それはCSIな連中の言うことで、C/C++やRubyの言うことだ
文字列を具体的にコレと決めている言語の言うことではない
562デフォルトの名無しさん:2014/09/27(土) 14:40:16.86 ID:EvThW3ZM
D言語の登場した時期の状況がどう関係してるのかは自分にはちょっと分からないけど、確かに現状はよろしくないな
フォーラムでは話題にならないし困ってる人自体は少ないみたいだが

SJISだけならともかくロケール読んで適切な変換を、とか考えだすとPhobosとランタイムにそれなりに手を加えなくちゃいけない
563デフォルトの名無しさん:2014/09/27(土) 14:55:33.06 ID:EvThW3ZM
>あらゆる入出力
Windowsはよく知らんが、cmd.exeでの入出力がSJISってだけで、ファイル名とか環境変数はUnicodeで扱ってなかったっけ?
あと、ファイルの中身のエンコーディングは環境によって決まる訳じゃないのでどうしようもない気がする
564デフォルトの名無しさん:2014/09/27(土) 15:29:52.10 ID:8k8nqzS9
>>562
D言語が登場した2000年前後は、LinuxでもまだEUC-JPな環境も多かったからね、向こうだとLatin-1や9も使われてただろう
LANG=UTF_8前提というのはちょっと横暴だった、時代が追いついたからいいけど

>>563
PhobosもWなAPIを呼んでくれてる部分はちゃんと動くよ、そうじゃない部分も残ってるし
このちゃんと変換してくれてる部分と無変換な部分が「混じってる」状態が一番タチ悪いとも言えるけど
ファイルの中身は、Fileのコンストラクタにオプションを追加して、デフォルトは環境による(WindowsではSJIS)がUTF-8強制もできる、ぐらいでいいと思う
(それこそPythonやJavaは任意の文字コードを変換できるけど)
バイナリはrawRead/rawWrite使えば無変換、ということでいいし
あとstdin/stdoutは中でisattyしてコンソールの時はRead/WriteConsoleOutputWを使うぐらいはしないと
565デフォルトの名無しさん:2014/09/27(土) 18:15:49.97 ID:EvThW3ZM
File構造体を弄るのは無理だろうなぁ
seekとかとの整合性が壊れるんじゃないか
566デフォルトの名無しさん:2014/09/27(土) 18:18:04.08 ID:jZ4qurMV
CのFILEじゃあるまいしそれくらいできるんじゃないの?
567デフォルトの名無しさん:2014/09/27(土) 18:24:00.11 ID:M7lcZRBS
変換が必要なのはファイルじゃなくてストリーム
そうでなければバイナリのまま好きにするがよいよいよい
568デフォルトの名無しさん:2014/09/27(土) 18:39:40.11 ID:8k8nqzS9
>>565
ところが、VisualC++のwfopenにはUTF-8やUTF-16のファイルを開くオプションがある
dmdが使ってるDigitalMars C++のランタイムは知らん
569デフォルトの名無しさん:2014/09/27(土) 22:16:55.29 ID:Vi4BODU7
classで定義されたクラスはscopedでスタック上に生成できるけど
structで宣言された構造体ってヒープ上に生成できないんですか?
できればrawポインタは使いたくなくて、言語仕様やAPIでラップして欲しいのですが
570デフォルトの名無しさん:2014/09/27(土) 23:41:39.97 ID:sK+a5gWD
言ってる意味がよく分からないけど
new じゃダメなの?
571デフォルトの名無しさん:2014/09/28(日) 14:28:51.39 ID:5GX8p964
D言語を「C言語の後継」って紹介してる人が居たけどなんだったんだろう
572デフォルトの名無しさん:2014/09/28(日) 15:13:22.50 ID:ykQ3133u
静的メタプロからしてC++だよな、参照とガベコレはC#かJavaか。
しかし多重継承は残して欲しかった。テンプレートmixinだと、
元から多重継承意識して実装クラス記述するか、あと付けなら移譲用の
mixin書かないといけないよね
573デフォルトの名無しさん:2014/10/04(土) 16:02:04.29 ID:CFrGjov4
std.typecons.Typedef、標準型の場合はtoHash()くらい積むようにしてほしい
自分で書けばいいんだけど釈然としない
574デフォルトの名無しさん:2014/10/04(土) 16:17:47.16 ID:CFrGjov4
うげげ、Typedefってswitchにも使えないのか
なんじゃこりゃ、使い物にならんやんけ
575デフォルトの名無しさん:2014/10/04(土) 19:47:43.73 ID:UDl9+1nO
>>574 Typedefってか構造体がもうswitchに使えないからなあ。if ... else if で。
上の方で知ったけど、バイナリサーチらしいから使えてもいいようなもんだけどね。

>>573 こんなでいかがか?(v2.067.0-b1)
http://dpaste.dzfl.pl/2b9d753254b9
576デフォルトの名無しさん:2014/10/04(土) 20:50:30.13 ID:CFrGjov4
>>575
おお、まさに今対応中のところだったんですねThx
switchは整数型と文字列だけと言わずopCmp()とopEquals()があれば使えてもよさそうなもんですね
D言語のことだからそのうちしれっと対応するんだろうけど
577575:2014/10/04(土) 21:36:48.22 ID:UDl9+1nO
>>576 あ、俺中の人じゃないんです。簡単に書けそうだったから書いただけ。期待させてすまぬ。
まあでも、そのうちしれっと実装されるでしょう。D言語だし。
578デフォルトの名無しさん:2014/10/04(土) 22:27:56.85 ID:l4iQ8Ohc
Githubで開発してるから誰でもパッチ送れるよ
只でさえコミュニティが小さいんだし、折角作ったパッチを入れないのは勿体ない
579デフォルトの名無しさん:2014/10/08(水) 20:30:04.51 ID:zpZXZ63i
> ウチのプログラマーがD言語のバグが致命的(メモリ管理できないというか命令文がない)ということで

ネタとして適当なことを触れ回るのは辞めてほしい
580デフォルトの名無しさん:2014/10/08(水) 22:09:58.22 ID:vDUa8S4h
「命令文」とかいう意味不明な語を使ってる時点でお察しではあるのだが...
581デフォルトの名無しさん:2014/10/09(木) 00:05:32.45 ID:K1ATwXjC
> D言語、たぶん、作者がコーディングに夢中でドキュメントが追いついていないと思う、、、あと開発期間が長過ぎて、ドキュメントを書いても、
> すぐバージョンアップで意味が無くなるので、余計にドキュメントが書けないループに陥っているんじゃないかな、、、。
582デフォルトの名無しさん:2014/10/09(木) 00:07:30.08 ID:K1ATwXjC
イメージだけで語るのが流行ってるのかな。
583デフォルトの名無しさん:2014/10/09(木) 00:28:41.48 ID:gtZnoAyG
それは人の業だ
584デフォルトの名無しさん:2014/10/09(木) 00:42:18.31 ID:HGVPQk47
面白いからもっと言及して欲しい
585デフォルトの名無しさん:2014/10/09(木) 01:37:54.61 ID:c9e3wyOv
言語を使わない人間が言語のネガティヴキャンペーンをして言語を使う人が減る謎現象を台風現象と名付けよう
586デフォルトの名無しさん:2014/10/09(木) 13:13:38.99 ID:IFg54I5e
日本語ドキュメントを公式だと思い込んでるんじゃね
587デフォルトの名無しさん:2014/10/11(土) 09:54:06.09 ID:rih/YngH
アホが何か凄いことをやっているように見せかける為にD言語に言及したり使ったりしてるのが気に入らないので、
D言語が簡潔簡単安全な言語であるという事実を早く広めたい
588デフォルトの名無しさん:2014/10/11(土) 11:59:29.58 ID:WAdfmHXI
1)縦横のそれぞれの列に1〜6の数字が1つずつ入ります(ここは数独と同じ)
2)マス目にあらかじめ入っている(数字)は太線で囲まれたブロックに入る数字の合計を表しています
3)太線で囲まれたブロックの中には同じ数字が入ることもあります

┏━━┳━━┳━━┳━━┯━━┳━━┓
┃(3) ┃(4) ┃(13)┃(5) │  ┃(8) ┃
┠──┣━━┫──┣━━┳━━┫──┨
┃  ┃(7) ┃  ┃(1) ┃(7) ┃  ┃
┣━━┫──┃──┣━━┫──┣━━┫
┃(11)┃  ┃  ┃(7) ┃  ┃(6) ┃
┠──┣━━┻━━┫──┣━━┻━━┫
┃  ┃(6) │  ┃  ┃(6) │  ┃
┣━━┻━━┳━━┻━━╋━━┳━━┫
┃(9) │  ┃(6) │  ┃(4) ┃(3) ┃
┣━━┳━━┻━━┳━━┻━━┫──┨
┃(4) ┃(5) │  ┃(11)│  ┃  ┃
┗━━┻━━┷━━┻━━┷━━┻━━┛

これを解くプログラムをD言語でおながいします
(たぶんずれるので等幅フォントのエディタにコピペで見てください)

ちなみにhaskelのひとは一週間で解いてくれました
589デフォルトの名無しさん:2014/10/11(土) 23:41:54.11 ID:7Ok0lmZw
( ´_ゝ`) フーン
590デフォルトの名無しさん:2014/10/11(土) 23:49:34.65 ID:ejT+Qu5k
プログラミング言語関係なくね?
591デフォルトの名無しさん:2014/10/12(日) 00:03:24.83 ID:fD2p7D4P
haskelとか書いてるとhaskellのひとに怒られるよ
592デフォルトの名無しさん:2014/10/12(日) 00:10:20.98 ID:3sa6b9+l
その図じゃ太線で囲まれたブロックの中に同じ数字が入るのはあり得なくね
593デフォルトの名無しさん:2014/10/12(日) 01:06:15.70 ID:zLR3N/FQ
import std.stdio;
void main(){
writeln("146235");
writeln("254163");
writeln("523416");
writeln("615324");
writeln("361542");
writeln("432651");
}
594デフォルトの名無しさん:2014/10/12(日) 10:46:48.05 ID:LjQH95WZ
Visual D 0.3.39
目玉は mago debugger x64対応くらいか
595デフォルトの名無しさん:2014/10/15(水) 14:44:43.53 ID:vP30Xlx4
596デフォルトの名無しさん:2014/10/15(水) 16:57:59.33 ID:5vlaZL8F
依存症って結局パチンコでもネットでも過食でもなんでも当てはまるな
597デフォルトの名無しさん:2014/10/15(水) 18:10:02.75 ID:cRCK7wFX
前にその画像見た時にも思ったけど、それじゃD言語の特徴ってCTFEだけみたいな…
598デフォルトの名無しさん:2014/10/15(水) 18:13:31.19 ID:5vlaZL8F
「D言語のことしか考えられなくなります」の絵がキモい
599デフォルトの名無しさん:2014/10/15(水) 18:59:37.72 ID:fpvoAGYt
基本的に他の言語の良いところを集めまくった「ぼくのかんがえたさいきょうのげんご」なので
特徴って言われるとなかなか思いつかない
破壊的変更が入りまくるってのが特徴か?
依存症になると「他の言語はコンパイラが安定しすぎて俺が不安になる!」みたいな
600デフォルトの名無しさん:2014/10/15(水) 19:05:22.20 ID:oTkKZ4Eq
コンパイラのせいに出来るのはD言語だけ(キリっ)
601デフォルトの名無しさん:2014/10/15(水) 19:34:36.47 ID:++xXjZNS
D言語は時代の波に飲み込まれた
さすがにオワコン
602デフォルトの名無しさん:2014/10/15(水) 20:08:23.66 ID:1iAuuRfC
      ,' /
     i .l
.    | 、
    、.\ ヽ
      、 \ . ヽ ._
         丶.   ‐  _
           ` ‐ _  (´・ω,(´・ω・)
                  (ー(,, O┬O
                   ())'J_))
    「俺たち終わっちゃったのかなぁ」

    「まだはじまっちゃいねぇよ」
603デフォルトの名無しさん:2014/10/15(水) 21:42:34.51 ID:Mz70dzpQ
プログラミング言語をコンテンツ呼ばわりする人って・・・
604デフォルトの名無しさん:2014/10/15(水) 21:54:25.41 ID:wWp+HCIj
数年前はコンパイラとの闘いが熱かったのに最近は安定しすぎてる
605デフォルトの名無しさん:2014/10/16(木) 00:33:21.82 ID:6zTGqYum
冷戦
606デフォルトの名無しさん:2014/10/16(木) 00:59:01.57 ID:ZnXgZtJ+
未だにマルチコアにも対応しないマルチスレッドしかないOCamlやってた俺からすりゃ
破壊的だろうがガンガン更新された方がマシ
607デフォルトの名無しさん:2014/10/16(木) 01:15:47.21 ID:dWY0Nqyy
OCamlは少し保守的すぎる
事情があるんだろうけど
608デフォルトの名無しさん:2014/10/16(木) 01:31:04.38 ID:SfFshP65
>>603
コンパイラかも知れんぞ!…まあ、それならD言語でなくdmdとかか
609デフォルトの名無しさん:2014/10/16(木) 16:00:46.45 ID:CsOFEKWu
OSのカーネルや言語処理系は最もコード密度が高い分野。一度もソース読んだ事の無い人にとっては
理解不能な世界。組み込み用のmrubyやJavaScriptですら公開されてるソース読んですぐ理解出来る代物ではない。
だれがどのように保守するかは大きな問題。カーネルや開発者の高齢化問題も発生する。
経済が破綻すればオープンソースは資金調達や人員の確保問題で保守がどうなるか不明なところがある。
そうなると伝統的プロプライエタリなOSや言語が長期的には有利かもしれない。
610デフォルトの名無しさん:2014/10/16(木) 22:52:08.35 ID:Jdhw7SI+
オープンソースって言葉の意味が分かってないなら無理して使うなよ
611デフォルトの名無しさん:2014/10/19(日) 22:40:54.94 ID:u460ocyA
何年か前に書いたソースを修正しようと思ったら、std.dateが読み込めないってエラーが出ました。
std.datetimeで書き直すほどの修正でもないのですが、コンパイラのバージョンを古いのに戻すぐらいしか方法はないのでしょうか?
612デフォルトの名無しさん:2014/10/19(日) 23:31:40.68 ID:gM05QmtL
std.date→std.datetimeの移行がさくっと出来ないってそれ自分で書いたソースじゃないでしょ
どっちでも良いけど消えた標準ライブラリを最新Verでどうやって使う気なのか
613デフォルトの名無しさん:2014/10/19(日) 23:50:48.95 ID:hOm3Ocpv
一体どんな返答期待して質問したんだろうか
614デフォルトの名無しさん:2014/10/20(月) 00:07:00.21 ID:8ZypDjIK
同じディレクトリにdate.py
615デフォルトの名無しさん:2014/10/20(月) 07:18:05.92 ID:k2vJCwgZ
>>612
4,5年前に書いたソースで全然覚えてないのです。
あと、std.datetimeをあまり把握しきれてないのも書き直すのを避けたくなく理由です。

>>613
まぁ書き直すか古いverに戻す以外にないですよね。

>>614
.py?python?
616デフォルトの名無しさん:2014/10/20(月) 09:09:27.04 ID:eWr20XAi
wrapperとか作れないのかな
617デフォルトの名無しさん:2014/10/20(月) 11:00:00.96 ID:xB8gyS9P
4,5年前のコードがstd.datetimeの修正だけで済むとは考えづらいけど
最新のD言語か別の言語で書き直したら
618デフォルトの名無しさん:2014/10/20(月) 11:28:43.71 ID:6s4aOBmV
コンパイラとライブラリ一式をソースとセットで確保していつでも使えるようにしておく
それしかない
619デフォルトの名無しさん:2014/10/20(月) 12:16:01.96 ID:X9WQfm+1
ソースにコンパイラのバージョン書いておくのが習慣になった
620デフォルトの名無しさん:2014/10/20(月) 16:53:02.68 ID:K2BfCVgx
そもそも4、5年前のソースを最新のdmdで通そうと考えるのが何か間違ってるような
621デフォルトの名無しさん:2014/10/20(月) 17:51:00.10 ID:SVFnr5rS
Cは20年前のソースでも通るぞ
622デフォルトの名無しさん:2014/10/20(月) 19:13:52.35 ID:O1145HhV
>>616
dmd ならば年代順にそろってるよw
http://downloads.dlang.org/releases/
623デフォルトの名無しさん:2014/10/20(月) 19:45:24.13 ID:pgUgZ3hw
scで見ると番号ずれるのかと思ったがそうでもないんだな
ちゃんと補正されてるとは
624デフォルトの名無しさん:2014/10/20(月) 22:49:30.98 ID:a7Ei9s8h
たぶん>>614はdate.dはBoost Licenseだし過去のソースをそのまま取ってくれば
そのまま使えるじゃんって言いかけた途中で蛇に食われたんだと思う

かつてのstd/date.dが今のdmdでコンパイルできるかは謎
625デフォルトの名無しさん:2014/10/21(火) 23:26:08.88 ID:DbX2Al2N
ひょっとするとstd.dateのコードをdate.dごと最新のdmd用にするかstd.datetime仕様に置き換えてくれるスクリプトかも知れんぞ
D言語erはたまに変態クラス居るから
626デフォルトの名無しさん:2014/10/22(水) 08:45:15.66 ID:zFSkun4G
microsecondじゃなくてpicosecondなのかこれ
627デフォルトの名無しさん:2014/10/22(水) 10:49:57.11 ID:7d6hMP/k
microsecの下は nanosecじゃろ
ライブラリでサポートしてるのは hect-nano = 0.1microsec まで
そこまで対応してるOSがあるかは知らん
628デフォルトの名無しさん:2014/10/22(水) 11:31:32.78 ID:G2nqW3Ft
picosecond 計測できる CPU あったら欲しい
629デフォルトの名無しさん:2014/10/22(水) 19:54:20.78 ID:yrJjDRql
.NETのDateTime.Ticksは100ナノ秒単位だそうだしそこらが限界か
Monoでもそうなのかな
630デフォルトの名無しさん:2014/10/22(水) 20:01:45.87 ID:7d6hMP/k
お前のメモリ速度は何色だ〜〜?
631デフォルトの名無しさん:2014/10/22(水) 20:07:06.54 ID:OXQCyhg2
基盤は緑ですがなにか。
632デフォルトの名無しさん:2014/10/22(水) 22:38:36.13 ID:I8Ficlrd
「速さ」の色を問うとは実に哲学的だな。あるいは文学的か。

流石D言語er
633デフォルトの名無しさん:2014/10/22(水) 23:18:47.29 ID:8KS/xqNh
元ネタが血の色だからでしょ
634デフォルトの名無しさん:2014/10/23(木) 15:57:14.69 ID:sacKhide
https://github.com/FrankLike/dfl2
ついに DFL2 が来たのか!と思ったら、普通の DFL だった。


そもそも、なんで DFL が終わってしまったのか知っている人がいたら教えて〜w
635デフォルトの名無しさん:2014/10/23(木) 16:46:53.60 ID:eDVkHXcG
続けるのにはエネルギーが必要だが
終わるのに理由はいらない
636デフォルトの名無しさん:2014/10/23(木) 17:00:07.79 ID:3dpvDRYI
DFL2はD2専用みたいだね。D1/D2両対応に疲れたんでしょ
637デフォルトの名無しさん:2014/10/23(木) 17:17:08.96 ID:RjBQcz8M
競合も多い分野だからな
やる気無くなる気持ちは判る
638デフォルトの名無しさん:2014/10/23(木) 17:23:48.96 ID:P/+8ROWQ
DのGUIツールキットライブラリって競合多いかな…?
更新止まっちゃったのは多いけど

言語問わず競合が多い、って意味ならごめん
639デフォルトの名無しさん:2014/10/23(木) 18:12:24.98 ID:eDVkHXcG
>>634
それ既存のフォークでもなくオリジナルソースとの差分もわからない
オープンソースのしきたりがわかってなくてダメダメ むしろ邪魔
640デフォルトの名無しさん:2014/10/25(土) 13:23:41.36 ID:Dq9yc316
static this() {
loadAppSettingsFile();
}

↑スレッド100個立ち上げるプログラムの中で発見されたコード
641デフォルトの名無しさん:2014/10/25(土) 13:43:56.46 ID:uUg9y0Q/
ゾッとした
642デフォルトの名無しさん:2014/10/25(土) 17:43:10.92 ID:dSyCpRci
だ、大丈夫初回起動だからファイル無いから
643デフォルトの名無しさん:2014/10/25(土) 18:15:41.15 ID:uUg9y0Q/
この件というか自分のコードで無意識にこんなことやっちゃいそうってとこがぞっとするわ…
644デフォルトの名無しさん:2014/10/25(土) 18:40:27.63 ID:gAvv+xng
もしかしたらloadAppSettingsFileの中でメインスレッド以外弾くようにしてあるかもしれない・・・?
645デフォルトの名無しさん:2014/10/25(土) 19:16:13.23 ID:Dq9yc316
静的ライブラリの中で無邪気にやってる可能性はかなり高いのではないか
646デフォルトの名無しさん:2014/10/25(土) 21:19:43.77 ID:dSyCpRci
D1のGUIライブラリをD2に移植した時にDLL初期化がGUI処理以外のスレッドで走りまくったことなら
647デフォルトの名無しさん:2014/10/27(月) 20:06:39.11 ID:ej98PbkV
static if文の中で、型Tがメンバ関数f()を持っているかどうかを判定するにはどう書けばいいですか?
648デフォルトの名無しさん:2014/10/27(月) 21:28:38.65 ID:ORWcqF8z
わかんないけど static if(T.classinfo.getMembers("f").length) とかじゃね?
649デフォルトの名無しさん:2014/10/27(月) 23:09:47.75 ID:pBeepT/B
static if (is(typeof(T.f) == function))
650647:2014/10/27(月) 23:37:09.99 ID:ej98PbkV
>>649の方法でできました。
メンバ関数がtemplateの場合はどうすればいいのでしょうか?
そのまま応用すると関数を呼び出すところでエラーが出ます。
static if (is(typeof(T.f!(X)) == function)) {
  t.f(x); // コンパイルエラー
  t.f!(X)(x); // コンパイルエラー
}
651647:2014/10/28(火) 00:36:52.60 ID:ZhBusCc1
自己解決しました。
static if (is(typeof(t.f(x)))) {
  t.f(x);
}
652デフォルトの名無しさん:2014/11/01(土) 00:13:22.32 ID:7TsBShuV
D言語のGUIライブラリに求めるものってなんかある?
俺はマルチプラットフォーム・Dネイティブくらいなんたが
653デフォルトの名無しさん:2014/11/01(土) 00:48:51.45 ID:NXaF13OH
た?

ウィジェット・ツールキットみたいなのを想定した話なんだろうか。
最低限ポインタを直接触らなくてすめば嬉しいな。
654デフォルトの名無しさん:2014/11/01(土) 07:08:10.10 ID:gj0fryM3
Dネイティブとかやめてくれ
マイナーなツールキットのイモUIに腹を立てたことは無いのか?
655デフォルトの名無しさん:2014/11/01(土) 12:59:57.68 ID:9iDZEQe4
それってGTKのこと?
656デフォルトの名無しさん:2014/11/01(土) 14:07:21.62 ID:8ouYpD3K
https://github.com/buggins/dlangui いいと思うよ、Widgets がいまいちだがこれから良くなる?かな

あと https://github.com/Jebbs/DSFML で最近は遊んでる
657デフォルトの名無しさん:2014/11/01(土) 18:57:23.85 ID:gNrs+HuM
ネイティブのUI機能ではなくスタイルシート的な機能で見た目を合わせるタイプがいいな
JavaのSwingのやり方だがパフォーマンスは安定してた
658デフォルトの名無しさん:2014/11/01(土) 19:06:25.81 ID:9iDZEQe4
QtDってどうなったんだろ?
659デフォルトの名無しさん:2014/11/01(土) 20:19:39.08 ID:NXaF13OH
最終更新日が1年以上前…
wxDも似たようなもんか

GtkDとDWTは比較的元気そう
もっともDWTはdubに対応する気が無いみたいだけど
660デフォルトの名無しさん:2014/11/01(土) 20:50:53.05 ID:9iDZEQe4
>>659
DWTの中の人はdubに入れてーなってメーリングリストで言ってたんだけど
gitのsubmoduleを使ってるせいでそのままじゃ対応できないそうな
661デフォルトの名無しさん:2014/11/01(土) 21:43:20.84 ID:NXaF13OH
そうだったのか

ttps://github.com/d-widget-toolkit/dwt/issues/12
とか見ると入れる気なんてさらさら無いように見えたんだけど…
俺の英語力低くてごめんね
662デフォルトの名無しさん:2014/11/01(土) 23:36:08.57 ID:gj0fryM3
> Absolutely, I just need to figure out a good way to do it.
これをどう解釈したのか気になる……
663デフォルトの名無しさん:2014/11/01(土) 23:41:26.44 ID:jtBHZTX6
全くだ、それをするのに良い方法を私は理解したいだけだ。
664デフォルトの名無しさん:2014/11/01(土) 23:42:40.15 ID:pFRJeQaQ
それだけ見たら、
それにしても、形にして送り出すためにどうすればいいのか。
と俺は読むかな。俺の英語力ひどいもんだけど。
665デフォルトの名無しさん:2014/11/01(土) 23:43:21.60 ID:jtBHZTX6
全くだ、それをするのに良い方法を私は理解する必要があるだけだ。
666デフォルトの名無しさん:2014/11/02(日) 00:01:46.46 ID:nVDd6SUA
機械翻訳じゃねーかw

ttp://forum.dlang.org/thread/[email protected]
メーリングリストのはこれかな
667デフォルトの名無しさん:2014/11/02(日) 00:10:33.02 ID:cOZRjysN
Dubサポートしたいけど、各OS用のワークアラウンドとDWT共通パッケージが切れててそれがdubは拾ってくれねーぞ。なんかアイディアない?
っていってるのかな?
668デフォルトの名無しさん:2014/11/02(日) 00:27:33.12 ID:67KOBBIP
"figure"の意味が分かってて"figure out"という熟語を知らないなんてことが
669デフォルトの名無しさん:2014/11/02(日) 00:30:31.59 ID:cOZRjysN
見たか!それが俺の英語力だ!!Orz
670デフォルトの名無しさん:2014/11/02(日) 02:07:01.77 ID:Ns/yRHdS
メンテナー;
避けては通れないのは、dubを使用するための良い方法を理解する必要が有ることだね

---
こんな感じだと思う
671デフォルトの名無しさん:2014/11/02(日) 16:18:13.51 ID:UKN4oC22
Find out = discover some information.
Figure out is usually used when we are in the process of making a decision or
trying to arrange something.

To figure something out means you have to think to solve it.
For example: You figure out a math problem. You don't find it out.
You figure out how to solve a puzzle. You don't find it out.
こういうことらしい
672デフォルトの名無しさん:2014/11/03(月) 10:04:36.08 ID:pepslcbJ
マジレスですまんが、
>>662は「もちろん、あとはうまくやる方法を見つけ次第な」ってことだよな
673デフォルトの名無しさん:2014/11/03(月) 11:10:31.36 ID:n+OdLcyf
Yes/Noを聞く問いかけにはまずYes/Noで答えなさいと先生いつも言ってるでしょ
674デフォルトの名無しさん:2014/11/03(月) 11:41:44.36 ID:zABMRDMY
だが俺は質問を質問で返すぜ
675デフォルトの名無しさん:2014/11/03(月) 14:44:15.56 ID:HVdPOOCJ
auto r1 = filter!("a == 1")(arr1);
auto r2 = filter!("a == 2")(arr2);
auto r = [r1, r2]; // ここでエラー
foreach (e; r){ ... }

どう書けばいいですか?
676デフォルトの名無しさん:2014/11/03(月) 15:22:37.17 ID:n+OdLcyf
std.range.chain()
677デフォルトの名無しさん:2014/11/03(月) 17:17:27.04 ID:HVdPOOCJ
>>676
chainは1つの配列になってしまうので、目的のものと違ってしまいます。
欲しいのHoge[]じゃなくてHoge[][]なのです。
678デフォルトの名無しさん:2014/11/03(月) 17:22:47.41 ID:zABMRDMY
auto r = std.typecons.tuple(r1, r2);
foreach (e; r){ ... }
679デフォルトの名無しさん:2014/11/03(月) 17:23:51.26 ID:HVdPOOCJ
>>678
なるほど、タプルを使えばいいんですね。
thx
680デフォルトの名無しさん:2014/11/03(月) 17:28:22.71 ID:yD7eE8OW
r1とr2の型が違う事わかってなくね?
ちなみにstd.array.array()でレンジの評価をすればHoge[]型にできる
681デフォルトの名無しさん:2014/11/03(月) 17:30:19.25 ID:zABMRDMY
array()だと一度filter()が全評価されちゃうからなぁ

しまったその辺含めて質問を質問で返せばよかったのか
682デフォルトの名無しさん:2014/11/03(月) 17:33:53.88 ID:/rryaAU5
タプルで、各要素に文字列のインデックスを付けられるようにして欲しいなぁ
683デフォルトの名無しさん:2014/11/03(月) 17:45:09.19 ID:yD7eE8OW
std.typeconsのリファレンスの初っ端の例に書いてあるやつじゃないの?
684デフォルトの名無しさん:2014/11/03(月) 17:52:30.93 ID:/rryaAU5
alias Coord = Tuple!(float, "x", float, "y", float, "z");

これを、
c.z = 1;
だけじゃなく、
c["z"] = 1;
でも使えたら嬉しいな、ということです
文字列の添字も使えるように、って書けば良かったか
685デフォルトの名無しさん:2014/11/03(月) 18:09:17.22 ID:GTx3j7Oy
そりゃTupleでやるべきじゃないな
フィールドの型が違ったらどうすんだ
686デフォルトの名無しさん:2014/11/03(月) 19:10:34.73 ID:zABMRDMY
Variant[string] c;
c["z"] = 1;

こうかな
Variantって今どれくらい使い物になるんだろう
687デフォルトの名無しさん:2014/11/08(土) 21:40:25.62 ID:t6QOxLf1
dmd.2.066.1 出てたんだな
688デフォルトの名無しさん:2014/11/08(土) 23:00:56.43 ID:wnAb3mO0
サイトの更新にちょっと手間かかってるんじゃ〜ってゆってた
regression対応だけのはずなのに微妙に機能の先食いまでしてる
689デフォルトの名無しさん:2014/11/09(日) 08:09:33.21 ID:N71mmsxI
いってた
690デフォルトの名無しさん:2014/11/09(日) 14:09:38.27 ID:FmsEabm8
そろそろTDPLの改訂版とか出したほうが良いんじゃないかね

通らなくなったコードは(多分)無いから大丈夫なんだろうか?
691デフォルトの名無しさん:2014/11/09(日) 14:54:13.05 ID:N71mmsxI
DMDがTDPLに書かれている機能を全てサポートしてからでも遅くない
692デフォルトの名無しさん:2014/11/12(水) 13:23:56.95 ID:XEt4RGec
カタテマの新作のシューティングが出てた
693デフォルトの名無しさん:2014/11/12(水) 23:53:47.50 ID:U/r2NBKd
今更かい、D言語erって案外ゲーム層とかぶってないんだね
つってもあれ、結局Luaなんじゃなかった?
694デフォルトの名無しさん:2014/11/15(土) 02:41:23.81 ID:4UoCUD+S
D#
695デフォルトの名無しさん:2014/11/15(土) 17:30:28.00 ID:8ar8h4b8
int[] arr;
int x;
...
auto arr2 = filter!("a == x")(arr); // エラー

predでxが使えないんですけど、どう書けばいいんでしょうか?
696デフォルトの名無しさん:2014/11/15(土) 18:43:05.15 ID:QxX7h8ok
auto arr2 = filter!((a) => a == x)(arr);
697デフォルトの名無しさん:2014/11/15(土) 19:26:40.02 ID:8ar8h4b8
>>696
なるほど、ラムダですか。
698デフォルトの名無しさん:2014/11/15(土) 19:39:44.83 ID:QxX7h8ok
ラムだっちゃ
699デフォルトの名無しさん:2014/11/16(日) 03:07:04.35 ID:R/FFjtcr
ケケ
700デフォルトの名無しさん:2014/11/16(日) 09:42:50.24 ID:5YhHkZLp
Visual Studio 2013 Community で Visual D 動作確認
http://light.dotup.org/uploda/light.dotup.org102067.png
701デフォルトの名無しさん:2014/11/16(日) 10:47:24.57 ID:trIZATdw
みんなMonodevelopじゃないのか?
702デフォルトの名無しさん:2014/11/16(日) 16:24:39.60 ID:0FRsRnR6
IDEもだいぶよくなってるという噂だからそろそろ使ってみようかなと思いつつ
テキストエディタを開く吉宗であった
703デフォルトの名無しさん:2014/11/16(日) 16:49:27.26 ID:VvLz/Lyt
男は黙ってVim
704デフォルトの名無しさん:2014/11/16(日) 16:49:40.04 ID:trIZATdw
そういえばdubがあるからテキストエディタでもビルドがラクなのか
705デフォルトの名無しさん:2014/11/16(日) 17:45:35.26 ID:Xdej/dAt
Visual D ってデバッグは出来るのかね?
706デフォルトの名無しさん:2014/11/16(日) 17:52:05.51 ID:oLoiq+R+
何ヶ月前か前触った時は結構出来てたよ
707デフォルトの名無しさん:2014/11/16(日) 20:48:28.37 ID:DAFt35Fj
>>705
VSのデバッガも使えるし
D専用の mago debugger も使える
708デフォルトの名無しさん:2014/11/16(日) 23:27:05.10 ID:0FRsRnR6
マジかよ-gc売ってくる
709575:2014/11/18(火) 04:16:46.66 ID:kAiH58gO
>>573 えらい亀であれなんだけど、
>>578 に背中を押されてプルリク送ってたのがこの度めでたくマージされました。
おまいらありがとう!俺のコードよ末長くお幸せに!
710デフォルトの名無しさん:2014/11/18(火) 07:34:32.33 ID:N4SlILaP
711デフォルトの名無しさん:2014/11/18(火) 09:34:28.63 ID:/aEHbgmj
まだ婚約指輪もらっただけだから油断はできない
式を挙げて成田まで戻ってきたくらいでないと
712デフォルトの名無しさん:2014/11/18(火) 14:26:29.43 ID:YHhTsTMQ
いい話だなぁ
努力が報われるならやる気だって出ますよ


nothrow @trustedとか付いてる辺り今風だな
713573:2014/11/18(火) 19:20:47.02 ID:cDYRs+r1
>>709
ありがとうありがとう
俺も今度何か気づいたら英語を恐れずなんかしてみることにします
714デフォルトの名無しさん:2014/11/18(火) 20:33:20.77 ID:N4SlILaP
オンラインコンパイラとかオンラインジャッジの類、どうして古いDMDを使うんだろう……
715デフォルトの名無しさん:2014/11/18(火) 22:09:10.76 ID:0VWN7jZN
みんなDを導入した当初は最新版だったんだけどね・・・
「Dのバージョン」を見れば脱落したのがいつかわかるよ
716デフォルトの名無しさん:2014/11/18(火) 22:27:40.74 ID:N4SlILaP
これなんか、昨日始まったサービスなんだけどなぁ……
https://paiza.io/projects/CcFOYxRKTnHNPm6TF0FZYg
717デフォルトの名無しさん:2014/11/19(水) 00:14:55.02 ID:WD/g3TrS
>>716
gdc使ってるみたいだからそんなもんだろ
https://paiza.io/help
718デフォルトの名無しさん:2014/11/19(水) 02:13:32.74 ID:AizLP6wx
1年に何回もバージョンアップするとは思ってないのさ
知ってたら多分手を出さないさ

ちなみに gdcも2.065行ってるしそろそろ2.066も出てくるんじゃないかな
719デフォルトの名無しさん:2014/11/19(水) 07:14:37.43 ID:ZDe3BDz+
年に数回バージョンの変わる処理系なんて珍しくはないと思うが
720デフォルトの名無しさん:2014/11/19(水) 12:40:04.72 ID:JZ2oYyd9
DはC/C++より安全な言語ですが
仕様に破壊的変更を加えます
721デフォルトの名無しさん:2014/11/19(水) 12:43:16.30 ID:L+1YkX2O
他の言語と違って現状に満足せず改良を続ける積極的な言語
とポジティブに考えていこう
722デフォルトの名無しさん:2014/11/19(水) 12:57:38.80 ID:lE3ruP5g
いつも間髪を入れず同じパターンで刹那に突っ込みが入るのもこのスレの魅力
723デフォルトの名無しさん:2014/11/19(水) 13:03:23.54 ID:lE3ruP5g
いつも間髪を入れず同じパターンで刹那に突っ込みが入るのもこのスレの魅力
724デフォルトの名無しさん:2014/11/19(水) 16:50:15.41 ID:QAYpVL9O
このスレの方々にとってRustはどういった印象ですか?
ネイティブコード、オブジェクト指向、型の安全性、関数型言語の特徴、強力なパターンマッチなど、
D言語と似た点と独自の機能もあり、おもしろそうですが

今後のD言語の開発に影響を受けるのか、ライバルとして互いに張り合うのか、
言語同士の競争という面でも興味がありますが
725デフォルトの名無しさん:2014/11/19(水) 17:26:32.44 ID:JZ2oYyd9
間髪を入れずに同レスを繰り返すのも魅力ですね。判ります。
726デフォルトの名無しさん:2014/11/19(水) 17:28:57.59 ID:3P15N52e
実行ファイルサイズという点では現在圧倒的にDの勝ち
GC有りかつ巨大過ぎるstd.datetimeという癌を抱え込んですらDの方がコンパクト
言語仕様だけ見ればRustの方が良さげなんだけど、あっちはなんか基本的なところで設計を間違ってる気がする
727デフォルトの名無しさん:2014/11/19(水) 18:32:04.80 ID:ZDe3BDz+
最近はかなり保守的なので、破壊的変更ネタはいまいちだな
728デフォルトの名無しさん:2014/11/19(水) 18:41:49.87 ID:ZDe3BDz+
>>726
>巨大過ぎるstd.datetimeという癌を抱え込んですらDの方がコンパクト
そりゃ、datetimeの殆んどはテスト用コードだから
Phobosはreleaseビルドされてるのでサイズにはまったく影響しない
試しにunittestを全部消してみたら、algorithmと同じくらいの大きさになったよ……
729デフォルトの名無しさん:2014/11/19(水) 19:08:52.54 ID:3P15N52e
>>728
それを言ったらalgorithmなんてほとんどテンプレートでそれこそサイズに影響しないじゃないか……
と思ってar -xしてみたらdatetimeもそんなでかくなかったw
昔はもっと巨大だった気がするんだが、すまん
730デフォルトの名無しさん:2014/11/19(水) 19:14:37.17 ID:ZDe3BDz+
自分のは単純にソースコード量の話
std.datetimeのコードが1.4MBで、そのうち約1MBがunittestなんだよ
731デフォルトの名無しさん:2014/11/20(木) 07:55:26.26 ID:o9EVj3UU
Rustは最近green threadのランタイムを捨て去ったので、
バイナリサイズは結構小さくなったんじゃないかな。
あと、標準ライブラリ含め、ライブラリは基本静的リンクされるから
バイナリサイズ大きくなりがちではある。
732デフォルトの名無しさん:2014/11/20(木) 08:21:24.18 ID:hJaEa9ly
静的リンクされるなんて、(Javaとか除けば)OSにランタイム付けてもらえる処理系以外は全部そうでしょ
その制限の中で言語仕様からリンカまで一体となって使わないものをリンクしない仕組みが発達してきたのに
Rustはその辺全然利用できてない感がない?ライブラリのフォーマットからして.rlibなんて作ってるし
機能を削って一時的に小さくなっても、そんなのまた増えるよ
733デフォルトの名無しさん:2014/11/20(木) 10:02:55.18 ID:EmAWw9wC
lisperですねわかります
734デフォルトの名無しさん:2014/11/20(木) 22:30:45.33 ID:8mN7uPAt
int[][3] vertices =[
[1,2,3],
[2,2,3],
[3,2,3],
];
bool search(int[3] v)
{
return v[0] > 1;
};
auto result = vertices.filter!(search);

なんでこれ通らんの?
[3]を[]にすりゃ通るけど
735デフォルトの名無しさん:2014/11/20(木) 22:45:27.95 ID:9KkgNF4H
固定長配列は構造体と同じで値型なんです
736デフォルトの名無しさん:2014/11/20(木) 22:47:21.76 ID:W3wU8KPK
int[3][] vertices =[
737デフォルトの名無しさん:2014/11/20(木) 23:24:30.63 ID:Dot4vBSi
静的配列はレンジじゃないから
vertices[].filterみたいにスライスするとok
738デフォルトの名無しさん:2014/11/21(金) 18:38:52.48 ID:hVm0S3fC
C++をこの世から消し去ってくれるのなら
DでもRustでもいいから頑張って欲しい
Goは面白みがないから遠慮したい
739デフォルトの名無しさん:2014/11/21(金) 20:15:27.71 ID:FPfg1cnM
DMDでCOFF吐けるようになったんだー

って感心してPhobosをビルドしようとしたけどコケた
stdio.dの中で、dmdかつwin32の場合、自動的にDMのCランタイムを
前提にしちゃってるのが問題なのかな…?
740デフォルトの名無しさん:2014/11/21(金) 20:32:44.78 ID:FPfg1cnM
問題でした。あとprocess.dでも同じようなことが起こった。
恐る恐るその部分を修正したら何とかコンパイルは通ったみたい。
741デフォルトの名無しさん:2014/11/21(金) 23:09:09.34 ID:qvHLjp++
https://www.marshut.net/kpvqrm/coff-on-win32-how-to-try.html
ここの最初の方に make の仕方が書いてある
742デフォルトの名無しさん:2014/11/22(土) 09:01:00.14 ID:T3xUPRz8
D言語には依存性解決するビルドツールとかないの?
互換性なにそれみたいな言語だし機能しないか
743デフォルトの名無しさん:2014/11/22(土) 09:48:48.28 ID:2nUuPgkv
dub(http://code.dlang.org/)ってのが半公式のビルドツール
dub1.0からはDMDに同封するとかなんとか
744デフォルトの名無しさん:2014/11/22(土) 10:10:58.39 ID:2nUuPgkv
> 互換性なにそれみたいな言語だし機能しないか
大きめのD言語製ライブラリとか見てても、ちょっと古めのコンパイラに合わせとけば問題はほとんど無さそう
警告やdeprecationもあるし、version文とかで分岐しないといけない場合があるだろうけど
745デフォルトの名無しさん:2014/11/22(土) 13:00:16.47 ID:ClESvxNn
rdmd(ビルド&実行)
dub(人気だが目的にかなうか不明)
dsss,bud(D1時代に活躍)

あとDMD自体が依存性の出力を吐けるから加工すれば使えるんじゃないか
746デフォルトの名無しさん:2014/12/01(月) 13:00:08.12 ID:q7F8Vl1K
D言語 Advent Calendar 2014
http://qiita.com/advent-calendar/2014/dlang

まだ "若干" の枠が残っておりますのでお早めにお申込み下さい
747デフォルトの名無しさん:2014/12/01(月) 18:22:19.97 ID:pdaZTfdj
748デフォルトの名無しさん:2014/12/01(月) 18:25:41.09 ID:k/0vFpdT
をるたんGJ
749デフォルトの名無しさん:2014/12/01(月) 19:17:16.56 ID:MDTDObyk
いいね
750デフォルトの名無しさん:2014/12/01(月) 19:28:08.57 ID:GLoHGVkg
ウォルタソ2ちゃん読んでるのかω
751デフォルトの名無しさん:2014/12/01(月) 20:06:16.01 ID:pdaZTfdj
752デフォルトの名無しさん:2014/12/01(月) 20:44:08.47 ID:q7F8Vl1K
うぉるたんが言い出しっぺで盛り上がってるからちょっぴり期待してたけど
微妙に斜め上に行ったな
753デフォルトの名無しさん:2014/12/02(火) 07:49:12.59 ID:XkN7RMp1
うぉるたーって日本語使いこなしてるのか
754デフォルトの名無しさん:2014/12/02(火) 18:04:37.22 ID:ZV0BAaQV
>>753
リンク貼られてるんだから読もうよ
755デフォルトの名無しさん:2014/12/05(金) 19:13:26.32 ID:VNkKZWmc
>>747のundeadを使ってみたんですけど、リンク時にSymbol Undefinedが出ます。
importするだけじゃだめなんでしょうか?
756デフォルトの名無しさん:2014/12/05(金) 19:54:14.96 ID:l6BQ9KC4
だめです
757デフォルトの名無しさん:2014/12/05(金) 20:24:32.21 ID:Hb0aQx/G
importは、Cでヘッダをincludeするのと同じ
Undeadはdubのパッケージを提供してるのでdubを使うか、あるいはrdmdを使えば自動で必要なものをコンパイルしてくれる
758デフォルトの名無しさん:2014/12/05(金) 21:29:42.94 ID:VNkKZWmc
>>757
できました。thx
759デフォルトの名無しさん:2014/12/07(日) 21:43:46.53 ID:tiP2VEcW
乱数を1〜2回程度しか使わないアプリケーションで(起動と終了は割りと頻繁に繰り返される)、
std.randomのuniformをデフォのまま使ってたら、体感的に偏りを感じました。
乱数1つ取り出すごとにシードを設定してるようなものなので、悪い使い方ですよね。
こういうアプリケーションの場合、どのようにすれば良い乱数が使えるのでしょうか?
760デフォルトの名無しさん:2014/12/07(日) 23:04:49.58 ID:k0/vdW5n
ジェネレーターの状態をどっかに保存して続きからというのが模範解答だろうけど
細かいこと気にしないなら/dev/randomでもそのまま使っとけばいいんじゃなかろうか
761デフォルトの名無しさん:2014/12/07(日) 23:42:45.79 ID:tiP2VEcW
>>760
なるほど。
ジェネレーターを保存する方向で考えてみます。
762デフォルトの名無しさん:2014/12/08(月) 10:05:26.48 ID:eZuxZoZp
memcached
763デフォルトの名無しさん:2014/12/08(月) 11:26:30.81 ID:PwuM5X3u
static if ( is(typeof(foo)) ) { }
else static assert( "foo is wrong" );
764デフォルトの名無しさん:2014/12/08(月) 16:13:02.50 ID:DldRzckq
D言語AdventCalendar、去年より人が減ってる……
765デフォルトの名無しさん:2014/12/08(月) 17:09:38.78 ID:KCPal8fz
仕方ない
javascript大人気
766デフォルトの名無しさん:2014/12/08(月) 17:22:23.35 ID:DldRzckq
??
767デフォルトの名無しさん:2014/12/08(月) 17:44:13.77 ID:WmBhQa8t
全体的にレベル高すぎて俺レベルじゃ書けそうな事が何もない
768デフォルトの名無しさん:2014/12/10(水) 22:41:10.33 ID:l9bu1t/n
現在のD言語って、RAIIはどうなっていますか?
構造体のインスタンスがスコープを抜けたときに、デストラクタが必ず呼び出される事を期待してもいいですか?
769デフォルトの名無しさん:2014/12/10(水) 22:53:30.35 ID:0pBLyzIc
scope(exit)じゃ駄目なん?
770デフォルトの名無しさん:2014/12/10(水) 22:56:44.80 ID:R7fmQqln
スタック上に確保してるのなら(newを使わずに構造体を作ってるなら)、確実にデストラクタが呼ばれる
771デフォルトの名無しさん:2014/12/10(水) 23:10:22.35 ID:YTo2gg23
死ぬほど頑張って@nogcを使い倒せばそんな心配から解放される…!
772デフォルトの名無しさん:2014/12/10(水) 23:10:38.07 ID:l9bu1t/n
>>769
例外安全というわけじゃなくて、C++のように使えたら便利だと思いまして。

>>770
なるほど。スタックというのが条件なんですね。
773デフォルトの名無しさん:2014/12/10(水) 23:23:27.90 ID:MEFzxP4Y
そりゃヒープに確保した構造体がスコープ抜けただけで解放されちゃ困るだろ
774デフォルトの名無しさん:2014/12/10(水) 23:28:14.38 ID:RnbrHJHd
classは通常でヒープで、Scoped(T)でスタックだが、
通常でスタックのstructをnewってできるのか?Heaped(T)みたいなのあるの?
775デフォルトの名無しさん:2014/12/10(水) 23:33:55.98 ID:R7fmQqln
構造体は普通にnew出来る
776デフォルトの名無しさん:2014/12/10(水) 23:39:13.55 ID:RnbrHJHd
ああなるほど、普通にT*に入れるってことね。サンクス
777デフォルトの名無しさん:2014/12/11(木) 05:33:34.64 ID:f28H8ZNo
>>773
ほんとそれ
778デフォルトの名無しさん:2014/12/11(木) 06:43:54.76 ID:Q8UNk1zo
Scopedってスタック確保されるんだっけ?
スタックでのメモリ管理を模してるだけじゃなくて?
779デフォルトの名無しさん:2014/12/11(木) 07:16:54.74 ID:luK/Jxn6
スタックに確保される
780デフォルトの名無しさん:2014/12/11(木) 12:01:20.30 ID:MNI0BZQ+
静的配列をキャストして使うシンプルな仕組みだったw
781デフォルトの名無しさん:2014/12/12(金) 07:34:38.53 ID:hWKmA/xD
D言語ユーザ、やけにロシア人が多いのは何か理由があるのかな
他のOSSではよく見かける中国人が少ないのも気になる
782デフォルトの名無しさん:2014/12/12(金) 15:36:21.58 ID:x/MDchDd
ロシア人というか東欧が多いんじゃないか?
Andreiたんがルーマニアだから
783デフォルトの名無しさん:2014/12/12(金) 16:09:23.42 ID:z5EZhpJA
チャウチェスク
784名無しさん@そうだ選挙に行こう:2014/12/13(土) 19:01:17.34 ID:XGfObA5e
数年前にC++0xで話題になったコンセプトチェックみたいなことをやりたいんですけど、
シンプルに書く方法はないでしょうか?
static if (is(typeof(t.f())))
みたいに書くのは読みづらいし、f()の関数内にシンタックスエラーがあった場合、
f()がなかった物として扱われるのも不満です。
785名無しさん@そうだ選挙に行こう:2014/12/13(土) 20:30:29.35 ID:07BOFnpn
Phobosでは無名関数をis(typeof())するテンプレートenumを使ってる
https://github.com/D-Programming-Language/phobos/blob/67605b53dc30967e05c443845beb44d90050a206/std/range/primitives.d#L143

これとかも参考にしてみると良いかも
https://github.com/D-Programming-Language/phobos/pull/2627/files

>f()がなかった物として扱われるのも不満です。
ユーザにエラーが見えるようなところでインスタンス化してみるとか? 方法はいろいろありそう
http://sc.yutopp.net/entries/548c224877777707ecfc3b00
786名無しさん@そうだ選挙に行こう:2014/12/13(土) 21:26:48.39 ID:DOqhoYVE
俺だったら普通f()のunittestも書くけど、
そういう話じゃない気もする
787名無しさん@そうだ選挙に行こう:2014/12/13(土) 22:43:19.11 ID:XGfObA5e
>>785
参考になります。
しかしTMPだから当然といえば当然ですけど、難しいコードですね。

>>786
コンセプトチェックが使われてるライブラリを、利用者が何も知らずに使った時に罠になると思うんですよね。
>>785の3つ目の方法も、エラーメッセージは綺麗だけど、コードは結構トリッキーに感じます。
788名無しさん@そうだ選挙に行こう:2014/12/14(日) 08:41:08.85 ID:+rNUoiuX
あ、785で貼った例は間違ってるな
関数をテンプレートにしないと
789デフォルトの名無しさん:2014/12/16(火) 12:44:36.08 ID:hmq5kduX
>>746
だいぶ空きが埋まったと思ったら時空のねじ曲がりまで起きてるw
790デフォルトの名無しさん:2014/12/16(火) 14:38:55.61 ID:P2aaIDn/
QiitaのAdvent Calendarではよくあること


だから君たちも時空を捻じ曲げても良いんだよ?
791デフォルトの名無しさん:2014/12/16(火) 19:23:33.33 ID:pta1Q+6d
初日から止めていくスタイル
792デフォルトの名無しさん:2014/12/16(火) 19:47:26.29 ID:Ds44nHOO
lvalueOfとかいつの間に・・・
793デフォルトの名無しさん:2014/12/16(火) 22:31:03.55 ID:lUIqdlE0
>>792
入ったのは2.061あたり
794デフォルトの名無しさん:2014/12/18(木) 22:47:09.91 ID:/iB1Gd/A
struct Hoge{
int[] arr;
}
void main(){
Hoge hoge;
int[] arr = hoge.arr; // ここでrefが欲しい
}

関数の引数やforeachではrefが使えますけど、関数の中でrefのようなことはできないのでしょうか?
795794:2014/12/18(木) 23:43:43.93 ID:/iB1Gd/A
自己解決。ref関数でいけました。
796デフォルトの名無しさん:2014/12/19(金) 22:59:19.28 ID:mZ1WU4h1
Dって結局さ、大規模開発向けの機能が豊富なのに、
大規模開発だと使われないから悲しいことになってるんじゃないかな
797デフォルトの名無しさん:2014/12/19(金) 23:58:36.60 ID:oaxgUkAb
まだ発展途上にある言語だから仕方がない。
あと10年待て。
798デフォルトの名無しさん:2014/12/20(土) 01:49:58.97 ID:6/ZWZwQm
DでもRustでもいいからとっととGoを駆逐してくれ
出来ればRustだとありがたいけど
799デフォルトの名無しさん:2014/12/20(土) 08:48:27.21 ID:ChYg+iyB
×大規模開発に使われないから悲しい
○大規模開発に使ってる人達はD1を使い続けてるからもっと悲しい

開発にも関わるようなコアなD言語erをいっぱい雇ってる某社は、未だにD1を使ってるらしいね
移行できないくらいの規模のコードベースって事なんだろうけど、悲しい
800デフォルトの名無しさん:2014/12/20(土) 22:24:44.21 ID:28mA7/d/
未だにD1て…

Microsoft様とか、Apple様とか、Oracleさん程度の資金力で援助してもらえれば
もっと普及するんだろうけどなー、と無意味な妄想に浸ってしまう
801デフォルトの名無しさん:2014/12/20(土) 22:42:09.03 ID:MfGlaGIo
Facebook様はどうや?
802デフォルトの名無しさん:2014/12/21(日) 03:47:53.52 ID:UG1lKywt
http://forum.dlang.org/thread/[email protected]
某社様はお怒りであられますぞ
803デフォルトの名無しさん:2014/12/21(日) 05:35:47.00 ID:9Kr9HaBG
普及したらD言語の特徴であった破壊的変更が無くなってしまう
普及されたら互換性を維持する必要が出てくるんだぜ?
804デフォルトの名無しさん:2014/12/21(日) 06:39:29.82 ID:gQMH/TzB
普及版のDと
発展途上版のDに別れれば良いだけな気がする
805デフォルトの名無しさん:2014/12/21(日) 07:05:01.56 ID:YBiBM0C2
warning/deprecationを出しとけば破壊的変更じゃないんですよぉ、的な感じなので昔より大分マシ
806デフォルトの名無しさん:2014/12/21(日) 07:08:38.01 ID:YBiBM0C2
警告なしでぶっ壊れたらBugzillaに報告すると良い
807デフォルトの名無しさん:2014/12/21(日) 07:24:26.28 ID:oXXzcEed
auto t = tuple(1, 1.2, "foo");
auto a, b, c = t;

みたいな書き方で多重代入できればいいのに。


あと文字列リテラルでの式展開も導入して欲しい。
808デフォルトの名無しさん:2014/12/21(日) 13:20:35.20 ID:Bmq4staR
Pythonのタプルいいよね…
809デフォルトの名無しさん:2014/12/21(日) 18:25:02.92 ID:pnSq9dAE
確かに普及版で基礎開発しているのはちと世間受け悪いかもな。
810デフォルトの名無しさん:2014/12/21(日) 20:10:10.29 ID:YBiBM0C2
しかし、バージョンを二つに分けられるようなリソースがあるか、というと厳しそうだしな
811デフォルトの名無しさん:2014/12/23(火) 00:48:00.35 ID:xyoWzHvX
D2ってprivate constructorって非対応なの?

class A`
812デフォルトの名無しさん:2014/12/23(火) 14:38:17.13 ID:ZEFAEh7a
Dのprivateはモジュール外private
813デフォルトの名無しさん:2014/12/23(火) 16:14:46.76 ID:xyoWzHvX
なるほどね、 あざっす
814デフォルトの名無しさん:2014/12/23(火) 23:36:27.47 ID:xkazkLmW
import std.stdio;

void main()
{
int a,b;
(a, b) = (1, 2);
writefln("%d %d", a, b);
}

0 2
なんでですのん?
815デフォルトの名無しさん:2014/12/23(火) 23:54:44.75 ID:Iw2vbch6
(a, b) は b を返し、(1, 2) は 2を返すから?
816デフォルトの名無しさん:2014/12/24(水) 00:05:30.64 ID:X4e6dMxc
単なるカンマ演算子に何の夢を見ているのか
817デフォルトの名無しさん:2014/12/24(水) 00:16:39.78 ID:b74Z3Ffg
左辺でカンマ演算子が使えたのかー
818デフォルトの名無しさん:2014/12/24(水) 00:35:55.30 ID:tr7+03DC
ワロタ
819デフォルトの名無しさん:2014/12/24(水) 01:16:54.07 ID:b0jSArqn
Perlから来た人かな
あの言語は値の交換なんかをそう書くから

PythonやRubyの人なら、そこに括弧は付けないだろうし…
820デフォルトの名無しさん:2014/12/24(水) 02:34:19.60 ID:DwDaRkNN
左辺でカンマ演算子が使えるというよりもカンマ演算子が左辺値を返せるって感じ?
821デフォルトの名無しさん:2014/12/24(水) 02:37:10.50 ID:89gWHyFb
tieとかないの
822デフォルトの名無しさん:2014/12/24(水) 02:54:02.24 ID:jJjX2rTK
あるでしょ
823デフォルトの名無しさん:2014/12/24(水) 08:56:34.78 ID:0GjElsgC
TypeTupleに代入できるんだな、知らなかった
http://forum.dlang.org/thread/[email protected]


import std.stdio;
import std.typecons;

void main()
{
int a,b;
TypeTuple!(a, b) = tuple(1, 2);
writefln("%d %d", a, b); // => 1 2

// 値の交換にも使える
TypeTuple!(b, a) = tuple(a, b);
writefln("%d %d", a, b); // => 2 1
}
824デフォルトの名無しさん:2014/12/24(水) 15:13:35.06 ID:HMHzp+dm
先生…面倒くさいです
糖衣構文用意して下さい…


そういえば前タプルのリテラル作ろうとしたけど、
構造体のリテラルと被ってるから却下されたみたいな話を聞いたような
825デフォルトの名無しさん:2014/12/24(水) 15:27:48.55 ID:DwDaRkNN
文字列mixinがあれば全て解決
826デフォルトの名無しさん:2014/12/24(水) 15:49:09.52 ID:0GjElsgC
DIP32: Uniform tuple syntax
http://wiki.dlang.org/DIP32
827デフォルトの名無しさん:2014/12/24(水) 17:05:06.92 ID:RGirwQGI
> Note: Cannot swap values by tuple assignment.
が残念なんだよなあ
828デフォルトの名無しさん:2014/12/24(水) 19:40:06.30 ID:0GjElsgC
{a, b} = {b, a} より swap(a, b) の方が分かりやすくないか
まあ、{a, b} = {b, a+1}みたいな感じで変形できたりして良いのかな
829デフォルトの名無しさん:2014/12/24(水) 20:25:38.62 ID:GmHyOjUW
カンマ演算子ってCから引き継ぐ必要があったのかな?
害悪の源のような気がしてならない。
830デフォルトの名無しさん:2014/12/24(水) 20:31:17.01 ID:0GjElsgC
カンマ演算子を廃止する話も出てたが、影響が大きいからなぁ
forとかで何の気なしに使ってたりするだろ
831デフォルトの名無しさん:2014/12/24(水) 20:50:36.97 ID:EaPm3RpX
Cのマクロを直訳したりするときに無いと困ったりはするけど……
式中文の機能ってあったっけ?あるならカンマ演算子は廃止してもいいと思う

gccのこういうやつ
a = __extension__ { func(); b }; //値はb
832デフォルトの名無しさん:2014/12/24(水) 21:13:56.31 ID:0GjElsgC
Dでは代わりに、関数リテラルの即時呼び出しを使うのが一般的らしい

a = { func(); return b; }(); // インライン化されて a = (func(), b); と等価になる(仕様上は)
833デフォルトの名無しさん:2014/12/24(水) 21:36:54.69 ID:smF28on9
C言語のコードをそのままコピペした時に変なバグを出したくないって理由で
switchのbreakすらも廃止できないのでお察しください

あれ、でも八進数リテラル
834デフォルトの名無しさん:2014/12/24(水) 22:05:03.35 ID:0GjElsgC
> C言語のコードをそのままコピペした時に変なバグを出したくないって理由で
コンマ演算子をどうやって廃止するか議論している内にうやむやになった模様
https://github.com/D-Programming-Language/dmd/pull/3943

> あれ、でも八進数リテラル
八進数リテラルはそもそもコンパイルできないし…
835デフォルトの名無しさん:2014/12/24(水) 23:20:35.14 ID:HMHzp+dm
コンパイラにスイッチ付けて、C式かそうじゃないかを切り替えられるようにしてくれれば…
836デフォルトの名無しさん:2014/12/24(水) 23:29:04.39 ID:DwDaRkNN
#pragma strict
837デフォルトの名無しさん:2014/12/24(水) 23:53:21.48 ID:S0Zb+FI+
個人的にはCの進化系・高機能化って路線はC++がやってるんだから
DにはCとの兼ね合いなんて気にせず
「Cとは別の言語」しての路線を進んで欲しいかなあと思う
838デフォルトの名無しさん:2014/12/25(木) 07:48:39.10 ID:qKZrZOHg
C/C++ と同じなら C/C++ 使うわ
839デフォルトの名無しさん:2014/12/25(木) 11:23:31.92 ID:0vEUjxYN
>C/C++ と同じなら
いやいや、既にまったく違う言語なのに、breakだのカンマだのといったものを残しとく必要はあるのかって話だよ
840デフォルトの名無しさん:2014/12/25(木) 11:28:55.55 ID:Y5il8ylR
仮定法だろ
841デフォルトの名無しさん:2014/12/25(木) 12:34:57.70 ID:+TWSkaoX
breakは、switchでなくその外側のループを抜けたいってCの時から何度でも思ってたしなあ
842デフォルトの名無しさん:2014/12/25(木) 14:06:36.21 ID:pycbzfX+
goto 恐怖症を克服すればどうということはない
843デフォルトの名無しさん:2014/12/25(木) 14:21:42.71 ID:LFi9pLEY
ラベル付きのbreakというのがあってな

outer:
while (true) {
auto s = "E";
switch (s) {
case "E":
break outer;
default:
break;
}
}
844デフォルトの名無しさん:2014/12/25(木) 14:22:27.62 ID:JXbXU9wh
ラベルgotoが使えるから問題ないよね、っていうのは違うと思うんだ…
単純に手間とか見栄えとか考えても、やっぱりbreak必須はなぁ

そういう意味で>>837と同意見ではあるんだけど、
「C言語のソースをそのままコピペした時、同じように動くか、コンパイルできないかにしたい」
って考え方も理解できるものがある。

あるんだけど、その挙動はCモードとかそういうの作ればいいんじゃないのとかも思う。
845デフォルトの名無しさん:2014/12/25(木) 14:39:45.65 ID:P8SronhE
古いD言語コードをコピペすると(あるいは混ざってることに気づかなかったら)、エラーなしに変な動作をする訳か
846デフォルトの名無しさん:2014/12/25(木) 14:58:04.98 ID:JXbXU9wh
古いDコードを新しいコンパイラで動かそうとする方が間違いなんだ(暴言)
847デフォルトの名無しさん:2014/12/25(木) 15:54:54.86 ID:P8SronhE
D言語はライブラリが少ないと言われるけど、具体的に何が求められてるんだろう
848デフォルトの名無しさん:2014/12/25(木) 17:05:49.18 ID:9LCXhqZT
MIME
849デフォルトの名無しさん:2014/12/25(木) 19:21:31.91 ID:m1SILweX
longjump「お ま た せ」
850デフォルトの名無しさん:2014/12/26(金) 07:53:44.67 ID:AidXiP0f
どっちも性能は大して上がらないらしいが、取り敢えず導入してみて欲しいな

Concurrent GC https://github.com/D-Programming-Language/druntime/pull/985
Precise GC https://github.com/D-Programming-Language/druntime/pull/1022
851デフォルトの名無しさん:2014/12/26(金) 09:31:33.83 ID:vVR74RNM
>>847
CLR対応
852デフォルトの名無しさん:2014/12/27(土) 16:36:11.79 ID:u0DhLzQg
巨大なメモリ領域が回収されないことさえなんとかしてくれればGCはなんでもいいのだ
853デフォルトの名無しさん:2014/12/27(土) 23:44:26.12 ID:Ox84Ydso
今のDのGCって単純なマーク&スウィープなの?
854デフォルトの名無しさん:2014/12/28(日) 23:10:06.29 ID:XamQaCA9
そうだよ
855デフォルトの名無しさん:2014/12/29(月) 09:45:39.75 ID:nfqiosik
D3はよ
856デフォルトの名無しさん:2014/12/29(月) 11:45:51.10 ID:TmQI76a9
D2の次のマイルストーンがメモリ管理の改善(GCやscope/refあたり)に定まってきたので、この辺がどうにかなるまでD3はお預けかなぁ
857デフォルトの名無しさん:2014/12/29(月) 18:17:39.95 ID:I5M6phWx
scopeといえば、標準ライブラリで引数にscope付けてるの時々見るけどどういう意味?

何か前にも同じ話題がスレで出てたような気もするけど見つからない
858デフォルトの名無しさん:2014/12/29(月) 18:22:13.40 ID:eUWk+p9g
外部(別の関数のscopeでない引数とか、グローバル変数)に参照が絶対に渡されないっていう意味だよ
これを一歩踏み出すとコンパイルエラーしてくれる

つまり、scope引数に渡した値はその直後に削除処理しても実行時エラーが出ることはない
859デフォルトの名無しさん:2014/12/29(月) 18:41:41.18 ID:I5M6phWx
素早いお答えどうも
どっかで何かが参照持ってるかも、って恐れを無くしてくれるわけね
pureは付けられないけどこの引数は大丈夫、みたいな時に使うのかな
860デフォルトの名無しさん:2014/12/29(月) 22:07:59.39 ID:WiNkDsW5
Dで、Cみたいにランタイム依存のないバイナリって吐けるの?
例えばこんなプログラムで。

---
extern(C) void func(){
 uint a = 10;
 return a;
}
861デフォルトの名無しさん:2014/12/29(月) 22:10:57.71 ID:WiNkDsW5
コードの部分ひどいミスしてた。すまん。
正しいのこれだった。

extern(C) uint func(){
 uint a = 10;
 return a;
}
862デフォルトの名無しさん:2014/12/29(月) 23:32:37.04 ID:TmQI76a9
DMD2.067からは"-betterC"(笑)というコンパイラスイッチでランタイムが取り除ける
現状ではランタイムはくっついて来るけど、他の言語から呼ぶ場合は明示的に起動(rt_init)しないと動かないので気にしなくていい
863デフォルトの名無しさん:2014/12/30(火) 08:36:15.55 ID:8jpC5xEQ
これでD言語でLチカできるな
864デフォルトの名無しさん:2014/12/30(火) 08:48:03.44 ID:JWtJz6A1
いままでできなかったの?
865デフォルトの名無しさん:2014/12/30(火) 09:12:15.96 ID:k+5IuSTj
GDC/LDCならできたんじゃないかな
866デフォルトの名無しさん:2014/12/30(火) 09:19:53.54 ID:mcwkXFwz
Lチキに見えた
867デフォルトの名無しさん:2014/12/30(火) 10:01:37.86 ID:boV1Qvks
>>857 標準ライブラリで引数にscope付けてるの時々見るけどどういう意味?
http://toro.2ch.net/test/read.cgi/tech/1374022208/517-523
868デフォルトの名無しさん:2014/12/30(火) 10:38:27.38 ID:k+5IuSTj
結局、現状のscopeは未実装のままDIP69が採択されるのかね
DIP69 - Implement scope for escape proof references
http://wiki.dlang.org/DIP69
869デフォルトの名無しさん:2014/12/30(火) 14:51:14.16 ID:k+5IuSTj
Walterの副業

The Historian's History of the World Vol. 1: Prolegomena: Egypt, Mesopotamia
Henry Williams (Author), Walter Bright (Translator) $9.99
http://www.amazon.com/Historians-History-World-Vol-Prolegomena-ebook/dp/B00REVL4BC
870デフォルトの名無しさん:2014/12/30(火) 14:51:51.05 ID:k+5IuSTj
↑ 全部Ddocで書いたらしい……
871 【猫】 :2015/01/01(木) 11:37:39.94 ID:Z/g5TCdZ
ハッD(ピー)ニューイヤー
872デフォルトの名無しさん:2015/01/01(木) 14:56:42.64 ID:gnMsvMZO
今年も良いD言語ライフが送れますように
873デフォルトの名無しさん:2015/01/01(木) 20:45:58.91 ID:qMWy9ILt
>>862
俺の訳わからん質問に答えてくれてありがとう!
874 【中吉】 【1178円】 :2015/01/01(木) 23:59:30.99 ID:2VBywPBG
今年のD
875デフォルトの名無しさん:2015/01/03(土) 12:33:57.15 ID:GCm6sqjb
お前らあけおめ
876デフォルトの名無しさん:2015/01/03(土) 13:20:45.88 ID:duDbuP4G
877デフォルトの名無しさん:2015/01/03(土) 15:54:34.62 ID:8egLD/UW
Visual D 0.3.40
本人だけに Win32 COFF 対応を先取りで取り込んでいる
C/C++ をプロジェクトに入れられるというのは需要あるのかな
878デフォルトの名無しさん:2015/01/03(土) 16:26:21.71 ID:GwVafKdW
オオアリ
879デフォルトの名無しさん:2015/01/03(土) 16:30:58.61 ID:XgnEofgF
オオアリクイ
880デフォルトの名無しさん:2015/01/03(土) 19:34:57.77 ID:p1JNnJua
オオアリクイクイアリ
881デフォルトの名無しさん:2015/01/03(土) 22:17:10.39 ID:Mi3y7m+B
D言語公式フォーラム、2ch並に煽りまくる人がいて地獄っぽい
882デフォルトの名無しさん:2015/01/04(日) 00:49:42.67 ID:inwAoRSs
はて記憶に無いな
883デフォルトの名無しさん:2015/01/04(日) 16:38:46.65 ID:w2TCoU2v
おまわりさん
こいつです
884次スレ用テンプレ:2015/01/05(月) 22:07:43.87 ID:9dFgiezF
プログラミング言語 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://dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)
http://wiki.dlang.org/ - 公式Wiki

■プログラミング言語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
885次スレ用テンプレ:2015/01/05(月) 22:08:23.02 ID:9dFgiezF
■DUB パッケージマネージャ
http://code.dlang.org/about#installation

■IDE
http://rainers.github.io/visuald/visuald/StartPage.html - Visual D(Visual Studioプラグイン)
https://code.google.com/p/ddt/ - DDT(Eclipseプラグイン)
http://wiki.dlang.org/Mono-D - Mono-D (MonoDevelop プラグイン)

■ライブラリ
https://github.com/d-widget-toolkit/dwt - DWT(GUIライブラリ)
https://github.com/gtkd-developers/GtkD - GtkD(GUIライブラリ)
https://github.com/Rayerd/dfl - DFL(GUIライブラリ・非公式最新版)
https://github.com/DerelictOrg - Derelict(SDL/OpenGLなどのポーティング)
http://www.vector.co.jp/soft/win95/prog/se491774.html - DXライブラリ バインディング(作者サイトメンテナンスのため Vector)
http://www.ku6.jp/keyword6/1.html - 傾き指向プログラミング(SDLなどのポーティング)

■OMF<->COFF変換ツール
http://www.agner.org/optimize/#objconv

■D言語で作られたゲーム
http://www.nicovideo.jp/mylist/4453698 - D言語で作られた芝ゲー niconico動画
http://www.asahi-net.or.jp/~cs8k-cyu/ - ABA Games
886デフォルトの名無しさん:2015/01/05(月) 22:47:06.14 ID:VAljzr7H
DUBのは、トップページへのリンクが良いかもね
887デフォルトの名無しさん:2015/01/06(火) 00:36:11.43 ID:TJZzsvWk
wxDとかQtDとかはどうなったんでしょう…?
888デフォルトの名無しさん:2015/01/06(火) 00:44:05.14 ID:C6At9U+x
889デフォルトの名無しさん:2015/01/06(火) 01:12:49.46 ID:TJZzsvWk
DWTはその中に入ってないけど一応生き残ってるんじゃないんですかね


クロスプラットフォームな汎用ウィジェットツールキットはGtkくらいしかないのか。
何か重そうなのと、「ダサい」って言う人が多いからあんまり手を出したくないというか…
贅沢言える身分じゃないけどさ。
ウィンドウズだけで良いならDFLが安定そうだけど。
890デフォルトの名無しさん:2015/01/06(火) 10:28:45.52 ID:O9PzdG7T
http://www.dprogramming.com/news.php

DFL公式が更新終了を宣言してた
ライセンスが boost/zlib のデュアルになった
これでLGPL対策を頭から追い払えるぜ
891デフォルトの名無しさん:2015/01/06(火) 19:24:59.92 ID:Xd5yA7ML
>>888
DlangUIっていうのサンプル実行してみたらそこそこ使えそうだった
独自UIが変なのと日本語入力が変なことを除けば

ネイティブで単独の実行ファイルを作れるdwtがいいんだけどコードがJavaっぽくなるのが…
クロスプラットフォームにこだわらずに画像がらみで複雑なことしないならDFLいいよね
892デフォルトの名無しさん:2015/01/06(火) 20:58:12.56 ID:/D7e3Rkb
https://github.com/Jebbs/DSFML

DSFML も追加希望
893デフォルトの名無しさん:2015/01/06(火) 22:17:45.51 ID:C6At9U+x
GTKというか、Windows版GTKが色々と駄目なんだよね
Qtの方がWindowsサポートは上だろうけど、QtDはもう……
894デフォルトの名無しさん:2015/01/06(火) 23:01:27.54 ID:de5sdNgX
DFL2ができたからか?
895デフォルトの名無しさん:2015/01/07(水) 09:00:55.87 ID:7s8hjn62
GTK は糞
896デフォルトの名無しさん:2015/01/07(水) 20:54:40.58 ID:K6KDApYA
おっと、GNOME3の悪口はそこまでだ
897デフォルトの名無しさん:2015/01/07(水) 21:19:55.27 ID:3KPP84AY
どっからGNOMEが出てきた
898デフォルトの名無しさん:2015/01/08(木) 23:30:38.26 ID:CAYtVTdS
もしかして1つのプロジェクトの中で、std.datetimeとundead.dateの両方を使うとバグる?
getUTCtime()が返す時間の単位が変わった気がする。
899デフォルトの名無しさん:2015/01/10(土) 11:18:29.24 ID:S3uDQjuh
前に https://issues.dlang.org/show_bug.cgi?id=9094 を見て納得しかかったけど
やっぱりGCで100MBのメモリを一度確保したら永遠に解放してくれないのはおかしい…
Druntimeのgc.dの動作追ってみたらスコープ出た後でも使用済みとマークされてて解放してくれないみたいだし
いつの間にかdeleteしても残るようになってるしなんだこれ

void main() {
foreach (i; 0..1000) new byte[100_000_000]; // 32bitでコンパイルして実行すると10回目くらいで死ぬ
}
900デフォルトの名無しさん:2015/01/10(土) 11:52:13.46 ID:klJyx1eJ
GNU/Linux環境で-m32付けてコンパイルしてみたら正しく解放された
たぶんWalterの説明にあるような32bit環境での問題は関係なくて、OS依存のバグを踏んだんじゃないか
901デフォルトの名無しさん:2015/01/10(土) 12:37:54.38 ID:6YXtk3Rd
Win32 で試してみたら 2.066で目に見えて挙動が変わってるな

それまではGCが動く時と動かない時で同じバイナリでも大幅なブレがあるのに対し
2.066 では安定して同じ回数でコケる

これならそのうち改善されるだろうw
902デフォルトの名無しさん:2015/01/10(土) 12:42:38.47 ID:S3uDQjuh
>>900
試行ありがとうございます

win7 64bit(8GB)か8.1(64bit)+dmd 2.066(32bit)では上のコードでだめだった
linux mint 17.1(64bit)の仮想マシンが手もとにあったからdmd -m32で試してみたらOKだった
new byte[500_000_000];にしてみたら落ちた
…うーん?
903デフォルトの名無しさん:2015/01/10(土) 23:54:52.17 ID:klJyx1eJ
new byte[500_000_000]にすると落ちたり落ちなかったりだなー
同じバイナリでも、調子が良いとOutOfMemoryErrorが出なかったり、逆に5~8回目ぐらいで落ちる感じ @Linux
ちょっと前まで32bitにしかコンパイルできなかった言語が、32bitと相性悪いとは……
904デフォルトの名無しさん:2015/01/11(日) 21:44:38.51 ID:TsxN2i/R
>>898は気のせいだった
905デフォルトの名無しさん:2015/01/11(日) 22:54:45.64 ID:qO9OuJUA
よかった、時刻が変になるライブラリはいなかったんだ
906デフォルトの名無しさん:2015/01/12(月) 15:56:19.43 ID:hpX4ehNn
誰かDconf観戦してきてくれよ
907デフォルトの名無しさん:2015/01/14(水) 16:52:20.03 ID:wDmkhWYw
あとで動画見れば十分よ
908デフォルトの名無しさん:2015/01/14(水) 17:02:29.68 ID:e8FR0R07
その場にいないと解らない雰囲気とかそういう風なアレがあったりするんじゃないですかね?(適当)
909デフォルトの名無しさん:2015/01/14(水) 18:31:09.24 ID:f23lccTH
そういう風なアレは誰かが観戦してきてくれて観戦記書いてくれても伝わらなくね?
910デフォルトの名無しさん:2015/01/14(水) 19:30:27.52 ID:WxHa0R72
つまりすごく興奮した感じでレポート書けばいいんですね?
911デフォルトの名無しさん:2015/01/17(土) 01:35:01.25 ID:Xmm3aGON
912デフォルトの名無しさん:2015/01/17(土) 09:17:04.41 ID:5tFTyduT
opApplyを持った構造体をRangeとして扱えないんです?
913デフォルトの名無しさん:2015/01/17(土) 10:16:10.01 ID:Ulg8l+y5
>>912
ジェネレータをレンジに変換するライブラリがあるので、opApplyを持った構造体をforeachで回してyieldするラッパを書くとか
https://github.com/abscissa/libInputVisitor

ちなみに、2.067ではstd.concurrencyにもGeneratorが追加される
https://github.com/D-Programming-Language/phobos/blob/9c26b67f4f27f9281182768338cbb1ece04a2c18/std/concurrency.d#L1486
914デフォルトの名無しさん:2015/01/17(土) 10:25:14.73 ID:Ulg8l+y5
一行目との整合性を考えてなかった
s/Generator/レンジとして使えるGenerator/
915デフォルトの名無しさん:2015/01/17(土) 10:30:00.83 ID:8ToY3jo0
>>911
Python と CoffeeScript すげー
916デフォルトの名無しさん:2015/01/17(土) 11:49:35.76 ID:Ulg8l+y5
速度を気にしなければワンライナーなんだがなぁ
917デフォルトの名無しさん:2015/01/17(土) 11:53:19.04 ID:Ulg8l+y5
>>916は誤爆、スレ汚しすいません
918デフォルトの名無しさん:2015/01/17(土) 12:19:41.39 ID:BCWbGihO
>>911でbashのプログラム見たばっかりだったから気がつかなかった
919デフォルトの名無しさん:2015/01/17(土) 14:54:31.14 ID:sqhqU9t5
>>916-917
絶妙な誤爆だなぁ
920デフォルトの名無しさん:2015/01/17(土) 15:45:56.38 ID:5tFTyduT
>>913
ワンライナーで使いたいんだよなぁ
921デフォルトの名無しさん:2015/01/17(土) 20:02:44.85 ID:Py5o0US/
わ、ワンライナーじゃないか
new Generator!int({foreach(i;structWithOpApply)yield(i);}).map!(a => a*a)
922デフォルトの名無しさん:2015/01/17(土) 20:25:03.12 ID:nUtuC6u5
改行しなければどれだけ長くてもワンライナーと言い張ってOK?
923デフォルトの名無しさん:2015/01/17(土) 20:45:50.61 ID:Xmm3aGON
セミコロンが入るとワンライナーって言い難いんじゃないか、とは思う

しかしそもそもシステムレベルの言語でワンライナーを望むのが間違いなんだ
924デフォルトの名無しさん:2015/01/17(土) 21:47:31.22 ID:Py5o0US/
標準ライブラリに変な機能がどれだけあるかの勝負という気もする
925デフォルトの名無しさん:2015/01/18(日) 00:47:38.08 ID:UYqUpdrp
new Generator!int(() => structWithOpApply.each!yield).map!(a => a*a)

こないだ入ったstd.algorithm.eachがforeachの代わりになるぜ
926デフォルトの名無しさん:2015/01/18(日) 00:51:55.29 ID:XbvB+S8r
最近新しく言語に入った機能を広めてくれる伝道師がいなくて寂しい
927デフォルトの名無しさん:2015/01/18(日) 01:02:33.75 ID:sSnZb6HT
そーいや inout const って何が違うんだ?
928デフォルトの名無しさん:2015/01/18(日) 01:22:04.90 ID:4ogC3TzN
>>925
ラムダ先輩!
929デフォルトの名無しさん:2015/01/18(日) 01:34:24.94 ID:j77osIAD
素晴らしい、まるでLL言語のようだ
でもstd.algorithmってちょっとばかし肥大化しすぎじゃ無いですかね…?


あとsortとかmapとかで、副作用無しのコピーしてから処理して返す奴とか欲しいな…
930デフォルトの名無しさん
渡す前にコピーすればいいんじゃ?