D言語 Part34©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2015/01/25(日) 12:07:29.52ID:gAd5OZDm
プログラミング言語 D (D Programming Language) について語るスレッドです。

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

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

■プログラミング言語D (TDPL: The D Programming Language)
Andrei Alexandrescu 日本語版
http://www.shoeisha.co.jp/book/detail/9784798131108

ソース貼付サイト http://dpaste.dzfl.pl/
<$><$> https://www.bountysource.com/trackers/383571-d-programming-language

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

■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&;sf=2&all=on&view=table&shw=5000
2016/09/13(火) 16:52:26.00ID:Sk3FDaZ1
>>664
なるほど、タプルを使うとstatic foreachみたいなことができるんですね。
>>665
型タプルの名称が変わってたんですね。
2016/09/19(月) 17:22:06.82ID:XIBStaFM
assert(RegexMatch!string().empty,
2016/09/20(火) 17:31:32.34ID:aVRW/GTu
https://dlang.org/changelog/2.071.2.html
2016/10/08(土) 15:24:34.36ID:lyDMzk0a
質問です
C# なんかだとジェネリクスの変性を指定できて、たとえば Base <- Derived のとき List<Base> <- List<Derived> になる、つまり
List<object> a = new List<string>();
ってできたと思うんですが、こういうのって D言語だとどう書けばいいんでしょうか
opCast を使う?
2016/10/10(月) 03:02:58.71ID:XeSbllOL
>>670
テンプレートの範囲を拡大させることで実現する。
しばしばmain直下まで汚染されるが気にしない。

import std.container, std.traits;
void foo(A)(A a) if (is(A : Array!B, B : long)){}
void bar(A)(A a) if (isInstanceOf!(Array, A)){}
void main()
{
auto a = Array!int();
foo(a);
bar(a);
}
2016/10/12(水) 11:32:10.17ID:G+08whNk
なぁにこれ?
http://indianautosblog.com/2016/10/most-powerful-suzuki-swift-produces-350-hp-244445
2016/10/12(水) 13:19:51.46ID:CGbCriuU
スレチ
swift スレに貼れ
2016/10/12(水) 13:43:48.56ID:kYS44Rbd
スレチの様で微妙にスレチじゃないかも
2016/10/12(水) 13:44:19.71ID:kYS44Rbd
ついでに拾いもの

>ネットにはデマ情報がいっぱい残ってるので正しい情報をメモ

cmd で UTF-8 使える方法 (chcp 65001 について)

http://nazochu.blogspot.jp/2011/08/blog-post_26.html
mintty
http://dogmap.jp/2011/11/15/mintty/
mintty
http://tanakh.jp/posts/2011-11-15-windows-terminal.html


色々紆余曲折あったけど Git インスコして GitBash 使うのが一番楽っぽい
https://git-for-windows.github.io/
676デフォルトの名無しさん
垢版 |
2016/10/12(水) 13:46:35.25ID:CGbCriuU
どうみてもスレチ
っつーか板違い
2016/10/13(木) 16:53:46.81ID:L+oZkHrx
>>672
組み込みでDを使ってるに違いない
2016/10/13(木) 16:55:38.03ID:L+oZkHrx
そういや最近ハマったんだけど
auto x = (int a) => a;
auto y = (int a) => { return a; };
この二つって型が違うのね
初めて知ったわい
2016/10/13(木) 18:51:22.75ID:DlV3jQX5
>>678
2つの記法を混同してたのかな
(int a)=>a に対応するのは (int a){return a;}
(int a)=>{return a;} は (int a){return {return a;};}
2016/10/13(木) 19:17:26.78ID:L+oZkHrx
>>679
そうそう
javascript なんかと混ざったのかも
2016/10/31(月) 20:52:07.58ID:BieV/Lwg
2.072
2016/10/31(月) 22:52:11.63ID:9faQJIhV
http://forest.watch.impress.co.jp/docs/news/1027516.html
時代はRust
2016/11/01(火) 09:03:52.71ID:872/MYpu
>>681
書いてないけど dub 同梱になった
2016/11/01(火) 23:37:35.22ID:wR5ZjNoq
>>683 まじかよ朗報
---
std.datetime.benchmark!func(10_000)[0].to!Duration.writeln;
---
>136 ホシs and 8 hnsecs
∴Windowsはクソ
2016/11/01(火) 23:54:18.23ID:872/MYpu
μ(マイクロ)がマルチバイトになってて化けるやつだな
俺も前から変えてほしいと思ってるけど
2016/12/03(土) 01:09:21.23ID:999B/Ieu
クリスマスプレゼントにこういうのが欲しい。
struct FatStruct
{
Object obj;
void opAssign(headconst ref FatStruct rvalue) { obj = rvalue.obj; }
}
1. refで修飾された引数専用のオプション修飾子で、
2. mutableな変数にcastなしで代入可能で、
3. 「参照とってるけど、このメソッド内では変更を加えないよ。」ということをcallerに伝える。
ものクレクレ
687デフォルトの名無しさん
垢版 |
2016/12/04(日) 12:43:36.67ID:ijuOYWzP
なんかRustがやけに元気だけど、D言語って消えていくの?
688デフォルトの名無しさん
垢版 |
2016/12/04(日) 15:19:42.11ID:Kly2fP6x
線形代数充実したら使ってやってもいい
689デフォルトの名無しさん
垢版 |
2016/12/04(日) 15:28:34.63ID:RB5UgFiH
https://www.youtube.com/watch?v=8fPmkq1CkCU

https://www.youtube.com/watch?v=PR6r40GbIfk
2016/12/04(日) 15:40:41.71ID:GcUhzChF
もう戦力外
せめて Julia 以上に使えないとな
2016/12/04(日) 16:30:18.91ID:f8v2gDaK
ANSI Cみたいに規格化できなかったのが致命的だったね
692デフォルトの名無しさん
垢版 |
2016/12/04(日) 21:16:16.33ID:0HU6vOnR
mir…
2016/12/07(水) 09:54:34.62ID:r4m1A3bg
2.072.1

AC2016 は全部埋まった模様
http://qiita.com/advent-calendar/2016/dlang
2017/01/01(日) 17:00:41.54ID:AzZ4q8lt
2.072.2
GDC 2.068.2 相当
2017/01/23(月) 23:18:22.18ID:R62d4hxX
2.0.73
2017/01/24(火) 07:39:06.67ID:FdZedY8r
ndslice が deprecated に…
面白そうだったのに残念
2017/01/24(火) 08:07:50.10ID:tjYeiy24
リリースサイクルが合わないから dub repo に移すと言ってた
dub もほぼ公式だから問題あるまい
698デフォルトの名無しさん
垢版 |
2017/01/24(火) 10:09:07.65ID:9yrS8iWN
にしてもなあ……
2017/01/25(水) 01:36:00.78ID:NBMLgLD+
もうちょっとdubで成熟させてからexperimentalにぶち込んでもよかったよね、ってことだと思ってる
700デフォルトの名無しさん
垢版 |
2017/01/30(月) 12:11:48.76ID:zgepKMXO
メタプログラミングが必要な複雑さで高速なバイナリが欲しくてベクトルの計算が必要ならDって良い感じな気がしてきた
2017/02/04(土) 09:23:54.50ID:cCtqcbdk
>>684
いつの間にか直ってる!? と喜びかけたが
std.datetime と core.time で不揃いというタチの悪い結果ががが
2017/04/11(火) 10:21:14.88ID:DoKLA85e
2.074.0

それと入れ違いに DMD バックエンドの権利問題が解決して
オープンソースになった
703デフォルトの名無しさん
垢版 |
2017/04/11(火) 19:01:24.54ID:+8we66Ry
おめでとう
704デフォルトの名無しさん
垢版 |
2017/04/12(水) 13:30:03.81ID:1yYBiMsB
やったな
これでやりたい放題だ
2017/04/12(水) 13:36:03.43ID:mJY6Dj4I
Dからforkしてなんか造ろかな
2017/04/27(木) 13:39:04.16ID:3SqGR9rs
ウェブスクレイピングがしたいんですけど、おすすめのライブラリはありますか?
707デフォルトの名無しさん
垢版 |
2017/04/27(木) 13:47:16.44ID:R6dFUrFW
curl
2017/04/27(木) 15:23:45.81ID:3SqGR9rs
なるほど。標準にありますね。
709デフォルトの名無しさん
垢版 |
2017/04/27(木) 18:53:26.24ID:tG7qJtaK
もしかしてVisualDのプロジェクトはリソースエディタ使えない感じ?
2017/05/02(火) 22:43:12.96ID:FexDPfOP
クラスのメンバ変数をファイルに保存する一番手軽な方法は何になりますか?
711710
垢版 |
2017/05/02(火) 22:49:15.71ID:FexDPfOP
自己解決。
std.csvとかstd.jsonあたりか。
712710
垢版 |
2017/05/03(水) 00:01:58.26ID:V/UCIUww
しかしどちらも手軽ではなかったようだ。
2017/06/03(土) 19:51:28.68ID:+wJRfmD9
std.xmlはいつまで非推奨なんだよ
作り直すならはやくやれ
kxmlいつのまにか通らなくなるし
2017/06/04(日) 05:43:43.21ID:KL8jQ9cr
xmlはガチで実装しようとすると仕様のデカさ半端じゃないしな
周辺仕様(xsd,xslt,xpathくらいはほしいな)までやる気なのかもしれん。そうなったらかなり使えるはずだな!
2017/06/13(火) 19:44:03.10ID:XqHeJ85F
std.net.curlを使ってサーバーと通信しています。
サーバー側は、エラーが発生した場合、エラーの詳細がJSONで返信される仕様なのですが、
std.net.curl.CurlException@[中略]\phobos\std\net\curl.d(1014): HTTP request returned status code 404 (NOT_FOUND)
という例外が発生してしまい、JSONが受け取れません。
どうすればいいのでしょうか?
2017/06/15(木) 14:38:18.44ID:p0Tdw73d
URLを変更する
717デフォルトの名無しさん
垢版 |
2017/06/23(金) 10:32:37.88ID:0OdP20aK
thx!
2017/06/26(月) 06:29:23.65ID:WJ4SxXW2
D言語、GCCに追加の見通し
http://news.mynavi.jp/news/2017/06/23/109/
719デフォルトの名無しさん
垢版 |
2017/06/26(月) 11:17:46.96ID:H+izVTcm
GDCのことか
2017/06/26(月) 20:25:40.38ID:Z4R8M/mK
gcc
java out
d in
2017/06/27(火) 00:23:45.96ID:SklbWyi0
Javaは撤退してD言語に乗り換えたかGCC
2017/06/30(金) 19:38:06.35ID:ZAjr7zY1
std.json.JSONValueの値がたまたま整数(1.0のことを1と表記されてた)場合にfloatingを呼び出すと例外が発生するんですけど、
何か回避方法はありますか?
723722
垢版 |
2017/06/30(金) 19:39:19.23ID:ZAjr7zY1
すぐ気が付きましたけど、stringにしてからconvでいいか・・・
724デフォルトの名無しさん
垢版 |
2017/07/11(火) 18:40:47.82ID:gJR2U5Om
nextEvenPermutation ってどういう場面で使うの?

https://dlang.org/phobos/std_algorithm_sorting.html#nextEvenPermutation
725デフォルトの名無しさん
垢版 |
2017/07/11(火) 20:58:21.48ID:aZj0SKJK
>>724
総当たりクラッキング
2017/08/06(日) 21:34:49.71ID:SpPX6zkH
VSCodeにcode-dじゃないほうのD Language拡張入れてみたけど補完とかもろもろが効かない・・・
誰か使っている人いたら助けて
settings.jsonは以下の通りです
{
"d.dub": "/usr/local/bin/dub",
"d.tools.dcd.client": "/usr/local/bin/dcd-client",
"d.tools.dcd.server": "/usr/local/bin/dcd-server",
"d.tools.dfmt": "/usr/local/bin/dfmt",
"d.tools.dscanner": "/usr/local/bin/dscanner",
"d.tools.dfix": "/usr/local/bin/dfix"
}
727デフォルトの名無しさん
垢版 |
2017/08/29(火) 21:52:17.20ID:N4IWVrAv
2.076.0 beta で static foreach が試せるぞい
2017/09/06(水) 11:34:56.54ID:Nwux1vMQ
10年前だったら弄り倒す気力あった
729デフォルトの名無しさん
垢版 |
2017/09/06(水) 13:06:00.40ID:ssAzmuiR
もう、Dオワコン?
2017/09/06(水) 15:07:48.26ID:p7vL1/ES
ええ
ぴくりともしません
2017/09/06(水) 23:37:35.60ID:HEZvX+yT
競プロではそれなりに使われてるみたいだ
732デフォルトの名無しさん
垢版 |
2017/09/07(木) 04:03:15.42ID:4D1xagKN
DMDとLDCを使って競プロしてる人いるね

DMD https://beta.atcoder.jp/contests/arc082/submissions?f.Language=3009
LDC https://beta.atcoder.jp/contests/arc082/submissions?f.Language=3010
733デフォルトの名無しさん
垢版 |
2017/09/07(木) 16:06:46.74ID:TZTdPVsA
ちょっとしたexe作るにはDが楽で

Pythonも楽だけどexe化するとデカイし
2017/09/07(木) 17:10:11.32ID:K5Q2sK+z
ちょっとしたexeならC/C++でいいわ
2017/09/07(木) 22:43:08.24ID:QtwwXYFZ
ちょっとしたものならcsiが最高やわ
2017/09/08(金) 01:31:23.84ID:vejTPLe0
ちょっとしたものならhta
2017/09/08(金) 09:57:19.73ID:PsSRj6dh
>>734
ないわー
2017/09/08(金) 22:25:18.49ID:1S/6tt8C
ちょっとしたexeならlispとかのが早くね?
2017/09/09(土) 06:57:36.64ID:0rsRu7Ke
ちょっとしたexeならC#じゃね?
monoは触ったことないからLinuxでの事情は知らんけど、Winに限ればあれほど楽なのはない
2017/09/09(土) 08:47:06.77ID:ANwMHCzT
HSP…
741デフォルトの名無しさん
垢版 |
2017/09/09(土) 11:40:51.62ID:kUd/qIXg
exerb
742デフォルトの名無しさん
垢版 |
2017/09/09(土) 18:11:01.86ID:lkyt770O
ちょっとしたexeならVB6が楽です
2017/09/10(日) 00:34:56.94ID:BM2H21RC
過疎ってた割に人がいるのね
2017/09/10(日) 01:11:53.81ID:Y2cq4KXs
みんな話題を待ってたんだよ
745デフォルトの名無しさん
垢版 |
2017/09/10(日) 01:30:18.91ID:W8hQWR/l
いやDに興味ないのが冷やかしてるだけ
2017/09/10(日) 02:08:35.60ID:mLTl9fJv
ちょっとしたexeで.NETとかないわーと思ったけど、GUIならまあしょうがないのか
人によってちょっとしたexeの範囲も違うんだな
2017/09/10(日) 13:04:28.79ID:mFLa2LdI
まさかC++?
2017/09/10(日) 19:24:57.70ID:mFLa2LdI
VisualD残念過ぎるな
エクスプローラからのフォルダやファイルの管理がゴミすぎる
見た目通りにフォルダが出来てないし、どこにファイルが作られるのかもわからんのがやばい。
まずはこういう基本的なことからまともに作ってけよ。
749733
垢版 |
2017/09/11(月) 09:24:09.55ID:8q7HHnzx
ちょっとしたってのは
メモ帳やviで書けるレベルの100行にも満たないって
レベルだったんだけど・・・

IDEを使うレベルは
ちょっとしたじゃないイメージ
2017/09/11(月) 13:47:24.86ID:vfPZfDA4
そういう前提だったらDが楽でいいな
2017/09/11(月) 14:36:04.39ID:1yyZGwgJ
基本的にWindowsユーザーは作業用VisualStudioを常時開いてるからな。
ちょっとした作業は適当にC#で書いてそのままVisualStudioから実行してる。
実際にはexeを作ってすらいない。スクリプトを書いてるような感覚で使てる。
752デフォルトの名無しさん
垢版 |
2017/09/11(月) 14:37:29.12ID:TGeCtRBC
>>751
前提がおかしいw
2017/09/12(火) 06:45:11.40ID:LkwWIzb9
いや結構そういう感じだわ俺
実行するとたまに結果が微妙に違うなと思ったら、普段VS上からデバッグバージョン実行してて、リリース版上書きするの忘れてるだけだったり
2017/09/14(木) 09:40:14.95ID:LhtzuhrL
× VSが常時
〇 2chビューワーが常時
2017/09/15(金) 10:47:15.00ID:DsFP17U9
だいたいあってる
2017/09/16(土) 11:49:32.20ID:d6C/wUJg
質問はここでいいですか?

Windows で DLL を作ろうとしています。
https://wiki.dlang.org/Win32_DLLs_in_D
を見てやってみましたが、コンパイルできず、LNK1561 になります。

dmd -m32mscoff -ofx86\test.dll dllmain.d test.def
dmd -m64 -ofx64\test.dll dllmain.d test.def

リンカが MS のものを使っているためこのエラーが出ると思うのですが、
エントリーポイントをどのように指定すればよいのかわかりません。
わかる方ご教示いただけませんでしょうか。

DMD のバージョンは 2.076.0、VS のバージョンは 15.3.4 です。
2017/09/16(土) 12:48:55.75ID:ZCzFTInQ
defなしで
758756
垢版 |
2017/09/16(土) 15:35:04.87ID:d6C/wUJg
defなしでも同じ結果になりました:

LINK : fatal error LNK1561: エントリー ポイントを定義しなければなりません。
759デフォルトの名無しさん
垢版 |
2017/09/16(土) 16:45:47.46ID:Gd+302E1
-shared
760756
垢版 |
2017/09/16(土) 18:38:55.20ID:d6C/wUJg
-shared で 32bit、64bit とも作成できました。
ありがとうございました。
2017/09/17(日) 12:46:46.42ID:5uCVCcKi
https://wiki.dlang.org/Win32_DLLs_in_D
ここの一番上に書いてあるじゃん
762デフォルトの名無しさん
垢版 |
2017/09/18(月) 11:04:32.91ID:ej1qDtIX
馬鹿には無理
763デフォルトの名無しさん
垢版 |
2017/09/18(月) 12:13:58.30ID:XoyPNJhq
dmd2\samples\d\mydll\build.bat
には入ってなかった(戦慄)

-shared って割と最近の変更だしな
764デフォルトの名無しさん
垢版 |
2017/09/18(月) 20:04:52.92ID:O+NhZEIY
これでGUIアプリ作るならウィジェットはナニを使えば良いんだー
2017/09/18(月) 20:25:16.79ID:/S27bRBH
wx
2017/09/18(月) 20:52:19.83ID:XoyPNJhq
やめとけ



と一蹴したいところだが、あえて勇者に DlangUI を勧めてみよう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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