プログラミング言語 D (D Programming Language) について語るスレッドです。
■本家
http://dlang.org/ - 公式(英語)
http://www.kmonos.net/alang/d/ - 公式の和訳 (やや古いので注意)
https://issues.dlang.org/ - D言語バグ報告
https://github.com/D-Programming-Language - D言語開発リポジトリ
■Wiki
http://wiki.dlang.org/ - 公式Wiki
http://dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)
■プログラミング言語D (TDPL: The D Programming Language)
Andrei Alexandrescu 日本語版
http://www.shoeisha.co.jp/book/detail/9784798131108
ソース貼付サイト http://dpaste.dzfl.pl/
<$><$> https://www.bountysource.com/trackers/383571-d-programming-language
■前スレ
D言語 Part33
http://toro.2ch.net/test/read.cgi/tech/1396145538/
■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000
探検
D言語 Part34©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2015/01/25(日) 12:07:29.52ID:gAd5OZDm
567デフォルトの名無しさん
2016/05/27(金) 23:33:42.41ID:XThKS0xC568デフォルトの名無しさん
2016/05/27(金) 23:53:06.16ID:0lBzfo5D >>567
ここD言語のスレやで
ここD言語のスレやで
569デフォルトの名無しさん
2016/05/28(土) 11:08:25.75ID:YkPoIoOS 現象がdmc限定っぽかったのでここで質問しました
実際のコードはメソッドにいくつかパラメータ(可変長)があって
a->b(a);
のケース以外に
a->b(a, c, d, e);
でも呼ぶケースがあるので
#define M(x, y, ...) x->y(x, ## __VA_ARGS__)
みたいに定義して
M(a, b);
するとエラーになります
条件後出しで済みませんでした
実際のコードはメソッドにいくつかパラメータ(可変長)があって
a->b(a);
のケース以外に
a->b(a, c, d, e);
でも呼ぶケースがあるので
#define M(x, y, ...) x->y(x, ## __VA_ARGS__)
みたいに定義して
M(a, b);
するとエラーになります
条件後出しで済みませんでした
570デフォルトの名無しさん
2016/05/28(土) 12:41:24.79ID:2veKovfq >>569 その書き方はgccのコンパイラ拡張じゃまいか
https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html
ちなcl https://msdn.microsoft.com/en-us/library/ms177415.aspx
>>568 ごめ。
https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html
ちなcl https://msdn.microsoft.com/en-us/library/ms177415.aspx
>>568 ごめ。
571デフォルトの名無しさん
2016/05/28(土) 12:45:14.86ID:YkPoIoOS 「##」 を無くしてもエラーになるんです
#define M(x, y, ...) x->y(x, __VA_ARGS__)
M(a, b);
#define M(x, y, ...) x->y(x, __VA_ARGS__)
M(a, b);
572デフォルトの名無しさん
2016/05/28(土) 15:20:08.53ID:2veKovfq 可変個引数が0個の場合、C99的にはコンマが余っちゃうからそれぞれ独自拡張しますってリンク先に書いてあります。
dmcはもうあんまり使わないほうがいいかも
http://en.cppreference.com/w/cpp/compiler_support
時代はDだよね!?(スレチ回避)
dmcはもうあんまり使わないほうがいいかも
http://en.cppreference.com/w/cpp/compiler_support
時代はDだよね!?(スレチ回避)
573デフォルトの名無しさん
2016/05/28(土) 15:31:12.42ID:YkPoIoOS ありがとうございます!!
Dで書き直すことにします!!!
Dで書き直すことにします!!!
574デフォルトの名無しさん
2016/05/28(土) 22:37:06.78ID:/97ybqru mixin templateでopIndex(size_t I)を定義した後mixinなしでopIndex(size_t i, size_t j)を定義するとopIndex(size_t I)が無効になりますが、これは何が起こっているのでしょうか?
575デフォルトの名無しさん
2016/05/29(日) 02:18:09.41ID:KH4GuwqF >>574
http://dlang.org/spec/template-mixin.html#mixin_scope
If the name of a declaration in a mixin is the same as a declaration in the surrounding scope, the surrounding declaration overrides the mixin one:
っていう仕様
http://dlang.org/spec/template-mixin.html#mixin_scope
If the name of a declaration in a mixin is the same as a declaration in the surrounding scope, the surrounding declaration overrides the mixin one:
っていう仕様
576デフォルトの名無しさん
2016/05/29(日) 09:19:07.17ID:xui0wAEZ >>575
これって引数の型や数が違っててもオーバーライドするんですか……
これって引数の型や数が違っててもオーバーライドするんですか……
577デフォルトの名無しさん
2016/05/29(日) 18:01:34.33ID:TAOnosGl 575のリンク先の下のほうにあるけど、aliasでオーバーロードに含めることができます。
578デフォルトの名無しさん
2016/05/29(日) 19:40:16.20ID:Ai+IvVh7 オーバーロード集合はちゃんと使えないとハマることがあるのに
説明が不十分だと思う
説明が不十分だと思う
579デフォルトの名無しさん
2016/05/31(火) 22:06:56.78ID:RGgOwYh0 FreeStandingな環境向けのD2向けRTTIの実装って有ったりするです?
580デフォルトの名無しさん
2016/06/02(木) 12:17:10.24ID:kBgl6uD2 5月31日 5時10分
http://www3.nhk.or.jp/news/html/20160531/K10010540551_1605310509_1605310510_01_03.jpg
31日、火星が地球に最接近します。「スーパーマーズ」とも言われ、今回は最近10年間で最も近い距離となり、都市部でも肉眼で見ることができることから、身近な天体ショーとして気軽に楽しめそうです。
太陽系で地球の1つ外側の軌道を回る火星は、太陽の周りを687日かけて1周しながら、およそ2年2か月に1回、地球に接近しています。ただ、地球の軌道がほぼ円形なのに対して、火星の軌道がだ円になっていることから、火星と地球との距離は接近するたびに変わります。
国立天文台によりますと、火星は31日に地球に最接近し、今回はおよそ7500万キロまで近づいて、この10年間では最も近い距離になります。
火星の明るさは1等星のおよそ15倍の「マイナス2等星」くらいになるとみられ、地球から見える火星の見かけの大きさも、ことしの最も小さいときと比べて直径がおよそ3倍になります。
(続きや関連情報はリンク先でご覧ください)
引用元:NHKニュース http://www3.nhk.or.jp/news/html/20160531/k10010540551000.html
※関連板 http://wc2014.2ch.net/galileo/ 宇宙
http://www3.nhk.or.jp/news/html/20160531/K10010540551_1605310509_1605310510_01_03.jpg
31日、火星が地球に最接近します。「スーパーマーズ」とも言われ、今回は最近10年間で最も近い距離となり、都市部でも肉眼で見ることができることから、身近な天体ショーとして気軽に楽しめそうです。
太陽系で地球の1つ外側の軌道を回る火星は、太陽の周りを687日かけて1周しながら、およそ2年2か月に1回、地球に接近しています。ただ、地球の軌道がほぼ円形なのに対して、火星の軌道がだ円になっていることから、火星と地球との距離は接近するたびに変わります。
国立天文台によりますと、火星は31日に地球に最接近し、今回はおよそ7500万キロまで近づいて、この10年間では最も近い距離になります。
火星の明るさは1等星のおよそ15倍の「マイナス2等星」くらいになるとみられ、地球から見える火星の見かけの大きさも、ことしの最も小さいときと比べて直径がおよそ3倍になります。
(続きや関連情報はリンク先でご覧ください)
引用元:NHKニュース http://www3.nhk.or.jp/news/html/20160531/k10010540551000.html
※関連板 http://wc2014.2ch.net/galileo/ 宇宙
581デフォルトの名無しさん
2016/06/02(木) 12:25:16.50ID:kBgl6uD2582デフォルトの名無しさん
2016/06/02(木) 18:38:00.61ID:e6XwNe8R 配列が提供するインターフェイスを揃えたクラスを簡単に作るには何のインターフェイスを継承して何にalias thisすればいいのでしょうか?
583デフォルトの名無しさん
2016/06/03(金) 22:56:31.52ID:7NE5KVgC >>579 castじゃだめなん?
>>582 こうですか? https://dpaste.dzfl.pl/4f46d257323c
>>580-581 dmd と間違って smd と入れるとスーパーマーズD言語ちゃんが接近してくるジョークソフトを作ってくれるんですね↓
>>582 こうですか? https://dpaste.dzfl.pl/4f46d257323c
>>580-581 dmd と間違って smd と入れるとスーパーマーズD言語ちゃんが接近してくるジョークソフトを作ってくれるんですね↓
584デフォルトの名無しさん
2016/06/04(土) 18:51:35.81ID:DlnDvjYz 了解
585デフォルトの名無しさん
2016/06/04(土) 22:54:34.68ID:tpsKxr6y >>583
rangeのいずれかのインターフェイスを継承させてやりたいです……
複数種類のクラス(全て配列のインターフェイスを持っている)を引数として取れる関数を定義したいんです
voidポインタなんて久々に見ました
rangeのいずれかのインターフェイスを継承させてやりたいです……
複数種類のクラス(全て配列のインターフェイスを持っている)を引数として取れる関数を定義したいんです
voidポインタなんて久々に見ました
586デフォルトの名無しさん
2016/06/04(土) 22:57:19.79ID:/ZaYqJqz std.mathとstd.complexをimportしたらexpiが競合した……
まさか毎回どっちのを使うか指定しないといけないのか?
まさか毎回どっちのを使うか指定しないといけないのか?
587デフォルトの名無しさん
2016/06/05(日) 01:15:03.75ID:wuPWHoc6 選択importするとか
588デフォルトの名無しさん
2016/06/05(日) 11:27:16.05ID:NUUYuMig インターフェイスAとBがあって、関数fはインターフェイスAとBの両方を継承したクラスを引数に取る
こんな関数fの引数の記述方法はありますか?
こんな関数fの引数の記述方法はありますか?
589デフォルトの名無しさん
2016/06/06(月) 01:34:29.33ID:mLcW0ja8 >>585 range はダックタイプで、https://dpaste.dzfl.pl/6d9bc674089e
>>588 こんな感じではないだろうか https://dpaste.dzfl.pl/b3f7f2d0ebae
やっつけSMDつくったよー
https://github.com/garlic-flavor/smd
>>588 こんな感じではないだろうか https://dpaste.dzfl.pl/b3f7f2d0ebae
やっつけSMDつくったよー
https://github.com/garlic-flavor/smd
590デフォルトの名無しさん
2016/06/06(月) 18:47:18.37ID:Ed/7rB97591デフォルトの名無しさん
2016/06/07(火) 11:54:47.42ID:Fo09osKo dmcの質問なんですけど、
wchar_t *hoge = L"あ";
としてファイルを UTF-8 で保存&コンパイルして実行したとき、
hoge の中の値は \u3042 を期待していたのですが、
なぜか \xe3\x81\x82 になるみたいなのですが、
なぜでしょうか?
wchar_t *hoge = L"あ";
としてファイルを UTF-8 で保存&コンパイルして実行したとき、
hoge の中の値は \u3042 を期待していたのですが、
なぜか \xe3\x81\x82 になるみたいなのですが、
なぜでしょうか?
592デフォルトの名無しさん
2016/06/07(火) 13:35:54.18ID:dYQbvyOv 入力がUTF-8と思われてないんじゃね
Windowsなら普通はSJISかLatin-1かが仮定されてるはずだから、オプションを付ける必要があると思う
dmcのことは知らん
Windowsなら普通はSJISかLatin-1かが仮定されてるはずだから、オプションを付ける必要があると思う
dmcのことは知らん
593デフォルトの名無しさん
2016/06/07(火) 14:58:01.24ID:wTM17UsZ core.simdのfloat4って、要素を移動させるのにシフト演算って使えないでしょうか?
例えば[1.0, 2.0, 3.0, 4.0]のベクトルを[2.0, 3.0, 4.0, 4.0]にしたいです。
例えば[1.0, 2.0, 3.0, 4.0]のベクトルを[2.0, 3.0, 4.0, 4.0]にしたいです。
594デフォルトの名無しさん
2016/06/08(水) 07:59:41.76ID:51dlGdh/ iotaからの一連の流れで好きな配列つくれるのホント便利だわ
595デフォルトの名無しさん
2016/06/08(水) 16:27:08.87ID:c99ZJOB9 >>593
何bit分を何bitシフトさせたの?
何bit分を何bitシフトさせたの?
596デフォルトの名無しさん
2016/06/09(木) 18:13:41.96ID:nQlOEPkQ LDC 1.0.0 リリースおめ
597デフォルトの名無しさん
2016/06/09(木) 20:51:27.58ID:jEie4NkL >>595
もしかしてそのままシフト演算子が使えたりします?
http://www.kmonos.net/alang/d/simd.html
ここに書いてないので、単純にそのままできるとは思いませんでした。
で、試そうと思ったらError: undefined identifier 'float4'というエラーが。
core.simdはimportしてるんですけど、なぜでしょう?
もしかしてそのままシフト演算子が使えたりします?
http://www.kmonos.net/alang/d/simd.html
ここに書いてないので、単純にそのままできるとは思いませんでした。
で、試そうと思ったらError: undefined identifier 'float4'というエラーが。
core.simdはimportしてるんですけど、なぜでしょう?
598デフォルトの名無しさん
2016/06/09(木) 21:09:40.20ID:4WAQK3bH >>583
castは型のキャストって意味?
もしそうなら意図が伝わってなくて申し訳ない。
Freestandingな環境だとlibc.soはもちろん存在しないし
動的リンクなんて仕組みもないので
既存のdruntimeは使えないって思い込んでるんだけど
(合ってる?もしかして、この辺りで勘違いしてる?)
最低限、そういう環境で構造体は使えるようにObject.TypeInfo_Structクラスが
実装されてるもの無いのかな・・・と。
dmd ver2.071.0でObjectクラスを自作するとErrorクラスの実装でコケるので
既存で最小限(RTTIのみ?)の機能を持つライブラリがあればそれを使いたいなと言うことで。
castは型のキャストって意味?
もしそうなら意図が伝わってなくて申し訳ない。
Freestandingな環境だとlibc.soはもちろん存在しないし
動的リンクなんて仕組みもないので
既存のdruntimeは使えないって思い込んでるんだけど
(合ってる?もしかして、この辺りで勘違いしてる?)
最低限、そういう環境で構造体は使えるようにObject.TypeInfo_Structクラスが
実装されてるもの無いのかな・・・と。
dmd ver2.071.0でObjectクラスを自作するとErrorクラスの実装でコケるので
既存で最小限(RTTIのみ?)の機能を持つライブラリがあればそれを使いたいなと言うことで。
599デフォルトの名無しさん
2016/06/11(土) 08:53:33.73ID:CU/y+sw+ std.rangeに入ってるRandomAccessFinitを継承してクラスを作ったら、メンバの配列にalias thisしてもなお実装すべきものがいっぱい残ってるんですが、
これは全て自分で一つ一つ書いていくのですか?
もしくは配列と同じ操作を提供するインターフェイスを作るにはどうすれば楽でしょうか?
これは全て自分で一つ一つ書いていくのですか?
もしくは配列と同じ操作を提供するインターフェイスを作るにはどうすれば楽でしょうか?
600デフォルトの名無しさん
2016/06/11(土) 09:15:16.03ID:sZRxwhEp あそこの一連のインターフェイスは「こんなん作ってみたんだけど〜」程度のもので
ほとんど使われてない
構造体テンプレートにしてコンパイルエラーが出ない程度に既定プロパティを補うのが主流
そのやり方なら alias this の転送でほとんど足りるはず
ただしどのプロパティを再定義すべきかはインターフェイスを見るのがいい
ほとんど使われてない
構造体テンプレートにしてコンパイルエラーが出ない程度に既定プロパティを補うのが主流
そのやり方なら alias this の転送でほとんど足りるはず
ただしどのプロパティを再定義すべきかはインターフェイスを見るのがいい
601デフォルトの名無しさん
2016/06/11(土) 09:41:32.26ID:j5Azp1YN >>600
ええっとすみません。間違っていたら申し訳ないのですが、もしかしてinterfaceとclassを使うよりstructを使うのが主流なのですか?
ええっとすみません。間違っていたら申し訳ないのですが、もしかしてinterfaceとclassを使うよりstructを使うのが主流なのですか?
602デフォルトの名無しさん
2016/06/11(土) 10:36:32.51ID:sZRxwhEp D言語のファンはオーバーヘッドとかGCとか嫌う声が大きい
実際のところ GC の実装がチープでそれほどあてにならないし
構造体とメタプログラミング乱舞で読みにくいライブラリが人気
でもインターフェイスでやりたければやればいいのよ
>>599 の 大半のメソッドは1行関数で済むはず
双方向とか明らかにいらなそうなのを省くなら std.typecons.WhiteHole が使えるかも
実際のところ GC の実装がチープでそれほどあてにならないし
構造体とメタプログラミング乱舞で読みにくいライブラリが人気
でもインターフェイスでやりたければやればいいのよ
>>599 の 大半のメソッドは1行関数で済むはず
双方向とか明らかにいらなそうなのを省くなら std.typecons.WhiteHole が使えるかも
603デフォルトの名無しさん
2016/06/11(土) 11:30:53.78ID:awsUhPf2604デフォルトの名無しさん
2016/06/12(日) 21:29:10.60ID:HMmiIFiS >>598 わかんないや。ごめんね。
>>603 人気ぶりはわからないけど、ここのを https://code.dlang.org/
これ https://code.dlang.org/packages/dub 使ってダウソして欲しいと、ヲルたんは思っているのではないだろうか。
>>603 人気ぶりはわからないけど、ここのを https://code.dlang.org/
これ https://code.dlang.org/packages/dub 使ってダウソして欲しいと、ヲルたんは思っているのではないだろうか。
605デフォルトの名無しさん
2016/06/13(月) 05:06:45.55ID:PElmNHhw >>604
あ、すみません。人気のライブラリって標準ライブラリ中でも人気な奴という意味からと思ってました。
そういうことでしたか。ありがとうございます。
ところで、ひとつ聞きたいのですが、dではpureやimmutableが使えますが、これらを使うと実際どの程度最適化されるのでしょうか?
あ、すみません。人気のライブラリって標準ライブラリ中でも人気な奴という意味からと思ってました。
そういうことでしたか。ありがとうございます。
ところで、ひとつ聞きたいのですが、dではpureやimmutableが使えますが、これらを使うと実際どの程度最適化されるのでしょうか?
606デフォルトの名無しさん
2016/06/13(月) 15:35:28.75ID:iihvfQlB InterfaceにopBinaryなどのテンプレート関数を持たせるにはどうするのですか?
607デフォルトの名無しさん
2016/06/13(月) 16:12:58.29ID:+zMNrpMB608デフォルトの名無しさん
2016/06/14(火) 14:11:58.45ID:JvVSF706 GCの性能は連想配列とかクロージャとかクラスの性能に直結するので、
「できるだけGCが動かないように」じゃない方向に進んでGC性能うpしてほしいな・・・
「できるだけGCが動かないように」じゃない方向に進んでGC性能うpしてほしいな・・・
609デフォルトの名無しさん
2016/06/20(月) 08:40:03.61ID:EnFKsdbU610デフォルトの名無しさん
2016/06/23(木) 11:59:01.34ID:332nxUAD http://www.digitalmars.com/download/freecompiler.html
Download latest version for Win32.
What's new for C/C++ 8.57
Digital Mars C/C++ Version Info
http://www.digitalmars.com/changelog.html#new857
Download latest version for Win32.
What's new for C/C++ 8.57
Digital Mars C/C++ Version Info
http://www.digitalmars.com/changelog.html#new857
611デフォルトの名無しさん
2016/06/23(木) 13:49:32.96ID:ZQfpp6dv D-Man adventures
http://dlangcomicstrips.tumblr.com
http://dlangcomicstrips.tumblr.com
612デフォルトの名無しさん
2016/06/25(土) 11:45:41.24ID:M9L0G4Rl Dって多重代入なかったっけ?
613デフォルトの名無しさん
2016/06/25(土) 12:05:40.78ID:mYN7KAdL そんなものはない
614デフォルトの名無しさん
2016/06/25(土) 22:16:23.10ID:hxA5cJiF 残念
615デフォルトの名無しさん
2016/06/26(日) 11:50:32.74ID:YRduG3pc 速い行列演算したいんだけどIntel mklのblasを読み込む方法がよくわからん……
あとScidってなんか開発止まってるっぽいけどどうなんだろ?
あとScidってなんか開発止まってるっぽいけどどうなんだろ?
616デフォルトの名無しさん
2016/06/26(日) 12:08:12.61ID:Hr+drjlN ネイティブも吐けるJuliaと比べて
どっちが速いん?
どっちが書きやすいん?
どっちが速いん?
どっちが書きやすいん?
617デフォルトの名無しさん
2016/06/26(日) 13:03:10.20ID:0+Or/a+e C系に慣れてればこっちが書きやすい
どっちが速いかは用途によるんじゃないの
ベンチマーク取った!→チューニングが足りん!
てのがいつもの流れ
どっちが速いかは用途によるんじゃないの
ベンチマーク取った!→チューニングが足りん!
てのがいつもの流れ
618デフォルトの名無しさん
2016/06/26(日) 14:45:48.76ID:Hr+drjlN なるほどthx!
619デフォルトの名無しさん
2016/06/28(火) 14:04:24.39ID:MNOhqMou ってかDで線形代数する時のスタンダードってなんだ?
620デフォルトの名無しさん
2016/06/28(火) 14:27:17.46ID:a3nSzCGl621デフォルトの名無しさん
2016/06/28(火) 21:33:02.21ID:NXkyNPDs Scidもdepricated放置されてるし科学方面弱いな
622デフォルトの名無しさん
2016/06/29(水) 20:56:03.25ID:6Q9/xyGV std.experimental.ndsliceはどうなんだろう
experimentalだし俺は使ってないからわからんけど
experimentalだし俺は使ってないからわからんけど
623デフォルトの名無しさん
2016/06/29(水) 21:52:28.61ID:AXw9t+Ft ndsliceは行列演算ついてなかったはず多分
624デフォルトの名無しさん
2016/06/29(水) 22:24:24.36ID:9iO2eMNn 多分ね
625デフォルトの名無しさん
2016/07/06(水) 02:30:21.03ID:yrz/Jj7I https://dpaste.dzfl.pl/75f0f6d8bb00
と言う事を知った夏。
と言う事を知った夏。
626デフォルトの名無しさん
2016/07/06(水) 11:02:58.90ID:X105+0ra import std.stdio;
// 例えばこういう interface に対して、
interface Iinc{
final int opUnary(string OP : "++")(){ return opInc; }
int opInc();
}
// こんな mixin template 使う場合に、
mixin template incImpl(alias target){
int opInc(){ return ++target; }
}
class A : Iinc {
int a;
// ↓これはまあいいとして、
mixin incImpl!a;
}
class B : A {
int b;
// ↓ ここに override って書いて動くってはじめて知りました。
override mixin incImpl!b;
}
void main(){
Iinc c = new B;
++c;
(cast(A)c).a.writeln;
(cast(B)c).b.writeln;
}
// 例えばこういう interface に対して、
interface Iinc{
final int opUnary(string OP : "++")(){ return opInc; }
int opInc();
}
// こんな mixin template 使う場合に、
mixin template incImpl(alias target){
int opInc(){ return ++target; }
}
class A : Iinc {
int a;
// ↓これはまあいいとして、
mixin incImpl!a;
}
class B : A {
int b;
// ↓ ここに override って書いて動くってはじめて知りました。
override mixin incImpl!b;
}
void main(){
Iinc c = new B;
++c;
(cast(A)c).a.writeln;
(cast(B)c).b.writeln;
}
627デフォルトの名無しさん
2016/07/08(金) 07:42:04.17ID:0UOH05eF テンプレート制約で複素数とか、複素数または実数にヒットさせるにはどうすりゃええんや……
組み込み複素数は__traitで簡単にヒットさせれるけど
組み込み複素数は__traitで簡単にヒットさせれるけど
628デフォルトの名無しさん
2016/07/08(金) 22:01:04.69ID:7n1yPXzP >>627 こう?
is(T == Complex!U, U) // T が std.complex.Complex の場合に true
std.traits.isNumeric!T // T が組み込みの数値型の場合に true
is(T == Complex!U, U) // T が std.complex.Complex の場合に true
std.traits.isNumeric!T // T が組み込みの数値型の場合に true
629デフォルトの名無しさん
2016/07/09(土) 22:27:59.54ID:lSFNvjJ5630デフォルトの名無しさん
2016/07/10(日) 00:27:46.10ID:PefByr9S やべえndsliceのライブラリstatic if多すぎて何が起こってるのか全然わかんねえ
631デフォルトの名無しさん
2016/07/16(土) 14:39:39.16ID:9Y22Kipm Julia(女) に浮気中
632デフォルトの名無しさん
2016/07/18(月) 09:14:41.70ID:V9a/Rv5f Juliaは線形代数得意だもんな
633デフォルトの名無しさん
2016/07/19(火) 16:01:58.15ID:U82S7i4O 1、dub.exeを実行すると、コマンドプロンプトが一瞬立ち上げってすぐに消えます。
2、コマンドプロンプトからdub init
2、コマンドプロンプトからdub init
634デフォルトの名無しさん
2016/07/19(火) 16:02:38.07ID:U82S7i4O 1、dub.exeを実行すると、コマンドプロンプトが一瞬立ち上げってすぐに消えます。
2、コマンドプロンプトからdub init"プロジェクト名"でプロジェクト制作すると、
プロジェクト名のフォルダーが制作され、フォルダー内には、以下の階層ができる
1./source/
2./source/app.d
3、ここで、"dub.jsonを記述する"とありますが、そのファイルが何処にも有りません。
dubの設定及び使用方法教えてもらえませんか。
Win10、dmd.2.071.1.windowsです。よろしくお願いします。
2、コマンドプロンプトからdub init"プロジェクト名"でプロジェクト制作すると、
プロジェクト名のフォルダーが制作され、フォルダー内には、以下の階層ができる
1./source/
2./source/app.d
3、ここで、"dub.jsonを記述する"とありますが、そのファイルが何処にも有りません。
dubの設定及び使用方法教えてもらえませんか。
Win10、dmd.2.071.1.windowsです。よろしくお願いします。
635デフォルトの名無しさん
2016/07/19(火) 17:26:50.31ID:Ez5hwRqa 実行するとコマンドプロンプトが一瞬立ち上がってすぐに消えるのって
dub.exeをエクスプローラからダブルクリックした時とかの挙動じゃね?
ちゃんとコマンドプロンプトからdub init
dub.exeをエクスプローラからダブルクリックした時とかの挙動じゃね?
ちゃんとコマンドプロンプトからdub init
636デフォルトの名無しさん
2016/07/19(火) 17:43:18.52ID:fscdSyYa 気の利いた IDE が作ってくれるかもしれんけど
そうでないなら自作
https://code.dlang.org/package-format?lang=json
まあ実際はどっかのプロジェクトから持ってきて修正して流用くらいじゃないの
そうでないなら自作
https://code.dlang.org/package-format?lang=json
まあ実際はどっかのプロジェクトから持ってきて修正して流用くらいじゃないの
637デフォルトの名無しさん
2016/07/19(火) 17:45:43.54ID:o21q4Wh2 まず、Windowsのロゴがあるキー( 田 )を押しながら、Rを押してください。「ファイル名を指定して実行」ウィンドウが開きます。
次に、cmdを入力して、Enterを押してください。
次に、cmdを入力して、Enterを押してください。
638デフォルトの名無しさん
2016/07/19(火) 19:18:09.42ID:3sf6xm4M >>633 が一瞬書き込んですぐに消えました
639633
2016/07/19(火) 19:38:28.66ID:U82S7i4O 1、コマンドプロンプトからdub init"プロジェクト名"Enter
2、Package recipe format (sdl/json) [json]:このようになり、
Package recipe format (sdl/json) [json]:json
↑これ入力
3、Enterキー連打していくと、
Name [test]:
Description [A minimal D application.]:
Author name [user]:
License [proprietary]:
Copyright string [Copyright ツゥ 2016, user]:
Add dependency (leave empty to skip) []:
Successfully created an empty project in 'C:\Users\user\test'.
Package sucessfully created in test
↑このようになり、プロジェクト名のフォルダー内に"dub.json"が制作されました。
4、しかしながら、"dub.json"に"dependencies"が無く、ぼちぼち格闘中です。
プログラム歴0の初心者には敷居が高いですね^^;
2、Package recipe format (sdl/json) [json]:このようになり、
Package recipe format (sdl/json) [json]:json
↑これ入力
3、Enterキー連打していくと、
Name [test]:
Description [A minimal D application.]:
Author name [user]:
License [proprietary]:
Copyright string [Copyright ツゥ 2016, user]:
Add dependency (leave empty to skip) []:
Successfully created an empty project in 'C:\Users\user\test'.
Package sucessfully created in test
↑このようになり、プロジェクト名のフォルダー内に"dub.json"が制作されました。
4、しかしながら、"dub.json"に"dependencies"が無く、ぼちぼち格闘中です。
プログラム歴0の初心者には敷居が高いですね^^;
640633
2016/07/19(火) 19:44:14.42ID:U82S7i4O ↑これ入力←この位置が少しずれていますので、書き直しました。
Package recipe format (sdl/json) [json]:json ←これ入力
Package recipe format (sdl/json) [json]:json ←これ入力
641デフォルトの名無しさん
2016/07/19(火) 19:58:45.99ID:fscdSyYa いやいやいや プログラム歴0の初心者が dub init 使うってどんな状況よ
最初の一歩から間違ってるとしか
最初の一歩から間違ってるとしか
642デフォルトの名無しさん
2016/07/19(火) 20:05:03.34ID:fscdSyYa あれ、今は普通のアプリ開発でもビルドツールに dub 使うんだっけ?
やったことないな
やったことないな
643デフォルトの名無しさん
2016/07/19(火) 20:20:26.23ID:555Vvc50 たしかにD言語ってコマンドラインの文化に慣れてないと厳しいな。ってか大体の言語がそうだが
dependencyは最初はdub.jsonに書いてないけど、手入力したら認識してくれるから、>>636を参考に自分で手入力するといいよ
コマンドラインの文化に慣れてないと違和感感じるかも知れないけど、この手の設定ファイルは最初は何も書かれてないから項目を自分で書いていくのが定石
ってかdubのライブラリ使わないならdependencies 書かなくていいから最初はdependencies 書かなくていいよ
dependencyは最初はdub.jsonに書いてないけど、手入力したら認識してくれるから、>>636を参考に自分で手入力するといいよ
コマンドラインの文化に慣れてないと違和感感じるかも知れないけど、この手の設定ファイルは最初は何も書かれてないから項目を自分で書いていくのが定石
ってかdubのライブラリ使わないならdependencies 書かなくていいから最初はdependencies 書かなくていいよ
644633
2016/07/19(火) 21:06:11.43ID:U82S7i4O >>641
某イクサゲームをやっていまして、10万円金くじ引いても天なるものが1枚しかでなくてwww
自分でゲーム作ったほうがいいんじゃね!っと思い立ったのが吉日でして。
>>643
ゲーム用のライブライ追加してぼちぼちやってみようかと思ったのですが、
ズッコケすぎて全然前に進みません。^^;
dmdダウンロードして4日目くらいですがw
ちなみに、"プログラミング言語D"とゲーム開発関係書籍2冊ほど手元に置いてますけど
最初の一歩目で迷子になってます、、、。
某イクサゲームをやっていまして、10万円金くじ引いても天なるものが1枚しかでなくてwww
自分でゲーム作ったほうがいいんじゃね!っと思い立ったのが吉日でして。
>>643
ゲーム用のライブライ追加してぼちぼちやってみようかと思ったのですが、
ズッコケすぎて全然前に進みません。^^;
dmdダウンロードして4日目くらいですがw
ちなみに、"プログラミング言語D"とゲーム開発関係書籍2冊ほど手元に置いてますけど
最初の一歩目で迷子になってます、、、。
645633
2016/07/19(火) 22:42:44.72ID:U82S7i4O 1、"dub.json"に下記を追記しました。
"dependencies": { "dgame": "~>0.6.4" }
2、C:\Users\user>dub build Enterキー
Neither a package description file, nor source/app.d was found in
↑このようになります。
app.dに何のために、どんなソースを書くのかわかりません><
よろしくお願いします。
"dependencies": { "dgame": "~>0.6.4" }
2、C:\Users\user>dub build Enterキー
Neither a package description file, nor source/app.d was found in
↑このようになります。
app.dに何のために、どんなソースを書くのかわかりません><
よろしくお願いします。
646デフォルトの名無しさん
2016/07/20(水) 07:03:39.83ID:/Ye1vbG1 dlangerの人口減らしたくないし取っ掛かりの部分だけナビゲートしちゃる
dub initによって作られたsource/app.dには
コンソールに文字列を出力するコードが最初から書かれてるから
そっから自分で動かしたいように書き換えるのが通例
dependenciesは https://code.dlang.org/ のリストにあるパッケージが必要な時に書く
これで何言ってんだか分かんなかったらdub.jsonは弄らないで最初のままでおけ
てか dub(ビルドツール)の前にdmd(コンパイラ)の使い方を覚えるほうが先だね
そもそも言語仕様も標準ライブラリ(phobos)も知らん段階だろうから
main.dを新規作成してエディタで開いて
std.stdioをimportしてmain関数内でwriteln関数を使って
HelloWorldをコンソールに出力するコードをmain.dに記述して
コマンド
dub initによって作られたsource/app.dには
コンソールに文字列を出力するコードが最初から書かれてるから
そっから自分で動かしたいように書き換えるのが通例
dependenciesは https://code.dlang.org/ のリストにあるパッケージが必要な時に書く
これで何言ってんだか分かんなかったらdub.jsonは弄らないで最初のままでおけ
てか dub(ビルドツール)の前にdmd(コンパイラ)の使い方を覚えるほうが先だね
そもそも言語仕様も標準ライブラリ(phobos)も知らん段階だろうから
main.dを新規作成してエディタで開いて
std.stdioをimportしてmain関数内でwriteln関数を使って
HelloWorldをコンソールに出力するコードをmain.dに記述して
コマンド
647デフォルトの名無しさん
2016/07/20(水) 07:06:09.24ID:/Ye1vbG1 レス本文にダブルクォーテーションが入ると文章途切れるのか
(>>646の途切れた部分)
main.dを新規作成してエディタで開いて
std.stdioをimportしてmain関数内でwriteln関数を使って
HelloWorldをコンソールに出力するコードをmain.dに記述して
コマンド dmd main.d でコンパイルするとこからはじめようか
新しいプログラミング言語に触れるなら↑が本来の最初のステップになる
(>>646の途切れた部分)
main.dを新規作成してエディタで開いて
std.stdioをimportしてmain関数内でwriteln関数を使って
HelloWorldをコンソールに出力するコードをmain.dに記述して
コマンド dmd main.d でコンパイルするとこからはじめようか
新しいプログラミング言語に触れるなら↑が本来の最初のステップになる
648633
2016/07/20(水) 09:29:26.81ID:Oo0kZypL >>646
助言ありがとうございます。
HelloWorldの門は一番最初にくぐりました。
レス文見てたら、dubの使い方を勘違いしてたみたいでした。
最初は任意のライブラリを勝手にダウンロードし、dmdにサインイン。
その後自由にライブラリが使えるものだと思っていました。
違う方法でライブラリが使える方法を探ってみたいと思います。
レスをくれた皆さんありがとうございました。
助言ありがとうございます。
HelloWorldの門は一番最初にくぐりました。
レス文見てたら、dubの使い方を勘違いしてたみたいでした。
最初は任意のライブラリを勝手にダウンロードし、dmdにサインイン。
その後自由にライブラリが使えるものだと思っていました。
違う方法でライブラリが使える方法を探ってみたいと思います。
レスをくれた皆さんありがとうございました。
649デフォルトの名無しさん
2016/07/20(水) 13:49:05.59ID:S0wpPWZM test "hoge D" hage
650デフォルトの名無しさん
2016/07/21(木) 02:31:14.62ID:+htOPDkp 「D言語は2番目に覚えるべき言語」とか言うけど、「ゲーム作りたい」という動機だと、もっと、かなり順位下がる気がする。
ABA GamesさんからD言語入った身で言えたギリじゃないけど。
短い期間で出力を得たいならJavaScript(かそのトランスパイラ)おすすめ。
コントローラからの入力がまだ標準化されてないかもしれないけど。
というか俺が思ってる某IXAゲームもクライアントサイドはJS+WebGLなのでは?
7〜8年前だったらActionScript推したけどなー。
あ、やる気に冷や水かけるつもりじゃないですよ。言語の習得は平行してできるので、どっちもやるとイイよ!
ABA GamesさんからD言語入った身で言えたギリじゃないけど。
短い期間で出力を得たいならJavaScript(かそのトランスパイラ)おすすめ。
コントローラからの入力がまだ標準化されてないかもしれないけど。
というか俺が思ってる某IXAゲームもクライアントサイドはJS+WebGLなのでは?
7〜8年前だったらActionScript推したけどなー。
あ、やる気に冷や水かけるつもりじゃないですよ。言語の習得は平行してできるので、どっちもやるとイイよ!
651デフォルトの名無しさん
2016/07/21(木) 18:46:26.48ID:Vj/xPVWN いまならUnityじゃね
652デフォルトの名無しさん
2016/07/25(月) 00:17:46.47ID:XTQ4vcgC D言語にも深層学習用のライブラリがあればなあ
653デフォルトの名無しさん
2016/08/05(金) 01:29:38.10ID:yG1Q1Zfx DMDScriptってこの先生きのこれるの?
例えばreadme.txtのMain Goalのリストにも載ってない64bit対応とかする目あるのだろうか?
例えばreadme.txtのMain Goalのリストにも載ってない64bit対応とかする目あるのだろうか?
654デフォルトの名無しさん
2016/08/05(金) 12:18:44.40ID:LJe/qM3f そこに山があれば登るのが真のDer
655デフォルトの名無しさん
2016/08/16(火) 18:52:17.71ID:D9Aqh5ca Releaseビルドで作られたexeファイルには、開発環境由来の個人情報は含まれますか?
656デフォルトの名無しさん
2016/08/16(火) 23:45:49.73ID:aXbZPgJ2 hello, worldをダンプしてみたけどPhobosのシンボルが読めるからまあ
D言語が使われているであろうこととか>>655がマゾ豚であることとかがわかる。
幼女>犯罪に使おうとかキモいこと考えてないでさっさとDちゃんの抱き枕相手に腰振る練習してなさいよ!このブタッ!
D言語が使われているであろうこととか>>655がマゾ豚であることとかがわかる。
幼女>犯罪に使おうとかキモいこと考えてないでさっさとDちゃんの抱き枕相手に腰振る練習してなさいよ!このブタッ!
657デフォルトの名無しさん
2016/08/17(水) 00:15:35.35ID:lwRSgBSO658デフォルトの名無しさん
2016/08/17(水) 19:37:22.85ID:Tv1IP5hX パスにアカウント名入れてるバカは時々いる
659デフォルトの名無しさん
2016/08/17(水) 19:59:59.49ID:BDOXQSJ7 My Documents以下で開発してて、デバッグ情報にあるフルパスからアカウント名が……って話だな
660デフォルトの名無しさん
2016/08/18(木) 12:39:10.84ID:aeEeX8qQ >Releaseビルドで
よくよめ
よくよめ
661デフォルトの名無しさん
2016/09/12(月) 21:07:12.99ID:g/2ERTf6 templateを使ってループをunrollしたいと思ってるんですけど、うまい方法はないでしょうか?
static ifならぬstatic foreach的なものが欲しいです。
static ifならぬstatic foreach的なものが欲しいです。
662デフォルトの名無しさん
2016/09/12(月) 21:17:04.32ID:y21Asc3i レンジの先読みとか save の方が現実的じゃないの
663デフォルトの名無しさん
2016/09/12(月) 21:59:01.32ID:g/2ERTf6664デフォルトの名無しさん
2016/09/13(火) 07:27:24.17ID:kzljWn49 タプルをforeachするときは静的に展開されるよ
import std.stdio;
template T(P...){ alias P T; }
alias MetaArr = T!("a", "b", "c");
void main() {
foreach (v; T!(0, 1, 1, 2)) { writeln(MetaArr[v]); }
//foreach (v; [0, 1, 1, 2]) { writeln(MetaArr[v]); } // error
}
テンプレート再帰を使って便利なやつ(iotaとか)を作るとよし。
std.metaにタプル操作テンプレート群がある
import std.stdio;
template T(P...){ alias P T; }
alias MetaArr = T!("a", "b", "c");
void main() {
foreach (v; T!(0, 1, 1, 2)) { writeln(MetaArr[v]); }
//foreach (v; [0, 1, 1, 2]) { writeln(MetaArr[v]); } // error
}
テンプレート再帰を使って便利なやつ(iotaとか)を作るとよし。
std.metaにタプル操作テンプレート群がある
665デフォルトの名無しさん
2016/09/13(火) 10:29:18.28ID:W9Uq4kNW せっかくAliasSeqって名前がついたんだから使ってやろうぜ
公式ももうタプルの名はtypecons.tupleに譲ろうって感じだし、せめて静的タプルとか
https://dlang.org/tuple.html
公式ももうタプルの名はtypecons.tupleに譲ろうって感じだし、せめて静的タプルとか
https://dlang.org/tuple.html
666デフォルトの名無しさん
2016/09/13(火) 10:47:13.49ID:GD/RUd4Y こりゃ TDPL 第2版の再優先事項やね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- くそしてかがやけ
- 🎌日本の地震をお祝いします👏👏👏✨
- お茶だと思って飲んだらションベンだった
