1read 100read
2013年03月プログラム34: D言語 Part31 (270) TOP カテ一覧 スレ一覧 2ch元 削除依頼
mallocの後にfree不要と言うバカいるの?Part2 (228)
C++は難しすぎ 難易度:4 (419)
Visual Studio 2010 Part20 (207)
[無料でラクラクJava帳票作成] JasperReports使い集合 (317)
【普通のやつらの】 Arc Language 0 【上を行け】 (258)
訃報: C 言語の開発者、デニス・リッチー氏が死去 (576)

D言語 Part31


1 :2013/01/21 〜 最終レス :2013/03/11
プログラミング言語 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言語 Part30
http://toro.2ch.net/test/read.cgi/tech/1343660743/
■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000

2 :
■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などのポーティング)
■D言語で作られたゲーム
http://www.nicovideo.jp/mylist/4453698 - D言語で作られた芝ゲー niconico動画
http://www.asahi-net.or.jp/~cs8k-cyu/ - ABA Games

3 :
新スレ記念にマジレスすると
Qt とか Python とか知ってしまうと
D いらないんだよね

4 :
dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)
403

5 :
ひょっとしたら復活するかもしれないので一応そのままにしておいた
が、そろそろ一ヶ月たつから見込みは低い
避難所がほしいな

6 :
dmd.exe -c -inline -O -release -w -version=Unicode -version=Windows7 -version=WondersBuild -ofwonders\gdiplus.obj wonders\gdiplus.d
wonders\gdiplus.d(1147): Warning: min property is deprecated, use min_normal instead
wonders\gdiplus.d(6005): Error: class wonders.gdiplus.CachedBitmap identity assignment operator overload is illegal

7 :
core.sys.windows.windows 定義の数値型は64bitに対応できてないね
もうバグ報告されてるかもしれないけど
英語書けないので誰かよろしく…

8 :
LONG_PTRとかは対応してるけど
WPARAMとかLPARAMとかLRESULTがuintとかint決め打ちなのが原因みたい

9 :
やっぱりC/C++のintとかlongのサイズの型の定義モジュールがいるんだって

10 :
cintとかcfloatとかcdouble…
あれ?

11 :
まずcintを定義するために条件分岐が必要で、
次にDWORDみたいなのをcintを使って定義するために条件分岐が必要で…

12 :
別名定義と条件コンパイルで何とかしてくれという方針では

13 :
version(Win64) { }

14 :
(size_tじゃ)いかんのか?

15 :
com関連と64bitが整備されれば
Windows用のGUIアプリケーション作るときに視野に入ってくるんだけどな
手が届きそうなのに届かないw

16 :
関数の引数に構造体の代わりに alias thisした型を入れたら暗黙的に型変換してくれないかなぁ・・・
opAssignでいけるかと思ったらそんなことなかった

17 :
いや無理だろ
alias this以外にもメンバあったら死ぬじゃん

18 :
bgzlrks

19 :
なげーよ

20 :
>>18
ロシア大使館に言えよ

21 :
友の会 http://dusers.dip.jp
ソース貼付サイト(2.061)http://dpaste.dzfl.pl/
年末につながらなくなっていたが両方とも復活した

22 :
ありがとうございます!

23 :
DDTは最新のeclipseに対応していないんだ

24 :
DDTステロ!

25 :
DMDscriptってコンパイル通し作業行われてないんですか?

26 :
ウォルター様は通し作業は有志が動作確認できるようにとわざわざチェックしないでリリースして下さります

27 :
ラムダ式の時だけじゃなくてもうすべての場所でreturn省略できたらいいのに

28 :
関数型言語とかはそうだな
でもあれ手続き型言語でやるとバグの温床だからな

29 :
ハゲの温床に見えた俺
そろそろ寝るか

30 :
return を廃止してその代わりに
関数の頭に fn みたいなキーワードを必須にするのなら
賛成してやってもいい

31 :
なにそのjavascriptの派生言語みたいなそれ やめろよ

32 :
それ何てrust

33 :
一文なら、という条件付きならいいんじゃね

34 :
>>28
詳しく知りたい
なんかまずいの?

35 :
return忘れても
別の値が返ってとりあえず動いてしまうとか

36 :
狙ってなくても戻り値を返してしまうからな
特に関数定義の頭で戻り値の型を明示しなくて良い場合(動的型や型推論付き)は
さらにややこしくなる、まあ組めなくはないけどね

37 :
そんなこと言ってたらOCamlとかバグの塊でとてもじゃないけど使えないみたいな状況になってるはずなんだけど

38 :
ウォルターの人生そのものであるD言語を
そう簡単に仕様変更するわけがないだろ!!

39 :
OCaml は型チェックが厳しいから。

40 :
少なくとも表向きは型のチェックなんてないように思うが
それでも型チェックがうるさいと判断するのかね?

41 :
OCamlは整数の加算と小数の加算で演算子が変わるほど厳しいじゃん・・・

42 :
関数が常に一文なら問題ないんじゃね
必ず戻り値を何か書かないといけないわけで

43 :
関数定義をラムダ式を代入でもいけるようにしてほしいわ・・・

44 :
enum func = (int a)=>a;

45 :
enum f = (int n){ return n+1; }; // 旧
enum f = (int n) => n+1; // lambda
戻り値型の省略なんてしなくていいからreturn省略したい
enum f = int(int n){ n+1; };
これでいいじゃない・・

46 :
それならセミコロンがないほうがいいな
最後の文にセミコロンが無い時に限りreturnの代わりになる、でどうだ
enum f = int(int n){ n+1 };

47 :
ラムダ式だけは何か趣味機能な気がする
これあると便利な事ってどういう分野なんだ

48 :
ラムダ式便利すぎるだろう
むしろ使わない方がおかしい

49 :
サッパリ想像できない
具体例がほしい

50 :
レンジとかアルゴリズム使わない人にはわからないかもね

51 :
普通のdelegateリテラルで十分な気がするんだけど

52 :
=>の糖衣構文はアルゴリズムに渡す時に素敵すぎるね

53 :
記述が短くなるというのは想像以上にいい
これは実際に使う場面に行き当たらないと実感するの無理かも

54 :
あれだ
推論可能な場面でいちいちautoでもvarでもなく
型名を書かなきゃいけないJavaとかに絶望するのといっしょの感覚かも

55 :
どうせ引数の型あんまり省略できないし、delegateとはreturnの有無の差くらいしか無いと思うんだけどなあ・・

56 :
便利かどうかなんて主観でしかないんだから互いに「お前がそう思うんならそうなんだろうお前ん中ではな」で終わる話

57 :
平行線だったのは結果論だけどなー。
その主観が交わる可能性があった以上、コピペでまとめちゃうのはいくないっすよ

58 :
( {...} ) <- こういうのがイヤ

59 :
俺は好き

60 :
>>58
ブレース消えるのいいよね

61 :
我・乱無駄の名において命ず・消え去れ無礼衆!

62 :
// delegateが無い場合
hoge(new class Func : IFunc { void func(Parameter p1, Parameter p2) {return p1 == ps;} });
hoge(new class Func : IFunc { void func(Parameter p1, Parameter p2) {return p1 != ps;} });
hoge(new class Func : IFunc { void func(Parameter p1, Parameter p2) {return p1 < ps;} });
// delegateが使える場合
hoge((Parameter p1, Parameter p2) {return p1 == ps;});
hoge((Parameter p1, Parameter p2) {return p1 != ps;});
hoge((Parameter p1, Parameter p2) {return p1 < ps;});
// ラムダ式が使える場合
hoge((p1, p2) => p1 == ps);
hoge((p1, p2) => p1 != ps);
hoge((p1, p2) => p1 < ps);
>>55
俺は大差があると思う

63 :
ヒント:ラムダで引数の型が省略できる場合には関数リテラルでも同じ書き方ができる

64 :
http://dlang.org/deprecate.html
今までdeprecated で生き延びていた機能の多くが
2.061で抹殺されていることに気づいた

65 :
結局のところdelegateあるならラムダいらないんじゃね?と言う話
別にあって都合が悪いこともないから消せ!とは言わんけどw

66 :
ラムダは構文糖だからいらないと言われても困る
autoが消滅して型名を書けと言われたりscope(exit)が消滅してtry-finallyを書けと言われたりしたら俺はDを投げる

67 :
ラムダ要らない派とか今まで一人も出てきてないと思うけど

68 :
>>61
ダークフレイムマスター

69 :
complex型がいつ消えるかどきどきだわ・・・

70 :
消えたらC99の複素数関数をABI互換性を保って呼ぶ方法が無くなるのか?

71 :
std.complexじゃダメなの?

72 :
C99のcomplexはFPUだかSSEだかのレジスタ渡しだろ?
ライブラリ定義はstructに詰めた状態だからスタック渡しになってしまわね?

73 :
ライブラリ内でアセンブラで書いてあれば別にいいんじゃないの
あるいは何らかの最適化に通るのでもいいわけで
ABI互換性は困りそうだが

74 :
D言語って、
int[100] a, b;
a[] += b[];
で勝手にSIMD演算とかいうのやってくれるんですか?

75 :
>>74
http://www.kmonos.net/alang/d/simd.html
頑張ってくれる可能性はあるけどわりと限界もある、みたいな感じ

76 :
ターゲット環境を明示してなければ勝手にそういうコードを吐くわけ無い
環境を特定するなら素直に core.simdで定義されている配列もどきを使うべし

77 :
classのコンストラクタで定義した変数をメンバーにしちゃえる的な機能がほしいなぁ
多分害悪の元なんだろうけど
class hoge
{
this()
{
int a = 0 as public;
}
}
見たいにしたらhoge.aが使えるみたいなね!
thisが一個のとき限定でいいからさぁ・・・

78 :
>>77
どんな意図の機能?
頑張れば既存の機能でやりたいことが解決できるかも

79 :
黒魔術ツールopDispatchがあるからなあ
ただコンストラクタで書くならメンバでいいだろという気がするが

80 :
現在のスコープから参照できるすべてのシンボルを列挙する__traitsが欲しい
あとそのシンボルが変数なのかモジュールなのかクラスなのか構造体なのか判別するのもついでに欲しい

81 :
C++の特殊化でなら省力のために欲しいかな
mixin無ぇーし

82 :
顧客が本当に必要だったもの:賢いIDE

83 :
IDEとか重いだけだよ!

84 :
DDTがeclipse4.2に入らないのが痛い

85 :
軽いIDEには需要があるのか

86 :
Sublime Textがそんな感じじゃない?
プロジェクト機能あるしD対応してるし

87 :
言語仕様の追加まで対応出来る賢いIDEをだな

88 :
IDEの触手の一端がウォルたんの脳みそに取り付いているだと…!?

89 :
IDE(CUI)

90 :
Integrated Drive Electronics
Integrated Development Environment
エンビロンメント?

91 :
>>90
エンヴァイロンメント。
電子辞書を買いましょうね。

92 :
マクロまだー?

93 :
カタカナ表記につっかかるのはナンセンスだと思うけど

94 :
カタカナ表記としてもエンヴァイロンメント、エンバイロンメント以外に存在しない

95 :
ディーゲンゴも大五郎も大して変わらんしな

96 :
インバイロンメントさんが泣いてる

97 :
わーにんぐ・わーにんぐ

98 :
エンベロープメント
モーリメメント
ヤックデカルチュアメント

99 :
DPasteのコンパイラが止まってるじゃないかクソッタレー!

import std.stdio;
void main() {
// ポインタの配列
int i = 42;
int*[1] src = [&i];
// スライスの代入
int*[1] dest = src[];
// srcとdestの内容が違う! (2.061以降)
writeln(src, " == ", dest);
}
これが2.061の破壊的変更だったら欣喜雀躍するんだが…

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
【コボル】COBOL不要論【ただのDSLだよね?】 (350)
pythonがこの先生きのこるには (747)
C++相談室 part99 (427)
C++でXML(主にxerces)やろう! (675)
C++でXML(主にxerces)やろう! (675)
COBOL vs Java 2戦目 (956)
--log9.info------------------
【自家製】MythTV Part.3【HDDビデオ】 (684)
コマンドのみで語り合う漢のスレ (569)
sidux - Debian Sid 安定化プロジェクト (786)
/**軽くて多機能--Xfceスレ**/ その3 (351)
Linuxで動くオープンソースエロゲを作ろう!4 (470)
▼2chでディストリビューションを作ろう!Part3 (581)
【GBA】Linuxから目覚めるぼくらのゲームボーイ! (234)
タイル型WM (Ion, wmii, awesome, xmonad, etc.) (807)
FirefoxとGeckoファミリー Part7 (286)
日医標準レセプトソフト ORCAスレ Part7 (625)
subversion バージョン管理【サブバージョン】 (249)
エンコードソフト ffmpeg のスレ (573)
LINUXを搭載したSPARCマシンは欲しい? (250)
【PCルータ】 Vyatta (231)
Linuxメーリングリスト スレッド 20 (464)
論文作成ツール等に関する質問スレッド (622)
--log55.com------------------
昭和電機の柏木社長って問題多くね?
2020バサーオールスタークラシック Part4
【中華製】長文を語るスレ21病棟【人間Piscifun】
ヒルクライムのトレーニング83峠
【世界と走れ】Zwiftスレ52【トレーニングアプリ】
【左岸】 淀川サイクリングロード その59 【右岸】
ローラー台【固定3本パワマetc】part81
反社会的勢力が立てたスレ(自転車板)