1read 100read
2013年17プログラム99: D言語 Part32 (112) TOP カテ一覧 スレ一覧 2ch元 削除依頼
SDL=Simple DirectMedia Layerでゲームだ (546)
[JavaScript] スクリプト言語34 [Perl,Python,PHP] (765)
OpenMPプログラミング (393)
【最速へ】LowLevelVirtualMachine【LLVM】 (608)
Rubyについて Part48 (890)
DarkBASIC (810)

D言語 Part32


1 :2013/07/17 〜 最終レス :2013/09/23
プログラミング言語 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言語 Part31
http://toro.2ch.net/test/read.cgi/tech/1358739594/
■過去スレ、関連スレ
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などのポーティング)
■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

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

4 :
>>1


5 :
GUIの話題はタブー

6 :
ソース貼付サイト http://dpaste.dzfl.pl/
新Wiki http://wiki.dlang.org/
そろそろ次スレだな〜と思いつつ
テンプレの直しを忘れていたな

7 :
新スレ記念マジレスがテンプレ化しとる

8 :
>>7
スレ30まで遡って検索してしまったではないか。
420 : デフォルトの名無しさん2012/10/05(金) 14:11:12.33 ID:420
一時は期待したときもあるけど
Dでやりたい場所が無くなったな
大体Pythonで済んでしまうし
速度必要ならC/C++でやってしまう
Dはスタートダッシュが失敗でコケた感じ

9 :
消費メモリがどんどん増えてくのでここ一ヶ月でかい配列作ってる所を片っ端から洗い出して
deleteするためにスマートポインタ作ってライブラリの中まで手を突っ込んでるんだけど
なんだこれ?
違うんじゃあないか?
本当はGCさんがちゃんと働いてるべきなんじゃあないのか?

10 :
      /       G ・    ヽ
     /  : な ・   C ・    |
     |   : い ・  さ ・     |
     {   : か ・  ん ・     |
      ゙i    :   じ ・     }
      `ヽ   :   ゃ ・    /
   ,-='"´ヾ\ :   あ ・  /
   ⌒T^ヽヾミリr‐-、,_  ,-='⌒\
  ヾ、 ! iミ、ヽ、゙" /ノノ_/|// _ノ´ノヽ
  ヘ,=、,,_ヽ、   ^ト、,_二=、,, /‐|
  "^___,,,ノ`     `ヾ-=、ノ 彡  ,ィ
   (彡‐'´      ,、==、、  } -彡'
     ,、r==、     !"r‐、ヽ  `i",ィ'
  ゝ  ソ r' 。i      ヽ゚,シ   }_シ
  {   、`ーノ /⌒ヽ  ̄    レ⌒ヽ
  ノ    ̄      _,,ィァ   //^} }
 ヽ、    ト─=ニニ‐ノ    iヽ / ノ
  、{、i,    ``'ー─‐‐'´,    i-‐'/
 、`ー-i,    `ー‐      /ー'´
  `'ー‐'ヘ          /
    r'~`!`'、,ー、,,___,/-/-v'⌒ヽ,r-、
 -‐'^, -'ヽ  `'=---┬''~´/‐-リ r==、|
  '´    \ □] i| □ノ  /ヽ,ー‐' |
        ゙──┴‐'~ /   `ーイヽ

11 :
v8 もそうだな

12 :
動的配列とか連想配列使うとアプリ終了時にメモリエラー出る言語さんチーッス

13 :
プログラミング言語D (TDPL: The D Programming Language)
Andrei Alexandrescu
http://www.amazon.co.jp/dp/4798131105

14 :
IDEって使用感どんな?
Mono-D > Visual D > DDT
かな?
Mono-Dって浸かったことないんだけどVisual Dよりはデバッグ中の変数の中身表示とかまともなのかな?
知ってる人教えて

15 :
Mono-Dは以前に軽く試したことがあるけども
なんか色々バグるからそのへんがまともに試せた記憶がない・・・

16 :
constなメンバ関数の中でtypeof(this)すると型にconstが付いてしまうんですが、
constなしのthisの型を得るにはどうすればいいでしょうか

17 :
std.traits.Unqual

18 :
traitsといえばC++には無いエンクロージングの仕組みを使って面白いことできないのかな

19 :
>>17
ありがとん

20 :
freebsd の鯖に CGI を乗せて遊んでみようと思ったんだが
もしかして freebsd用のクロスコンパイルしないといけないんじゃないかと思ったんだが
ひょっとして世の中には windows->freebsdのクロスコンパイラを
作成してくれる奇特な人がいるかも知れんと思ったんだが
実際の所どうなの?

21 :
freebsd の鯖でコンパイルできない理由は?

22 :
そうか、なるほど、鯖でコンパイルすればいいのか!!

…ということはシェルをつかわせてくれない問題を何とかせねば

23 :
じゃあ鯖と同じ環境作ってコンパイルすればいいんじゃないですかね

24 :
DVM最強説

25 :
telnet出来る鯖レンタルすればいいです
年3000円くらいで借りられます

26 :
mixin使ってると、perlみたいに文字列に簡単に変数埋め込めたらいいなって思うこと多いよね

27 :
(´・ω・`)?

28 :
formatかなんか使えば?

29 :
structのメンバ関数の中で自分のポインタを得るにはどうすればいいでしょう
thisを取ればいいと思ったのですが、
struct S{
}
の場合、thisの型がS*ではなく、S型になってしまいます。

30 :
S型からS*型を得る方法を使う

31 :
&this

32 :
愛ねーな

33 :
http://www.dsource.org/生きてる?

34 :
> could not write to file "pg_subtrans/BE1B" at offset 24576:
> No space left on device

35 :
Oh...

Oh...

36 :
dmdの最新版で使えるgdbってどのバージョンですか?

37 :
-inlineと-Oつけたらコンパイルが永遠に終わらなくなって
また-inlineバグってるのかーと思ったら-Oの方だった
これだからD言語はやめられない

38 :
今年の夏休みもDで作ったプログラムがなぜか落ちる現象の調査でなくなる感じになってきた

39 :
デバッガ
ログ出力
最小コードの切り出し
好きな手法を選び給え
わりと役に立つのが
scope (failure) writeln(__FILE__,__LINE__);

40 :
>scope (failure) writeln(__FILE__,__LINE__);
なんと
この発想はなかった

41 :
すべての関数にそれ入れて自力でstack trace出そうとしたことがある
だって-gでリンクしたらエラー出るんだもんよ…

42 :
これってどんなときに起こるんですか?
普通に考えれば中途半端なアドレスにメモリアクセスしたときだろうけど
同じ起こるときと起こらないときがあるんだよなあ
sample.exe の 0x77ddfaca でハンドルされていない例外が発生しました: 0x80000002: Datatype misalignment

43 :
いい加減な cast か

44 :
アラインメント絡みの例外らしいから起こるときは確実に起こりそうなもんなんだけどな
でもたまに起こるならやっぱりメモリアクセス違反なのか
よし、ちょっとdruntimeの中を調査するがよい

45 :
すべての関数に @safe をつけまくるがよいよいよい

46 :
なぜか変換(コンパイル)できない
import std.stdio;
template F(string s = __FILE__){
const char[] F = "writeln(" ~ s ~ ")";
}
void main(){
mixin(str);
}

47 :
ちょっと間違い多すぎでまじめにやってるとは思えないですね・・

48 :
長い間悩んでたバグの原因がこれか
こんなのってないよ…
[最小コード]
import std.stdio;
void main(){
 File[string] tx;
 tx["filename"] = File();
}
[実行結果]
object.Error: Access Violation
----------------
0x004086D7 in void std.stdio.File.detach()
0x0040B2C0 in extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).void runMain()
0x0040B2FB in extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).void runAll()
0x0040AEF9 in _d_run_main
0x0040849C in main
0x76DB33AA in BaseThreadInitThunk
0x77949EF2 in RtlInitializeExceptionChain
0x77949EC5 in RtlInitializeExceptionChain
----------------
連想配列を絡めるとopAssign, postblitが破綻するような感じでした
このせいで参照カウンタを持った構造体を連想配列に突っ込むことが出来ないんですが、
どう回避すればいいんでしょう…

49 :
opAssignで連想配列の値への代入がアレになる問題は数年前にぶつかった記憶がある
まだ直ってなかったんだ

50 :
対症療法としてはラッパをかぶせるとか?
import std.stdio;
class FWrapper {
File file;
this (File file) {this.file = file;}
}
void main() {
FWrapper[string] tx;
tx["filename"] = new FWrapper(File());
}
なんかFWrapperが構造体だとまた変になる…

51 :
自己レスですが、>>48については何とか回避できました。
見た目がひどいですが…
File t = File();
File[string] tx;
tx[""] = File.init;
swap(tx[""], t);

52 :
ダメでしたー
もうちょっと色々試してみます…
import std.algorithm;
import std.stdio;
void f(){
 File t = File();
 File[string] tx;
 tx[""] = File.init;
 swap(tx[""], t);
}
void main(){
 f();
}

53 :
インタプリタ型のD言語とかどっかにないですか?

54 :
dmd -run

55 :
rdmd

56 :
Dabble: A small repl for the D programming language
ttps://github.com/callumenator/dabble

57 :
>>56 はWindowsしか動かない奴だったと思う

58 :
emacs の flymake って使ってる人いる?
自分が使うんじゃないけど普及度とか評判を知りたい

59 :
安定した?

60 :
と思うじゃん?

61 :
いや

62 :
今寝ぼけてこんなことしたから報告するね
ref S opAssign(S rhs){
 this = rhs;
}

63 :
SListの要素をindex指定で取得するにはどうすれば出来ますか?

64 :
import std.range;
auto v = slist.drop(index).front;

65 :
第一引数省略と()省略できるのスゴイね、楽しすぎる

66 :
デストラクタで使っちゃいけない標準ライブラリ関数が結構あるんですね

67 :
Dのデストラクタはその道のプロにしか使いこなせないらしい・・・

68 :
デストラクタで使ってはいけない関数属性とかないの

69 :
なにそのD言語のデストラクタで1.5人年くらい溶かした俺が喉から手を出すアトリビュート
でも自分で書く関数にはめんどくさくて付けたくないな・・・

70 :
逆に考えて、使っていい属性とか

71 :
いつの間にかdelete文がなくなってるのはなんなのよ

72 :
なんかdestroy(T)になってましたよそれ

73 :
 
                  ∧_∧
                ( ´∀`)   あげ?
..\             (/u  ノ
  \           〈/フ'フ
    \         ∠∠/
     \
\     \    彡
 .\     .\
   .\_/| ̄ ̄ ̄ ̄ ̄|
        . |       .|

74 :
std.datetimeが出てから日本語訳のサイト完全に止まったよな

75 :
サイトを D で作る

D がバージョンアップ

サイト停止

76 :
GitHubでソース公開されるという大きな進展はあったのだが

77 :
ソースごとにコンパイラのバージョン埋め込むのを言語仕様にしてほしいわw

78 :
windows64bitで-m64オプション使うとreal型をstd.stdio.writeできないバグは
近い将来直りますか。

79 :
http://d.puremagic.com/issues/show_bug.cgi?id=10691
http://d.puremagic.com/issues/show_bug.cgi?id=10145
それっぽいバグ報告はあるけど反応なし ナニコレ

80 :
>>71
statement じゃないし deprecated に切り替わってもいない
http://www.kmonos.net/alang/d/expression.html#DeleteExpression
http://dlang.org/deprecate.html#delete

81 :
>>48
http://d.puremagic.com/issues/show_bug.cgi?id=6178
https://github.com/D-Programming-Language/dmd/pull/2539

82 :
>>81
gj!!!!

83 :
importするときに同一階層のパッケージを全て対象にしたいときの標準的なやりかたって指針あります?
javaみたいに*が使えないので知ってるだけでも、
import xxx.index; // index.html的な
import xxx.d; // D言語の拡張子的な
import xxx._; // scala的な
import xxx.all; // 明示的な

84 :
補足
それぞれindex.d, d.d, _.d, all.d内で
同一階層の*.dをpublic importします

85 :
import xxx;

86 :
package.dは次期バージョンだっけ?
もう実装されてる?

87 :
git head には入ってる
>>83
次のリリースで フォルダの下にpackage.d というのがあればそれを読み込むようになる
そこに public import文を羅列すればいい

88 :
import xlib; // xlibモジュール がない場合は xlib/package.d を読み込む
本来の意図はデカいモジュールを裏でこっそりと分割するための仕掛けらしい

89 :
D-GC
ディーマイナスジーシー

90 :
package.dを使えばあの膨大な行数を誇るstd.algorithmを分割できるってことか

91 :
また互換無しバージョンが増えるのか

92 :
げ、monodevelop最新版にしたらMono-D対応してないのか、ミスった

93 :
アップデートをalphaチャンネルに変えて対応版Mono-D出てこないか?

94 :
前から気になってたんだけど、dcharのdの意味って何ですの?

95 :
doubleじゃね?

96 :
DWORDじゃね

97 :
(D)char

98 :
>>95 >>96
なるほど
wcharはwide charだと思い込んでいたから

99 :
だぶりゅーちゃー
だぶるちゃー
ややこしや

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
★初心者以前の質問に雪崩のように答えるスレ★ (909)
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part16 (535)
【Alloy】形式言語による仕様記述【VDM】 (148)
関数呼出しはgoto文である (192)
懐かしきベーマガの面白かった投稿プログラムを語る (785)
HSP総合スレ【part 5】 (392)
--log9.info------------------
ジークンドー3 (422)
拳武会VS猫だVS赤国 (763)
●●● 新会館建設募金詐欺のカス極珍 (434)
【他流を排せずして】新陰流総合【他流を認めず】 (236)
★全日本極真連合会★弐段 (164)
【極真会館】城北支部はどうよ?六段 (448)
【男子・高校柔道】限定スレ 其の2 (249)
【燃えよ】ヌンチャク・スレ5【ドラゴン】 (644)
【キョルギ】WTFテコンドー総合太極6章【プムセ】 (938)
ITFテコンドー情報掲示板 (227)
UFCで証明した格闘技、証明してない格闘技 (158)
【実戦の極真】 どっちが強い 【演舞の少林寺】 (259)
北海道の高校柔道を熱く語るべさ (627)
極真3強 (101)
岩手県の柔道4 (614)
【JKA】最強の空手団体は日本空手協会である (539)
--log55.com------------------
【P2P】 PCゲーム総合スレ Vo627
【P2P】 PCゲーム総合スレ Vo626
PCゲームスレ 625
PCゲームスレ 624
【P2P】 PCゲーム総合スレ Vol.623
PCゲーム総合スレ Vol∞
【P2P】 PCゲーム総合スレ Vol.622
PCゲーム総合スレ Vol621