[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/20 18:28 / Filesize : 231 KB / Number-of Response : 1064
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

D言語 Part34



1 名前:デフォルトの名無しさん mailto:sageteoff [2015/01/25(日) 12:07:29.52 ID:gAd5OZDm.net]
プログラミング言語 D (D Programming Language) について語るスレッドです。

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

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

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

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

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

■過去スレ、関連スレ
makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000

35 名前:デフォルトの名無しさん mailto:sage [2015/02/10(火) 22:48:56.53 ID:CuK7u/7x.net]
凄い、と感動するけどハックっぽいのが…

言語機能として欲しいよね、名前付き引数
あと多返値

36 名前:デフォルトの名無しさん mailto:sage [2015/02/11(水) 00:33:34.64 ID:AD+vXnh0.net]
タプルまだ返せないんだった?

37 名前:デフォルトの名無しさん [2015/02/11(水) 02:15:50.86 ID:sEyNJ1vO.net]
qiita.com/yasei_no_otoko/items/ae23b681a47d9a16f4c6
↑ここに書かれてる方法に従って進め、ソースコードのビルドを試みたのですが、
以下のようなエラーが出ました。

libDerelictSDL2.a(sdl.o):(.rodata+0x20): `_D8derelict4util6loader12__ModuleInfoZ' に対する定義されていない参照です
libDerelictSDL2.a(sdl_71_698.o):(.data+0x40): `_D8derelict4util9exception17DerelictException7__ClassZ' に対する定義されていない参照です
libDerelictSDL2.a(sdl_71_698.o):(.data+0xb0): `_D8derelict4util6loader15SharedLibLoader7__ClassZ' に対する定義されていない参照です
libDerelictSDL2.a(sdl_71_698.o):(.rodata+0x4568): `_D8derelict4util6loader15SharedLibLoader4loadMFZv' に対する定義されていない参照です
libDerelictSDL2.a(sdl_71_698.o):(.rodata+0x4570): `_D8derelict4util6loader15SharedLibLoader4loadMFAyaZv' に対する定義されていない参照です
libDerelictSDL2.a(sdl_71_698.o):(.rodata+0x4578): `_D8derelict4util6loader15SharedLibLoader4loadMFAAyaZv' に対する定義されていない参照です
libDerelictSDL2.a(sdl_71_698.o):(.rodata+0x4580): `_D8derelict4util6loader15SharedLibLoader6unloadMFZv' に対する定義されていない参照です
libDerelictSDL2.a(sdl_71_698.o):(.rodata+0x4588): `_D8derelict4util6loader15SharedLibLoader8isLoadedMFNdZb' に対する定義されていない参照です
libDerelictSDL2.a(sdl_71_698.o):(.rodata+0x4598): `_D8derelict4util6loader15SharedLibLoader10loadSymbolMFAyaZPv' に対する定義されていない参照です
libDerelictSDL2.a(sdl_71_698.o):(.rodata+0x45a0): `_D8derelict4util6loader15SharedLibLoader3libMFNdZS8derelict4util9sharedlib9SharedLib' に対する定義されていない参照です
libDerelictSDL2.a(sdl_71_698.o):(.rodata+0x45a8): `_D8derelict4util6loader15SharedLibLoader8bindFuncMFPPvAyabZv' に対する定義されていない参照です
collect2: error: ld returned 1 exit status
--- errorlevel 1

ライブラリの配置等は書かれてる通りにやったと思うのですが・・・
どういう原因が考えられますか?

38 名前:デフォルトの名無しさん mailto:sage [2015/02/11(水) 09:32:23.09 ID:DokQQA8v.net]
>>34
組み込みのタプルが欲しいってことでしょ
DIPがあったけど、どうなったんだろう

>>35
本当にそのページ通りにやってる? libDerelictUtil.aをコンパイラの引数に指定してないのでは
もしGNU/Linuxの利用者なら、さらに -L-ldl も必要

ところで、Derelict3はもうメンテナンスされてないのでDerelictOrgを使った方が良いかもしれない(dub必須だけど) https://github.com/DerelictOrg
DerelictOrgをラップしたゲーム製作用ライブラリもあって、用途によってはこちらを使うのが便利かも https://github.com/d-gamedev-team/gfm

39 名前:デフォルトの名無しさん mailto:sage [2015/02/11(水) 11:34:53.64 ID:AEgPMJkt.net]
wiki.dlang.org/DIP32
これのワクワク感はんぱないんだけど、あんま進展はしてないっぽいね。

40 名前:デフォルトの名無しさん [2015/02/11(水) 11:41:59.07 ID:sEyNJ1vO.net]
>>36
私には誤りが2つありました。
サイトの通りにやったつもりでしたが、私はlinuxユーザ
としての仕様を理解していなかったようです。
ご指摘の通り-L-ldlをつけていませんでした。
しかしそれだけではできませんでした。

最初はページの順番で最後にdlをリンクして
dmd test.d -LlibDerelictUtil.a -LlibDerelictSDL2.a -L-ldl
このように記述しましたが、これでは先ほどのようなエラーがまた出てしまい、
dmd test.d -LlibDerelictSDL2.a -LlibDerelictUtil.a -L-ldl
このように順番を変えたらうまくいきました。

しかしderelict3にしてもそうですが、当然とはいえD言語+SDLでは
日本語ドキュメントがかなり少ないですね。
貼って頂いたサイトのライブラリもとても興味がわきますが、
英語頑張らないとダメですかね・・。

にしてもやっと最初の一歩が踏み出せました!
有難う御座いました!

41 名前:デフォルトの名無しさん mailto:sage [2015/02/11(水) 15:10:15.21 ID:z34G2oAC.net]
なんで翻訳文口調?w

42 名前:デフォルトの名無しさん mailto:sage [2015/02/11(水) 15:24:58.77 ID:Cq2Zt0wJ.net]
struct Hoge
{
Hoge _hoge;
}


構造体ってこんなこともできねーのか

43 名前:デフォルトの名無しさん mailto:sage [2015/02/11(水) 15:41:17.19 ID:I3RcppAe.net]
たかし、休みだからって昼間からお酒なんか飲んで



44 名前:デフォルトの名無しさん mailto:sage [2015/02/11(水) 15:58:10.30 ID:lWf1wIdf.net]
>>40
構造体は値型でclassとかと違って常に実体があるから
_hogeの中の_hogeの中の_hogeの中の_hogeの中の_hogeの中の_hogeの中の…
みたいになる

45 名前:デフォルトの名無しさん [2015/02/11(水) 16:54:42.71 ID:29qyXWgk.net]
>>32
めちゃくちゃやな

46 名前:デフォルトの名無しさん mailto:sage [2015/02/11(水) 17:29:15.53 ID:xhm7zQSL.net]
D言語人気あるなw

47 名前:デフォルトの名無しさん mailto:sage [2015/02/11(水) 17:46:14.73 ID:DokQQA8v.net]
>>40にその説明で分かるか疑問だ

48 名前:デフォルトの名無しさん mailto:sage [2015/02/11(水) 17:53:34.97 ID:GbZ4KuWH.net]
struct Hoge
{
Hoge* _hoge;
}

なら可能なのかな

49 名前:デフォルトの名無しさん mailto:sage [2015/02/11(水) 19:48:00.41 ID:AEgPMJkt.net]
>>46
それはもちろんできる。
実際にstd.container.SListとかDListはそんな感じになってる。
(正確には内部のNodeが、だけど)

50 名前:デフォルトの名無しさん [2015/02/12(木) 13:29:24.84 ID:4XYPAIWu.net]
>>36さんが貼ってくれたgfmを使おうとしたんですが、
その中に書いてあったサンプルプロジェクトhttps://github.com/p0nce/aliasthis
をdubでビルドを試みたんですが、
Error executing command build: Root package aliasthis contains reference to invalid package gfm:math
って言われて、
あれ?dubって足りないパッケージ自動でダウンロードしてくれるんじゃなかったっけ?って
思いつつも、仕方ないからdub.jsonから"dependencies"の項目全部消してimportファイルを手動で配置して
実行したら、今度はsource/aliasthis/colors.d(11): Error: module hsv is in file 'gfm/image/hsv.d' which cannot be read
と怒られた。
gfmの最新リポジトリ内のimageにはhsv.dがないが、ソースにはインポートされている。
こうなったらもうこのプログラムの実行は無理かな。

51 名前:デフォルトの名無しさん mailto:sage [2015/02/12(木) 17:37:55.21 ID:q1EoFTcz.net]
>>48
バージョン1.1.4が古すぎて、dubリポジトリから消えたのが原因
(最新30バージョンしかダウンロードできない)

dependenciesに書いてるバージョンのgfmを持ってくればいいよ
git clone (gfmのgitレポジトリ); git checkout v1.1.4してdub add-localするなり、手動でコンパイルするなり

52 名前:デフォルトの名無しさん mailto:sage [2015/02/12(木) 19:48:39.30 ID:bXvlMxGY.net]
wxDでポトペタで開発できる環境はまだ無かったり?
そういう環境があればあっさり普及しそうなんだが

53 名前:デフォルトの名無しさん mailto:sage [2015/02/12(木) 19:50:51.16 ID:PfMIiKi9.net]
あっさり動かなくなるのが先



54 名前:デフォルトの名無しさん mailto:sage [2015/02/12(木) 19:51:29.35 ID:y+H1/X6i.net]
なるほど

55 名前:デフォルトの名無しさん mailto:sage [2015/02/12(木) 20:51:21.63 ID:q1EoFTcz.net]
QMLバインディングがあるから、QtCreatorとやらでGUIを作れるんじゃないか
試したことないから知らないけど

56 名前:デフォルトの名無しさん mailto:sage [2015/02/12(木) 20:53:00.31 ID:3kErsrEg.net]
ポトペタは実はあった
DFLとDWTのコードが書けていた
遠い遠い昔の話だ

57 名前:デフォルトの名無しさん mailto:sage [2015/02/12(木) 21:06:55.00 ID:4P7uNPIb.net]
そもそもwxDが今や死んでるという…

お願いですからwxDかQtDかのどっちかでいいから生き返ってください
C++からのポーティングはやっぱ難しいのかな

58 名前:デフォルトの名無しさん mailto:sage [2015/02/12(木) 21:29:47.24 ID:3kErsrEg.net]
QtDは最初よかったけどなんか根が深そうなエラーが散発的に出てきて辛くなったな
開発者の人もくじけてしまったんだろうか

59 名前:デフォルトの名無しさん mailto:sage [2015/02/12(木) 21:34:47.94 ID:PfMIiKi9.net]
DFLのポトペタは今もできる

60 名前:デフォルトの名無しさん mailto:sage [2015/02/12(木) 22:16:49.62 ID:q1EoFTcz.net]
ポトペタという単語、自分とは別の文化圏の香りがする……

61 名前:デフォルトの名無しさん mailto:sage [2015/02/12(木) 23:09:30.23 ID:PfMIiKi9.net]
QtD サポートのために traits 増やしたお というのを数年前に見て度肝を抜かれた
だがそれでも時既に遅しだったのかもしれない

62 名前:デフォルトの名無しさん [2015/02/13(金) 01:55:34.54 ID:Bhurw0eL.net]
>>49
なるほど、確かに古いパッケージ見てみたら該当のソースがあった!
しかし今度はね。それだけじゃなくてね。std.loggerってのもないんだって・・w
Wikiでちょっと見た所、過去にあったimportファイルみたいなのだが、
今はstd.experimentalとやらに分類されてるようで、
それは標準添付ではなくて、リポジトリから持ってこないといけないみたい。
で、loggerというディレクトリに5つのソースファイルに分割されていた・・w
たった1年か2年前のソースをビルドするのがこんなにも大変とは、
D言語の破壊的成長力に、め・・目を見張るばかりだ!

63 名前:デフォルトの名無しさん mailto:sage [2015/02/13(金) 08:41:05.07 ID:OQXQ5SVC.net]
互換性維持しない方向で成長するのは別に構わんけど
過去のリポジトリ消される(ライブラリ含めて)のはめっちゃ困る罠



64 名前:デフォルトの名無しさん mailto:sage [2015/02/13(金) 08:46:04.43 ID:wpAfYcVd.net]
こういうことがあるからあんまり流行らないんだろうなぁと思う

65 名前:デフォルトの名無しさん [2015/02/13(金) 10:04:02.80 ID:Bhurw0eL.net]
うーん・・
dub buildで急にエラーが出て何もできなくなった。
ソースとかまるで関係なく、どんなプロジェクトでも同じ文言を吐き出す
ようになったのだが、、

dub build
Error executing command build: Failed to invoke the compiler dmd to determine the build platform: {
"compiler": "dmd",
"frontendVersion": 2066,
"compilerVendor": "Digital Mars D",
"platform": [
"linux",
"posix"
],
"architecture": [
"x86_64"
],
}
Error: Error writing file '/tmp/dub_platform_probe.o'

dub_platform_probe.d見ても原因がさっぱり分からない助けてくれ。

66 名前:デフォルトの名無しさん mailto:sage [2015/02/13(金) 10:44:48.60 ID:GGd+ovbB.net]
Dの破壊的変更はもっとマシになるべきだが対策することが出来る
だが半生ライブラリはダメだ 滅ぶべき
パッケージシステムは道を誤りし背教者どもの墓標

67 名前:デフォルトの名無しさん mailto:sage [2015/02/13(金) 13:22:45.55 ID:hveNpu6j.net]
>>60
え、そっちもGitレポジトリでしょ? 過去の状態のを使えばいいのでは
(内容も変わってるかもしれないし)

68 名前:デフォルトの名無しさん mailto:sage [2015/02/13(金) 13:33:09.45 ID:hveNpu6j.net]
>>61
dubレポジトリは個人がボランティアで運営してるっぽいから仕方ない
あそこはGithubからミラーしてるだけだから、どうしても古いバージョンが入手できないということはないしね

2015年前半に、D言語の宣伝・普及のための団体を作るとかいう計画を立ててるらしいけど
それ以前にこういうボランティア任せの部分をちゃんとしたサービスとして運営できる組織を作って欲しいなぁ

69 名前:デフォルトの名無しさん mailto:sage [2015/02/15(日) 02:45:27.03 ID:cP5B7v6s.net]
人を動かすにはお金が必要なのです…

70 名前:デフォルトの名無しさん mailto:sage [2015/02/15(日) 03:06:40.00 ID:f2y5BLpx.net]
永遠の17歳でいればずっと輝いていられる
そんなD言語

71 名前:デフォルトの名無しさん mailto:sage [2015/02/15(日) 09:59:28.43 ID:lHovhrIX.net]
Swiftのポジジョンに収まっていれば安泰(?)だったかもなぁ

72 名前:デフォルトの名無しさん mailto:sage [2015/02/18(水) 21:59:32.13 ID:afKn2lden]
C++のstd::queueのようなものが使いたいです。
O(1)で先頭への追加ができるコンテナは無いのでしょうか?
ここでも議論されてはいますが、結局自分でリングバッファを実装するしか無いのでしょうか…
forum.dlang.org/thread/atvcmtobqdtdtwcwpogh@forum.dlang.org#post-mailman.394.1358112013.22503.digitalmars-d:40puremagic.com

73 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 13:19:34.20 ID:HRi6jpIR.net]
必要なのは D言語の入門・解説ではなく D言語とのつきあい方のガイドである



74 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 13:26:50.22 ID:HRi6jpIR.net]
Beta2
downloads.dlang.org/pre-releases/2015/

75 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 15:56:05.50 ID:IlBmsRQL.net]
オオカミ言語

76 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 19:41:27.84 ID:XR+Fo/Bc.net]
>>71
たしかにそうかも
自称ですら「2番めに学ぶ言語としていいよ!」とか言ってるし

77 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 23:05:32.06 ID:/l77WhQC.net]
1番目に学ぶべきはCかJavaかC#
2番目に学ぶべきはCかJavaかC#のまだやってないの
3番目に学ぶべきはJavaScriptかPythonかRuby

78 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 23:20:17.85 ID:VH3d6pj7.net]
実際の状況を考えると、CとJavaとC#が選択肢に並ぶ場面ってそうそう無いよな

79 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 23:22:06.59 ID:VH3d6pj7.net]
>>74
ありゃ相当古い記述なのであまり真に受けない方がいい
今は割と初心者向けのリソースがあるし(英語が読めない人間には無いも当然だけど)

80 名前:デフォルトの名無しさん mailto:sage [2015/02/20(金) 00:33:37.66 ID:0dV0e97W.net]
D言語はまだ英語無しで学べる言語じゃない

まあ

81 名前:レファレンス読むよりソース読んだ方が手っ取り早いかもしれないけど
(でもソースがレファレンスの代わりになるってunittestのおかげだよね)
[]
[ここ壊れてます]

82 名前:デフォルトの名無しさん mailto:sage [2015/02/26(木) 23:20:00.62 ID:3O66RLhf.net]
お前らが「最近のD言語は安定しててつまらない」って言い始めたら本気出す

83 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 00:27:23.38 ID:K5JNT6u2.net]
本当に安定しててつまらないよ、細々とした調整ばかり
今年はDIP69含めて大幅な変更に期待



84 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 00:35:21.49 ID:f/HlKW2K.net]
RoRみたいなキラーフレームワークの登場が最優先だろ
変更ばっかじゃいつまでたっても出てこねえんだよお

85 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 16:16:04.75 ID:K5JNT6u2.net]
まさにRubyも仕様変更の多い言語なわけだし、あまり関係なさそう
キラーなんたらが出る以前に、それなりに人気が無いと始まらん

86 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 17:00:53.63 ID:fb9Ltl2D.net]
RubyやPythonと違ってネイティブ吐けるところがメリットだけど
Pythonで間に合ってます

87 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 17:16:40.06 ID:K5JNT6u2.net]
PythonとDの両方が、同時に選択肢に入ってくる状況なんてあまり無さそうだがな

88 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 17:23:58.74 ID:iHoQTjKY.net]
>>82
ライブラリが充実して実用的に使えるバージョンがない
複数組み合わせて使うとたちまち破綻する
比べる土俵が間違ってる

89 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 18:00:21.53 ID:V3GT5Jyg.net]
バージョンが変わって動かないなら自分で直せばいいじゃない

90 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 18:17:54.33 ID:XIuqZzpl.net]
他の言語に比べて、D言語でしかできない or ものすごくやりやすい ことってなによ?

91 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 19:17:07.04 ID:mK3Wrb1I.net]
自分がそうだけど継ぎはぎだらけのC++の汚さに絶望した人がやってるんだと思う
スマートなコーディングができるのにアセンブリコードが出力されるから
Javaやスクリプト系のように速度で妥協することもない

92 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 19:22:04.02 ID:qLq7jEUd.net]
C++で同じことできるって言われても意味ないんだよねえ。
単なる見せかけの機能だけに釣られてる奴はC++やってた方がいい。

93 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 19:23:14.99 ID:mK3Wrb1I.net]
ちょっと理解できてないのかな
C++よりスマートなコーディングができることに魅力を感じてるって話なんだけど



94 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 19:28:30.17 ID:mK3Wrb1I.net]
とりあえずバカはレスしない方がいいと思うんだ

95 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 19:36:30.29 ID:6qk14JOo.net]
>>89はお前に同意してるだろ

96 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 19:50:40.22 ID:XIuqZzpl.net]
>>88 >>90
たとえば?
C++ も 11, 14 で多少はマシになったと思うんだけど、
どの辺りが問題で、D言語ならどういうふうにスマートに書けるんだろう?

97 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 19:58:54.66 ID:K5JNT6u2.net]
>ライブラリが充実して実用的に使えるバージョンがない
?

98 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 21:39:53.48 ID:PrbBT478.net]
テンプレート絡みだけでかなり差別化できてるんじゃね
あと今更イテレータとか触りたくないよね

99 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 00:25:57.89 ID:eZcrJ6fq.net]
C++の偉い人もタイムマシン手に入れたら何したいって聞かれて
C++のテンプレート周りの構文をD言語風にしたいって言ってたな

100 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 01:49:28.71 ID:2/mdATAK.net]
D言語は気持ちよくプログラミングできるんだ

俺にとってのD使う理由はそれで十分

101 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 02:14:47.96 ID:OQbzO6Hu.net]
C++は気持ち悪いからな
関数ポインタとデリゲードが別物であった時点で俺の中では終わった。

102 名前:デフォルトの名無しさん mailto: []
[ここ壊れてます]

103 名前:sage mailto:2015/02/28(土) 07:17:05.89 ID:dohjXiRJ.net [ >>98
C++で統一できるなら、std::function<...> で統一すれば済む問題だろ?
DのデリゲードはCの関数ポインタに変換できるのか? 既存のC製ライブラリを使うときはどうするんだ? ]
[ここ壊れてます]



104 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 07:59:44.49 ID:MvLmnYM1.net]
AOっても誰も教えてくれませんよ?

105 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 10:26:19.86 ID:X4brU/QV.net]
>DのデリゲートはCの関数ポインタに変換できるのか?
Dにも普通の関数ポインタがあるので、そちらを使う
まあデリゲートでも(cast(void function())dg.funcptr)とか出来る、もちろんキャプチャした変数は使えなくなるけど

106 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 10:31:56.76 ID:X4brU/QV.net]
訂正:dg.funcptrは既に関数ポインタなのでキャストは不要
当たり前だな、何を勘違いしてたんだろう

107 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 10:32:47.26 ID:OQbzO6Hu.net]
キャプチャなんてもんがある辞典でC++は消滅すべき

108 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 10:41:51.15 ID:dohjXiRJ.net]
>>101
C++もキャプチャ変数が無ければC関数ポインタとして渡せるから、似たようなものだね。
つまり >>98 は単に無知だったということだな。
>>103 も言葉通りだとナンセンスだが、「キャプチャ変数を明示する必要がある」という意味なら一理ある。

109 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 12:34:31.63 ID:C0E19LHH.net]
キャプチャ自体はなるほど、と思ったけど
キャプチャ周りの書式はもうちょっとどうにかならんかったかなと思う
初見のときはあまりの違和感に頭がしばらくぐよんぐよんした

110 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 09:38:36.00 ID:OUJYb7d1.net]
https://issues.dlang.org/show_bug.cgi?id=14213
S氏のバグ報告、これってProxyにtoHash付いたのが原因か
getHash(cast(const void*)a)としてるけど、delegateをconst void*にキャストするのがdeprecatedになった

111 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 11:03:23.35 ID:aFT4GJSL.net]
constなdelegateとかにいまだに違和感がある

112 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 20:39:46.21 ID:OUJYb7d1.net]
2.067マダァ-? (・∀・ )っ/凵⌒☆チンチン

113 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 22:07:38.95 ID:H0vTWA+P.net]
まだ RC も出てないよ
後1,2回ベータが出てからその後のはず



114 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 04:53:56.17 ID:AZdlh9F+.net]
始まる前に終わるのか

115 名前:デフォルトの名無しさん mailto:sage [2015/03/03(火) 18:26:41.34 ID:lY8jIC0A.net]
>>97これ

116 名前:デフォルトの名無しさん mailto:sage [2015/03/04(水) 10:09:49.78 ID:FV6jzTFn.net]
beta3
downloads.dlang.org/pre-releases/2.x/2.067.0/

117 名前:デフォルトの名無しさん mailto:sage [2015/03/04(水) 23:56:06.11 ID:FV6jzTFn.net]
vibe.dの問題が解決できるまで2.067のリリースを遅らせるようだ

118 名前:デフォルトの名無しさん mailto:sage [2015/03/05(木) 01:37:44.30 ID:gwTnmSIO.net]
D言語わくわく
next 2ch.net/tech/1425486862
       ↑
      ツメル

119 名前:デフォルトの名無しさん mailto:sage [2015/03/05(木) 02:08:06.26 ID:x1uxCIef.net]
スパムみたいな書き方だな

120 名前:デフォルトの名無しさん mailto:sage [2015/03/05(木) 04:06:53.30 ID:n3NecQLR.net]
punycodeでも検閲回避不能か

121 名前:デフォルトの名無しさん mailto:sage [2015/03/05(木) 09:52:56.19 ID:x1uxCIef.net]
2.067ではGCが高速化したらしい

122 名前:デフォルトの名無しさん mailto:sage [2015/03/13(金) 16:58:15.46 ID:xCaUG5yII]
sc記念

123 名前:デフォルトの名無しさん mailto:sage [2015/03/15(日) 12:30:14.94 ID:gUpehvCT.net]
フォーラム見てるとWalterとAndreiに対してヘイトが溜まるなぁ
なんだこいつら



124 名前:デフォルトの名無しさん mailto:sage [2015/03/16(月) 00:49:17.06 ID:+bImnCtP.net]
>>119
なんか横暴なことでもしてるの?

125 名前:デフォルトの名無しさん mailto:sage [2015/03/16(月) 08:22:23.11 ID:rfonf8fQ.net]
別に横暴って訳じゃないけど、なんか他人を見下してる風なんだよな
自分たちと違う意見を持つ人間ってだけで馬鹿にするような返答や皮肉を繰り返してた時はちょっと引いた
特にWalterは何かにつけて「30年間プログラマをやってきた経験」とやらで他人の意見を蹴ったり、一方で都合が悪くなると返事しないので腹立つ

126 名前:デフォルトの名無しさん mailto:sage [2015/03/16(月) 10:32:44.07 ID:r187UUhH.net]
>自分たちと違う意見を持つ人間ってだけで馬鹿にするような返答や皮肉を繰り返してた時はちょっと引いた

あるある
こういう態度からは何も生まれない

127 名前:デフォルトの名無しさん mailto:sage [2015/03/17(火) 11:46:22.59 ID:JR5CbamM.net]
2.067RC 出た

128 名前:デフォルトの名無しさん mailto:sage [2015/03/22(日) 11:14:50.00 ID:GjqveEz/.net]
やっとか

129 名前:デフォルトの名無しさん mailto:sage [2015/03/23(月) 09:50:52.33 ID:YJLz3rN2.net]
FacebookがD言語を開発してるみたいな誤解を与えられたの、AAの目論見通りなのかな
実際はちょいと金貰っただけだし、業務ではほぼ使われてないとAAも言ってたし

130 名前:デフォルトの名無しさん mailto:sage [2015/03/26(木) 10:19:51.24 ID:jtu1q66h.net]
正式リリース出たで

131 名前:デフォルトの名無しさん mailto:sage [2015/03/27(金) 10:32:23.05 ID:i1/0Dr4k.net]
以前ここで見た気がするけど

dmd2.067(win32)でも、windows8.1 64bitで
以下が落ちる
---
size_t count;
scope(failure) count.writeln;
foreach (_; 0 .. 100) {
count++;
new byte[100_000_000];
}
---
13
core.exception.OutOfMemoryError@(0)

132 名前:デフォルトの名無しさん mailto:sage [2015/03/27(金) 22:14:20.45 ID:CTT/twdI.net]
GC「それはな…ちゃうねん」


なんかGC作動オプションつけられるようになったっぽいから色々試してみたけど
どうやっても落ちるのな

133 名前:デフォルトの名無しさん mailto:sage [2015/03/28(土) 14:05:37.34 ID:1FIUchx6.net]
PreciseGC にならないとダメ

非アドレスをはじけないから
デカいブロックを使用中と誤認したり無駄なスキャンも防げない

自前で malloc/free するか Win64使うか



134 名前:デフォルトの名無しさん mailto:sage [2015/03/28(土) 14:54:58.16 ID:1U0GdOh9.net]
でかいJPEGファイルをロードしたくらいで引っかかる上に
外部ライブラリを使ってるから回避できなくてとても困る
やはり時代は@nogcか…

135 名前:125 mailto:sage [2015/03/28(土) 14:55:17.12 ID:3c7jmW0j.net]
いい加減、64bit環境を構築するかー
さんくす!
一応 delete で、不要と教えてあげれば落ちないけど
GCの意味ないなあとか思っていじってました

GC「要らないならいうてやー」

136 名前:デフォルトの名無しさん mailto:sage [2015/03/28(土) 15:40:21.32 ID:1FIUchx6.net]
10-20MB以上のデカいブロックだけmalloc/freeするのがいい
GCに預けたやつを中途半端に手出しするのもあんまり

137 名前:デフォルトの名無しさん mailto:sage [2015/03/28(土) 15:42:10.46 ID:F7N+uTWP.net]
GCの方がトータルで速いと主張してたのはなんだったんや・・・
つか、GC無しが有り環境に移行するのはまだしも、有りだったのが無しに移行するのって辛いよな

138 名前:デフォルトの名無しさん mailto:sage [2015/03/30(月) 13:07:23.56 ID:i+YJuxFC.net]
D言語からC言語のヘッダファイルを読み込むにはどうしたらよいですか?
具体的にはwindows.hとかを読み込みたいです。
DirectXとかも使いたいのでC++用のCOMのヘッダも読み込みたいです。
D言語はライブラリが少ないし、
マイナー言語なので、ライブラリ提供者から公式なサポートが無いです。
そのため、C/C++用のライブラリをそのまま流用して使いたいです。
ヘッダファイルには、C/C++用のマクロなども定義してあるので、
D言語はC/C++の全機能をサポートする必要があります。
このために、DとC/C++を切り替えるスイッチが必要で、( 例えば extern C++{ } )
私が知りたいのはこの機能です。

139 名前:デフォルトの名無しさん mailto:sage [2015/03/30(月) 13:45:54.48 ID:yiQdteM4.net]
原則:
・C/C++のヘッダを直接読むことはできず変換が必要
・DMDでWin32アプリを作る場合に限り、C/C++ののライブラリの変換も必要

大抵のライブラリはすでに変換済みのが用意されてるのでそれを使うだけ
Win32API -> www.dsource.org/projects/bindings/wiki/WindowsApi/
ゲーム用とかなら github/DerelictOrg が充実してる

140 名前:デフォルトの名無しさん mailto:sage [2015/03/30(月) 13:51:58.23 ID:yiQdteM4.net]
いちおう公式のバインディング集 使ったことないからどのくらいあてになるかは知らない
https://github.com/D-Programming-Deimos

141 名前:デフォルトの名無しさん [2015/03/30(月) 23:00:53.68 ID:QPp3Flh2.net]
wxDを使えている人に質問です。windows上でmingwからwxDをコンパイルしようとすると、wxWidgetsのコンパイルまでは成功したのですが
、wxDのコンパイルで以下のようなエラーがでます。
export PATH=/e/D/dmd2/windows/bin:/e/D/dm/bin:$PATH
export WXDIR=/e/D/wxWidgets-2.8.12
make
dmc -D__DMD__ -mn -g -o+none -D____ -D__WXDEBUG__ -Ie:/D/wxWidgets-2.8.12\inclu de -Ie:/D/wxWidgets-2.8.12\lib\dmc_lib\mswd -w- -I. -WA -DNOPCH -HP90 -Ar -Ae -HP99 -c -oaccel.obj accel.cpp
virtual ~name() \
^
local_events.h(49) : Error: storage class is illegal in this context
{ \
^
local_events.h(50) : Error: illegal constructor or destructor or invariant decla ration
ProcessEvent(e); \
^
local_events.h(52) : Error: undefined identifier 'ProcessEvent'
}
^
local_events.h(53) : Warning 18: implied return of name at closing '}' does not return value
void RegisterDispose(Virtual_Dispose onDispose) { m_onDispose = onDispose; } \
^
local_events.h(67) : Error: undefined identifier 'm_onDispose', did you mean 'on Dispose'?
virtual ~name() { m_onDispose(this); } \
^
local_events.h(68) : Error: storage class is illegal in this context
Fatal error: too many errors
--- errorlevel 1

--- errorlevel 1

--- errorlevel 1

142 名前:デフォルトの名無しさん [2015/03/30(月) 23:02:22.58 ID:QPp3Flh2.net]
dmd 2.067.0, dmd 2.054
wxWidgets-2.8.12
wxd 0.16
dmd 2.067.0, 2.054どちらでもエラー内容は同じでした。何が問題なのでしょうか?

143 名前:デフォルトの名無しさん mailto:sage [2015/03/31(火) 00:23:32.12 ID:DLD3Q9u2.net]
どう見ても C++ でコケてるんだが



144 名前:デフォルトの名無しさん mailto:sage [2015/04/05(日) 02:08:57.94 ID:i8c3cK/q.net]
久しぶりにさわったらUFCSとかrangeとかイケてるやん、書いてて気持ちえ〜わ〜

145 名前:デフォルトの名無しさん mailto:sage [2015/04/08(水) 21:42:13.87 ID:QBLG8yia.net]
replaceはstringとregexで被ってるのか

146 名前:デフォルトの名無しさん mailto:sage [2015/04/08(水) 22:47:53.09 ID:bms3DTdi.net]
www.kmonos.net/alang/d/overview.html
>非仮想メンバ関数。C++では、関数がvirtualになるかどうかは クラスの設計者が前もって決定します。
>メンバ関数をオーバーライドすることにしたのに、基底クラスの方で改造を忘れる… というのは、
>よくある(けれども非常に見つけにくい)コーディングミ

147 名前:スです。
>全てのメンバはvirtualにしておき、 オーバーライドが存在しないことをコンパイラが検知して非 virtual に変える、
>というアプローチの方が信頼性があります。

と書いてありますが、実際にどこまでそんな最適化が機能しますかね。
ローカルスコープでnewされたオブジェクトなら簡単に検地できますが、
メソッドの引数で渡されたオブジェクトや、
メンバ変数で保持しているオブジェクトに対して、
オーバーライドが存在しないことを、どこまで検地できるものなのでしょうか。
D言語はモジュール単位でコンパイルするので、
自分のモジュール以外で何が行われるかわからないのでは?
[]
[ここ壊れてます]

148 名前:デフォルトの名無しさん mailto:sage [2015/04/09(木) 05:18:11.14 ID:uR76CfxE.net]
詳しくないのでさっぱりなのだがこっちにも
www.kmonos.net/alang/d/function.html#virtual-functions
>コード生成時にDはクラス階層を全て把握していますので、
>オーバーライドされていない関数への呼び出しは全て最適化されて non-virtual になります。
って自信満々に書いてあるね。

で、なんかそんな話題どっかでみたなあと思って探してみたが
hibari.2ch.net/test/read.cgi/tech/1293500945/300-303
別に結論出てなかった。
まあ「finalつけると速くなる」なら(今でも同じかは確認してないが)
可能であろうと、少なくとも真面目に実装はしてないんだろうね。

149 名前:デフォルトの名無しさん mailto:sage [2015/04/09(木) 09:23:07.96 ID:BNp5TkNs.net]
virtual がキーワードとして追加された後しばらくして撤回されたのが最近の出来事

150 名前:デフォルトの名無しさん mailto:sage [2015/04/09(木) 18:19:45.10 ID:HK14cBmq.net]
D言語のコンパイラで一番いいのは何ですか?

151 名前:デフォルトの名無しさん mailto:sage [2015/04/09(木) 19:55:59.27 ID:38RAslub.net]
dmdしか使ってない俺にもdmdが最善ではなさそうなことはわかる

152 名前:デフォルトの名無しさん mailto:sage [2015/04/09(木) 21:10:41.59 ID:BNp5TkNs.net]
コンパイルが最速でプロファイルもカバレッジもちゃんと動くdmdが最善でないとな?

win32/simd とか win64/seh とか足りないのはあるけど

153 名前:デフォルトの名無しさん mailto:sage [2015/04/10(金) 06:51:36.42 ID:uqc+UxkP.net]
dmdのsimdってまだSSE2までしか対応してないのけ?



154 名前:デフォルトの名無しさん mailto:sage [2015/04/11(土) 15:44:58.43 ID:E/CwOvDs.net]
D言語ってなんで流行らないんですか?

155 名前:デフォルトの名無しさん mailto:sage [2015/04/11(土) 17:32:39.43 ID:7fSRDMX5.net]
ポストC++を目指してるんだけど
C++自体が使われてないから

156 名前:デフォルトの名無しさん mailto:sage [2015/04/11(土) 17:42:57.03 ID:u+ugD/Y+.net]
俺が思うに、Cとソースレベルの互換を切ったのが不味かったな。
Cのヘッダが読み込めないんじゃ、生産性悪すぎ。
Cのライブラリを使おうと思っても、誰かがこっそりDに移植したのを使うしかない。
そんな怪しげなものは企業じゃ使いにくいわな。

157 名前:デフォルトの名無しさん mailto:sage [2015/04/11(土) 22:26:51.94 ID:BiO0sN0+.net]
でもプリプロセッサみたいなXXXXXXなもの積んだら元の木阿弥だしなあ

158 名前:デフォルトの名無しさん mailto:sage [2015/04/12(日) 02:43:30.27 ID:XESAGs1Z.net]
精度の高いhtodまだ?

159 名前:デフォルトの名無しさん mailto:sage [2015/04/12(日) 09:38:06.20 ID:y8PA+brm.net]
C言語にはマクロがあるから難しいだろうね。
マクロとインライン関数とじゃ微妙に動作が違うし。
それを再現するのは難しいし、再現したらしたでDの人たちが怒る

160 名前:デフォルトの名無しさん mailto:sage [2015/04/12(日) 11:32:27.28 ID:E16OManC.net]
他の言語に比べりゃマシ。
普通はC側からもグルーコードを書かないといけない。

161 名前:デフォルトの名無しさん mailto:sage [2015/04/12(日) 11:41:30.34 ID:kQPdUAS+.net]
JNIとか死ねるし

162 名前:デフォルトの名無しさん mailto:sage [2015/04/12(日) 11:47:57.98 ID:UmUJTIj0.net]
ライブラリ側の改造なしで普通にリンクできるってのは大きいなあ

163 名前:デフォルトの名無しさん mailto:sage [2015/04/12(日) 14:18:52.37 ID:y8PA+brm.net]
でも、CのライブラリはC++からだと何の改造もなく普通に読み込めるし、
殆どのライブラリはC++から使われること「も」想定して書いてあるし。
ライブラリの公式なサポートがあるってのも大きいかと。
Dの宿敵は完全にC++なわけで、ここからシェア奪うの厳しくね?
しかも最近のC++はやたら高性能になってて、Dが圧倒的に優位といえるのは、
GCが有ることぐらいか。しかしDのGCは完全じゃないので、実際には開放できる領域を
見逃すことがあるらしい。>>127-129
しかもメモリを使えば使うほど、切迫していればいるほど、誤認の確率が高くなる。
本当にGCが必要な時ほど、GCが上手く動かなくなるという・・・。これはなんかおかしい。

まー一生C++使ってろって言われそうだが。



164 名前:デフォルトの名無しさん mailto:sage [2015/04/12(日) 17:59:43.09 ID:E16OManC.net]
京大院卒の元

165 名前:日立社員ですらrust,go,nimとやってきたがDは目次で投げ出すほど難しいらしい []
[ここ壊れてます]

166 名前:デフォルトの名無しさん mailto:sage [2015/04/12(日) 21:05:35.95 ID:/fCEzYcpA]
難しくはないだろ…普通に使う分には


GCは今後改善されていく事を期待

167 名前:デフォルトの名無しさん mailto:sage [2015/04/12(日) 21:04:55.27 ID:tlWGpnIJ.net]
C++やってないのかよ

168 名前:デフォルトの名無しさん mailto:sage [2015/04/12(日) 21:27:54.60 ID:Kyho4V/V.net]
そこであげられてる言語は比較対象になるのか

169 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 17:54:24.16 ID:bnhydr1P.net]
仕様書であるTDPLを入門書と間違えて買ったんだろうな

170 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 19:57:56.23 ID:S0M+DdK2.net]
D言語パーフェクトガイドの時代が来たようだな

171 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 23:25:29.77 ID:Gjz0iSdUJ]
TDPLも決して難しい本じゃないだろ

プログラミング未経験者にとってはアレかもしれないけど

172 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 22:00:35.44 ID:TJwhWYq7.net]
スマホアプリが作れれば流行るんじゃね?

173 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 22:05:11.14 ID:NpitylM9.net]
Visual D使ってる人に質問です。
Visual Dって標準ライブラリの予測変換でないんですか?



174 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 22:38:44.42 ID:o5X1XXSP.net]
>>167
入力補完できるよ

rainers.github.io/visuald/visuald/Editor.html

175 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 23:57:41.21 ID:VlJAU5Jf.net]
どうせ出てほしい時に出なくて
必要ないときに邪魔なポップアップが出るみたいな
お粗末なものにしかならないべ

言語設計レベルからそこまで考慮してないと

176 名前:デフォルトの名無しさん mailto:sage [2015/04/15(水) 18:59:26.48 ID:V49K0zxq.net]
C#はforeach使うとGCが増えるらしいけど
Dはどうなの?

177 名前:デフォルトの名無しさん mailto:sage [2015/04/15(水) 21:22:05.40 ID:DNCbFPiX.net]
Dってどこで学んだらいいんだ
dlang.orgしかない?

178 名前:デフォルトの名無しさん mailto:sage [2015/04/15(水) 21:33:41.05 ID:P7ZS5djvq]
TDPL

179 名前:デフォルトの名無しさん mailto:sage [2015/04/15(水) 22:20:50.17 ID:kuK1eeQu.net]
https://gist.github.com/repeatedly/2470712
ここ読んで文法身につけて、
標準ライブラリは公式がそこそこわかりやすいからそれで。
(日本語訳はちょっと古いが、参考には十分なる)
んで、わからないことはここか、
最近はtwitterで#dlangのハッシュタグつけて質問するのも流行り。
自分も去年一度質問投げたら、一時間で三人から同じ解答来て震えた。

180 名前:デフォルトの名無しさん mailto:sage [2015/04/15(水) 22:50:13.61 ID:H6ZOKNFw.net]
>>168
ありがとうございました。なんか出てきました。

181 名前:デフォルトの名無しさん mailto:sage [2015/04/16(木) 06:03:51.02 ID:3n63vngU.net]
以前にC++とねんごろになれるうpあったとか見た気がしたけど、あれは幻覚だったのかこの流れ見ると

182 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 08:38:36.34 ID:LOaAnlcG.net]
namespaceに対応したり、C++側でインスタンス化されたテンプレートがDから使えるようになったんじゃなかったっけ?

C++ヘッダを直接import出来るようにするDコンパイラも開発されてるけど結構実用的ぽい
https://github.com/Syniurge/Calypso/blob/master/tests/calypso/libstdc++/vector/vector.d

183 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 13:06:38.13 ID:n6u60MAl.net]
>C++ヘッダを直接import出来るようにするDコンパイラも開発されてるけど結構実用的ぽい

あ、それいいね。てかそれしないと普及しないでしょ。互換性は大事。
COMとかもそもまま使えるようになるんかね。



184 名前:デフォルトの名無しさん [2015/04/21(火) 22:23:29.12 ID:k+lIUh1M.net]
☆ 日本の核武装は絶対に必須ですわ。☆
www.soumu.go.jp/senkyo/kokumin_touhyou/index.html

☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を

185 名前:エえると日本国憲法の改正です。皆様方、必ず投票に自ら足を運んでください。
私たちの日本国憲法を絶対に改正しましょう。☆
[]
[ここ壊れてます]

186 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 16:58:34.80 ID:w0Yyg9N7.net]
dsource.org もいよいよ廃止に向かう模様
使ってる人ほとんどいないだろうけど

187 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 17:06:41.43 ID:QMLocF8n.net]
ちなみに移住先は?最近D使ってないんでよくわからんけど

188 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 17:25:07.03 ID:Atokf9a2.net]
>>2のDUBに登録が最近の流行り

189 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 15:06:10.81 ID:atwBzKak.net]
ノイズが減るのは良いこと

190 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 19:54:37.61 ID:g8/zXSRM.net]
この言語
親クラスのprivate変数に継承先のクラスがアクセスできるじゃん

191 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 19:58:37.29 ID:lZQ1F1hI.net]
継承先のクラスが同一ファイル内にないか?
同一ファイル内のメンバは常にpublicだぜ

192 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 20:23:40.71 ID:g8/zXSRM.net]
まじかよ酷いな
ファイル=モジュールだからファイル分けるの面倒くさい

193 名前:デフォルトの名無しさん [2015/04/24(金) 06:25:45.44 ID:6TulMhAx.net]
同一ファイル内にあるものは自動的にfriendだと思えばC++より便利だな



194 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 21:31:40.36 ID:M02Af7kd.net]
D2はまだ使用が固まってないからとうぶんの間は開発にはD1を使うことになるな

195 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 22:17:29.71 ID:FiVYM95bN]
こやつめ、ハハハ

196 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 23:49:43.65 ID:NpZzAF6y.net]
1のことは忘れるんだ……。
2も最近は破壊的変更が少ないし、
どうしても仕様が固まってるものを求めてるなら別の言語のほうがいいよ。
少なくともD1を使っていいことは一つもないと思う。

197 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 01:41:11.15 ID:nAsvEGea.net]
じゃあC++使うかな
とは言えない雰囲気

198 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 03:54:29.19 ID:3o/5kFDH.net]
D1かC++かならまじでC++使えばいいと思うよ
雰囲気っていうか、まあ確かにC++使うならここで宣言する必要はないと思うけど

199 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 07:50:54.32 ID:XqA1wgYz.net]
意外なことにrustの方が言語とAPI仕様の安定化に積極的っぽい

200 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 08:51:18.76 ID:ZDDsb7dY.net]
明確なゴールもなくフワフワと手を広げるから収束しないんだよ

201 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 19:40:18.02 ID:u+p+733x.net]
effectivec++読んだ時点でc++を見限らない奴はセンス無い

202 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 19:41:43.14 ID:JZyYoAVB.net]
>>192
それここ1ヶ月くらいのことじゃね?
まあでもそういう姿勢を公式に明確にするのはいいことだ

203 名前:デフォルトの名無しさん mailto:sage [2015/04/30(木) 23:13:29.89 ID:DC2IuzKP.net]
PCがオワコンになって一般人はスマホやアップルウォッチしかコンピューターを持たない時代が来るのに
Dを始めとするPCアプリ専用言語に未来はあるのか



204 名前:デフォルトの名無しさん mailto:sage [2015/05/01(金) 12:43:57.40 ID:ZnsZ9ufL.net]
>>196
そもそも、一般人はプログラミングしていない。

205 名前:デフォルトの名無しさん [2015/05/01(金) 15:43:57.35 ID:VV0Lze55.net]
サーバーサイドでも使われないとか終わってる

206 名前:デフォルトの名無しさん mailto:sage [2015/05/02(土) 00:09:29.37 ID:i/dUwmAKi]
dmdのソースにはARMだのandroidだのの文言が見えるが、
どんな感じなのかね

207 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 12:05:34.37 ID:frUd71C/.net]
>>198
Goで泥アプリ開発できるようになったし、PCから移行するにつれいろんな言語が泥とかアフォン
とかでも使えるようになる。

という妄想

208 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 22:49:25.75 ID:umG0fBs5.net]
Tcpを用いたサーバーアプリケーションを作成しています。
一つのSocketを処理するスレッドをspawnで起動しようと

209 名前:オたのですが、
"Aliases to mutable thread-local data not allowed." というエラーが出てしまいます。

Socketをスレッドのコンテキストとして渡す方法はありますか?
[]
[ここ壊れてます]

210 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 19:36:36.05 ID:nbiNTEdK.net]
sharedクラスに突っ込むとかかな

211 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 14:35:43.34 ID:RjQMrwaX.net]
enumのメンバの中からランダムに1つ取り出すにはどう書いたらいいですか?

212 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 17:11:00.71 ID:VhPE5aVV.net]
import std.stdio, std.traits, std.random;

enum E { Hard, Normal, Easy, }
auto lv = [ EnumMembers!E ];
lv[ uniform(0, 3) ].writeln();

213 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 17:35:41.74 ID:RjQMrwaX.net]
>>204
ありがとうございます。
std.traitsにenumのメンバの配列を作る機能があったんですね。



214 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 19:21:10.83 ID:VhPE5aVV.net]
あ、配列なんだからuniform(0, $)でよかった…。

タプルの配列化?みたいな

他にも関数の引数リストとか、構造体のメンバ変数を
タプルでとれたり、std.traitsは結構楽しい

215 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 09:46:23.34 ID:LbQhEyX4.net]
メンバにUDAを付加するだけで
文字列化やシリアライズのメソッドが自動or暗黙生成されるような
いい感じの小技はないかしら

216 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 20:05:33.06 ID:T/VMnfch.net]
static ifと文字列mixinを駆使すればなんでもできそう
コードはくっそ汚くなるけど…というかいくらなんでも汚すぎるので俺がなにか勘違いしてる

class Cls {
@getset(true, true) private string prop;
mixin Prop!(__traits(allMembers, typeof(this)));
}
struct getset {
bool get, set;
this (bool get, bool set) { this.get = get; this.set = set; }
}
mixin template Prop(Members...) {
static if (Members.length) {
mixin("alias Alias = " ~ Members[0] ~ ";");
static if (is(typeof(__traits(getAttributes, Alias)[0])==getset)) {
static if (__traits(getAttributes, Alias)[0].get) {
mixin("auto get_" ~ Members[0] ~ "() { return " ~ Members[0] ~ "; }");
}
static if (__traits(getAttributes, Alias)[0].set) {
mixin("void set_" ~ Members[0] ~ "(" ~ typeof(Alias).stringof ~ " value) { " ~ Members[0] ~ " = value; }");
}
}
mixin Prop!(Members[1..$]);
}
}
void main() {
import std.stdio;
auto cls = new Cls;
cls.set_prop("getset");
writeln(cls.get_prop()); // write "getset"
}

217 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 19:07:17.52 ID:TlBS03PH.net]
これいいなあ
それにしてもstatic foreachが欲しい…

218 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 22:32:12.74 ID:KhQ392/2s]
じゃあstatic whileも

そしてstatic goto…

219 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 18:35:51.38 ID:GIDis6QW.net]
>>196
そんなのは日本だけだぞ
海外ではPCとモバイルを使い分けるのが普通

220 名前:片山博文MZ ◆T6xkBnTXz7B0 [2015/06/17(水) 19:52:38.87 ID:/OO8ry8l.net]
Dの簡単インストーラー作るぜ。アイデア募集。

221 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 14:34:15.48 ID:/IuhOBPcf]
>>212
今でも解凍して
path通すぐらいじゃん

222 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/07/03(金) 16:37:05.52 ID:Cj/+Kw22.net]
DmInst ver.0.0を公開しました。
コンパイラーのDMCとDMDを簡単にインストールできるプログラムです。

katahiromz.web.fc2.com/dminst/

223 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 16:45:04.27 ID:PTQIZZxq.net]
苛寝



224 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 15:20:28.78 ID:JqZMsJ+9i]
DUBはあった方がいいと思う。あと、GDCとLDCのインストールもするようにしてみては。

225 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 00:26:47.91 ID:vgLfGCMi.net]
std.experimental.allocator の vote 始まった

https://github.com/andralex/phobos/tree/allocator/std/experimental/allocator
erdani.com/d/phobos-prerelease/std_experimental_allocator.html

226 名前:デフォルトの名無しさん [2015/08/07(金) 01:19:25.71 ID:AOl5d/Q7.net]
vote

227 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 09:22:39.47 ID:JJHEPwAB.net]
2.068

228 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 21:22:49.65 ID:/rELv5XJ.net]
AliasSeq を Alias Equal と読み間違ってしまうマン

229 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 23:59:23.96 ID:HcRp0udTh]
タプルシンタックス…

230 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 19:16:20.38 ID:6X6++Eio.net]
お前らってeclipseのDDT使ってるの?

231 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 04:06:34.44 ID:+P5YetMW.net]
CTFE時に連想配列の値が上書きされてしまう。
dpaste.dzfl.pl/4daf8db6ce08

232 名前:212 mailto:sage [2015/09/13(日) 01:16:43.63 ID:6EXYsBmd.net]
>>223 がgithub版でもおきるかなー?と思ったんだけど、github版dmdをコンパイル中にエラーが出た。
内容は、「ソースに\r\nが含まれますよ」というもの。
出してるのは、dmd -run src/checkwhitespace.d の部分。
このツールは
1. \r\n がソースに含まれている場合。
2. インデントに\tを使っている場合。
3. 行末に不要な空白文字がある場合。
にエラーを出すようなんだけど、3はともかく、これで行くことに決まったのかな。
smart-tab派なんだけどなー。
あ、github版でも212は再現しました。

233 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 08:11:30.88 ID:zHbMvpj8.net]
dmdがDベースになるね



234 名前:デフォルトの名無しさん [2015/09/23(水) 01:15:09.12 ID:c39jTuOR.net]
おまいらこれはなんでなんだぜ
dpaste.dzfl.pl/7fa1a12a8c4a

1. enum をクラスインスタンスで初期化できない→わかる。構造体でラップすると通る→?
2. 1. において、ラップされたクラスが mutable。

235 名前:215 mailto:sage [2015/09/24(木) 17:04:49.35 ID:Q3uW0SwS.net]
>>226 自己レスなんだけど、
1. https://issues.dlang.org/show_bug.cgi?id=11697
2. https://issues.dlang.org/show_bug.cgi?id=12385
なんだって。

236 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 08:34:31.58 ID:58nZ62zg.net]
This Week in D (英語)
arsdnet.net/this-week-in-d/

年初から続いてて筆者はDの入門書出版したりしてる

237 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 09:14:53.57 ID:2BMWd/g5.net]
2.068.2 出てた

ちなみに Win32-COFF が隠しオプション(-m32mscoff)で出来るようになってるので
OMF/optlink がイケてないと思っていた諸兄は試してみるがよいよいよい

238 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 21:28:45.14 ID:S1ELEwjTE]
64bitも隠しオプションだったよね

「コンパイラのソースくらい当然読んでるよね?」ってことなんだろうか…

239 名前:デフォルトの名無しさん mailto:sage [2015/10/04(日) 20:25:42.92 ID:fx9NWY8o.net]
int arr[x][y][z];
これと同じメモリレイアウトでヒープに確保するにはどうすればいいですか?

240 名前:219 mailto:sage [2015/10/04(日) 20:56:03.94 ID:fx9NWY8o.net]
new int[x*y*z]でよかった。
問題なのはint[]のメモリへのアクセスをint[x][y][z]と同じようにする方法だった。

241 名前:219 mailto:sage [2015/10/04(日) 20:59:30.10 ID:fx9NWY8o.net]
自己解決。
[0][0][0],[0][0][1]...[0][1][0],[0][1][1]...の順番で並んでるだけだった。

242 名前:デフォルトの名無しさん [2015/10/06(火) 01:18:13.90 ID:4WYMUnp4.net]
くっそ!
↓Manifest ConstantsのenumとAAのからみがおかしい。
dpaste.dzfl.pl/36ab529d6fc5c
↓CTFEで変数を修飾する方のscope class使うと abnormal termination
dpaste.dzfl.pl/8ad7e24e5d05

243 名前:デフォルトの名無しさん [2015/10/09(金) 21:58:55.85 ID:So4fPMkx.net]
const class A { int a; this(int v) { a = v; } }
このクラスAを値に持つ連想配列を作りたいんだけど、

const(A)[int] hoge = [1: new const A(1)];
hoge[3] = new const A(3); // cannot modify const expression hoge[3]
みたいに、初期化はできても代入ができない。

A[int] hoge = cast(A[int])[1: new const A(1), 2: new const A(2)];
hoge[3] = cast(A)new const A(3);
てなふうにcastしたら回避できたけど、なんか美しくない。
typeof(new const A(1)).stringof == "const(A)" なのがおかしい気がするんだが。



244 名前:223 mailto:sage [2015/10/09(金) 23:28:50.19 ID:So4fPMkx.net]
書き込んでから思い出したけど、Rebindableとかできて結構経つしあきらめるしかない気がしてきた。

>>229 optlink死んでまうん?

245 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 00:27:09.81 ID:MYHuAGIQ.net]
const classとかscope classとかは今もまともに使おうと思えないね
普通のclass内でメンバをconstにするとかじゃないとまともに動く気しない

246 名前:デフォルトの名無しさん [2015/10/15(木) 18:54:50.42 ID:pJRyZOgY.net]
nullではなく、空の連想配列で初期化するにはどうすればよいですか?

247 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 08:36:04.34 ID:CAVKRc42.net]
空の配列 == null なので無理

ただし空文字列 "" は例外 落とし穴になりがちなので注意

248 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 13:11:04.24 ID:TDfNRPC3.net]
ちょっと良くわかりませんが、D言語は空の配列すら作れないんですか?
不便ですね

249 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 17:46:08.84 ID:ZZ3JoxKg.net]
nullでない空ってなに

250 名前:デフォルトの名無しさん [2015/10/16(金) 17:54:55.90 ID:MCgyDKhx.net]
a = {};

こんなのを期待してるのかな

251 名前:226 [2015/10/16(金) 18:32:37.08 ID:+5uWvhRc.net]
>>239-242 レスありがとう。やりたかったのはこういうことです。

string[string] buf;
auto buf2 = buf;
buf2["hello"] = "world";
buf.writeln; // > []

これと↓

string[string] buf = ["": ""];
buf.remove("");
auto buf2 = buf;
buf2["hello"] = "world";
buf.writeln; // > ["hello":"world"]

では結果が違うわけだけど、後半の上2行を初期化1行で書きたいな。
という話でした。

252 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 19:36:08.03 ID:TDfNRPC3.net]
結局どういうことなんですか?
Dでは空の配列を作れないんですか?
必ず何か入っていなければダメなんですか?
int[] a; って書けば空の配列になるんじゃないんですか?

253 名前:226 mailto:sage [2015/10/16(金) 21:04:57.54 ID:+5uWvhRc.net]
>>244
int[] a; で空の配列になりますよ。
226のは「連想配列」が俺にはややこしいっていう話です。



254 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 21:47:10.30 ID:BcAfRt/g.net]
>>243
string[string] buf = (a => (a.remove(""), a))(["" : ""]);

ところで、コンマ演算子を廃止しようとか言ってたのは自然消滅したのか?

255 名前:226 [2015/10/16(金) 22:51:07.22 ID:GwISFyO6.net]
>>246 ありがとうございます。ところでもっと基本的な疑問がわいたのですが、
>>243 の後半での、bufとbuf2の中身がずっと同じであるっていうのは、仕様で保証されてるんでしょうか?
Windows版dmd2.068.2では、1000個値を追加しても同じでした。

256 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 09:05:55.54 ID:M7lcZRBS.net]
>>243
バグっぽい removeしつくしたら null になってるはずなんだけど

257 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 09:08:29.29 ID:M7lcZRBS.net]
それに連想配列の内部実装は最近まで大きく書き換えられてて
動作の微妙な違いとかあるのでトリッキーなことは避けるべき

258 名前:226 [2015/10/17(土) 22:20:49.79 ID:KpZ8gQf0.net]
>>248-249 そうなんですね。書き換えます。ありがとうございます。

259 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 00:01:18.64 ID:wy5QxwnK.net]
リンクエラー。2.067.1では通ってた。
dpaste.dzfl.pl/255495e7489a
1. -m64 で
2. CTFEで実行されるラムダ内で定義されている
3. 配列をメンバに持つ構造体の
4. 配列のconcatを行う

260 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 22:35:23.39 ID:WlXBpB56.net]
↓CTFEでtoHash/opEqualsが効いてない。
dpaste.dzfl.pl/ec40b544f45d
CTFEはまだまだなかなかナヤマシイな! >>249 がらみかしらん。

261 名前:デフォルトの名無しさん [2015/10/28(水) 16:43:28.27 ID:w9dndjrH.net]
D言語って、Javaみたいにソースファイル名とクラス名を同じにしてしまうと、
他のソースでクラス名のつもりで記述したものがパッケージ名扱いになってしまうため
Hoge.Hoge のように同じ名前を2回書かないとクラス名と解釈してくれないと思うのですが、
これを1回だけの記述で済ましたい場合、皆さんはどのように解決されているんでしょうか?
ソースファイル名を変えるのもmodule文で別名にするのも、何か違うように感じてしまいます。

262 名前:デフォルトの名無しさん mailto:sage [2015/10/28(水) 19:24:28.95 ID:9zUX3+we.net]
モジュール名とファイル名は小文字
クラス名は大文字始まり
それでもカブるようなケースはパッケージを作るからまず困らない

263 名前:デフォルトの名無しさん mailto:sage [2015/10/29(木) 01:37:25.50 ID:0VE0VetC.net]
>>253 D言語の命名規則に則れば >>254 の言うとおり。
ただ、どうしてもと言うならこんなんはいかがか。
dpaste.dzfl.pl/dce8977dacc7

えーと。やっぱ242で。



264 名前:デフォルトの名無しさん [2015/10/29(木) 10:25:47.23 ID:xCMI4xlR.net]
>>254
なるほと確かにD言語の命名規則からするとモジュール名は小文字でしたね。
でも、どうしても大きなクラスは同名の一ソースにしたいのです‥すみません。

ところでパッケージで気付かせてもらったのですが、この問題って、
クラスのソースらをルート階層に置いているからこそ起きる問題なのですね。
というわけでディレクトリを一つ掘ってパッケージ下に配置することで一応解決しました!

ただ、パッケージ下にあるソースって module パッケージ名.モジュール名 の記述は必ず必要なのでしょうか?
module文の記述が無いとルートパッケージ下として格納されてしまうようで、
module文を普段省略していた身からするとちょっと面倒に感じています。
この辺りの挙動はjavaのpackage文の踏襲かなと思うのですが、
D言語ではパッケージはディレクトリに対応すると書かれているようなので、
module文を省略しても適切なパッケージに配置してくれて良いような?

>>255
おぉ‥改名選択importというやつでしょうか。確かにこれで通りました。
import _Hoge = Hoge : Hoge; という風に変換されるんですね。
import文までコンパイル時生成できるとは、D言語きm‥素晴らしいです。
ただこの書き方ではモジュール名変更リファクタリングの際にIDEが解析しにくい気がするので
(そもそもそこまでお世話してくれるIDEは現存しないようですけれど‥)、
取り敢えずは先のパッケージへの配置法でがんばってみます。
凄いものをありがとうございました。今後の困難の際に参考にします。

265 名前:デフォルトの名無しさん mailto:sage [2015/11/04(水) 15:13:08.14 ID:L5M/yopQ.net]
dmd2.069.0

266 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 23:00:00.73 ID:XSTiM1/K.net]
Error: template std.algorithm.s

267 名前:earching.countUntil cannot deduce function from argument types !()(int[11], int), candidates are:
こういうエラーが出たんですけど、countUntilに静的配列は使えないということでしょうか?

Error: template instance sort!((uint a, uint b)
あと、sortに無名関数を渡したらエラーが出ました。無名関数も使えないのでしょうか?
[]
[ここ壊れてます]

268 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 11:16:15.31 ID:oYYknJv4.net]
静的配列に対して popFront() が呼べない(初めて知った!)
だからレンジ系操作に対しては全滅に近い

ソートの方はそれだけじゃ分からんね
無名関数は使い方間違えた時にわかりづらい

269 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 15:26:06.21 ID:k3hAw3NX.net]
静的配列は要素数が変更できないからですか。
Rangeの要件を満たしてないとなると結構不便ですね。

sortはエラーメッセージがこの1行しか出ないんですよね。
シンプルな例でテストしたらコンパイルは通ったんですけど、他のコードが影響してるのかなぁ。

270 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 22:04:33.49 ID:X4t7LIyp.net]
固定長配列の全体のスライスを取って動的配列に見せかければ
ある程度のRange操作だったら固定長配列にもかけられるのでちょっと便利です

271 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 23:00:15.52 ID:18XUDL229]
静的配列に対してだったらC系の関数呼ぶとかで対応したほうが良いのでは?

272 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 04:06:00.73 ID:PiWCufYC.net]
はあ、なるほど。

273 名前:デフォルトの名無しさん mailto:sage [2015/11/09(月) 04:09:17.37 ID:PiWCufYC.net]
delegateのcovariane/contravarianceはなくなったんですかね



274 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 10:33:38.52 ID:TuAUCuHQ.net]
SortedRange!(R, ((a, b) => binaryFun!less(unaryFun!transform(a),
unaryFun!transform(b))))
schwartzSort(alias transform, alias less = "a < b",
SwapStrategy ss = SwapStrategy.unstable, R)(R r)
if (isRandomAccessRange!R && hasLength!R)
{ ... }

こんなの見ても揺らがないのが真のD言語er

275 名前:デフォルトの名無しさん [2015/11/14(土) 12:16:16.84 ID:AP01jWaC.net]
真のD言語erはそんなに書いて(書かせて)もらえることに感謝する

276 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 20:42:57.89 ID:uWuWWunU.net]
デバッグ用に関数名を出力したいんですけど、関数名を取得する方法はあるでしょうか?
__FILE__や__LINE__みたいな感じのが欲しいです。

277 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 00:26:31.44 ID:4YAQhy/L.net]
標準入出力をフラッシュするにはどうすればいいですか?

278 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 00:49:19.11 ID:DVr3HCs9.net]
基本的には、DではCの標準ライブラリと同等の関数をほぼそのまま薄いラッパで提供しています

279 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 01:23:34.60 ID:4YAQhy/L.net]
dout.flush()ということですか。
writeln()に対応するものはないんでしょうか?

280 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 02:08:17.69 ID:4YAQhy/L.net]
stdout.flush()でできました。

281 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 07:41:57.52 ID:ndJn5r2D.net]
>>267
__FUNCTION__ も使える
日本語訳サイトは古すぎるから
英語サイトも必ず併用すべき

282 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 14:56:12.51 ID:4YAQhy/L.net]
>>272
関数名の取得もあったのですね。
英語苦手だけど見ないとだめですね。

283 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 15:01:11.74 ID:4YAQhy/L.net]
自作のプログラムを実行すると毎回同じ場所でobject.Error: Access Violationが発生します。
エラーとは関係なさそうな修正(stderr.writeln()を増やしたり減らしたり)をするとエラー発生の場所が変わったり、
InvalidMemoryOperationErrorに変わったりします。
エラーの原因がさっぱり分からないんですけど、どういうことが考えられるでしょうか?



284 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 15:29:26.30 ID:r8bN ]
[ここ壊れてます]

285 名前:QIop.net mailto: リーク []
[ここ壊れてます]

286 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 16:21:30.07 ID:4YAQhy/L.net]
GCのある言語でメモリリークとなると、どういうケースがあるのか想像がつかないです。
エラー発生の場所も変わるので謎です。

287 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 17:04:42.06 ID:PV6fOtMt.net]
GCのリーク以外に
確保してない場所に書き込むのもリークって言わない?

288 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 17:07:38.68 ID:lu/bgS1P.net]
こマ?初めて聞いたその結び付け
リーク=解放処理漏れ 以外の認識ないわ

289 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 17:19:50.76 ID:4YAQhy/L.net]
newする前のクラスのインスタンスの関数を使ってAccess Violationが出たことは過去にありますね。
しかし、今回はちゃんとnewされているし、1回目の呼び出しでエラーが発生してるわけでもないんですよね。
そして>>274で書いたようにstderr.writeln()を追加するだけでエラー発生のタイミングが変わるので難解です。

290 名前:デフォルトの名無しさん [2015/11/15(日) 18:08:15.11 ID:PV6fOtMt.net]
初期化してない変数でアクセス

291 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 18:39:09.01 ID:ndJn5r2D.net]
AVならばぬるぽか RangeErrorか deleteの間違い
-g -debug してないんかいな

InvalidMemoryOperationError 
ならばデストラクタの中で何か変なことしてる疑い

デストラクタの中でdeleteとかしちゃダメダメよ〜

292 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 18:44:09.41 ID:zgz009B6.net]
似たことなったことあるなあ。なんやったか。
templateとかmixinがらみで依存関係見落としててobjの更新忘れとか。

293 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 19:02:33.53 ID:4YAQhy/L.net]
すみませんReleaseビルドになってました。
DebugビルドにしたらRangeErrorになりました。



294 名前:デフォルトの名無しさん [2015/11/15(日) 19:09:44.01 ID:PV6fOtMt.net]
報告乙

295 名前:デフォルトの名無しさん [2015/11/19(木) 16:51:28.76 ID:I2rQS35X.net]
char *hoge[] = new char *[N];
scope(exit) free(hoge.ptr);
とするのと
char **hoge = cast(char **)(new char *[N]);
scope(exit) free(hoge);
とするのとでは同じ動作が期待出来ますか?

あとガベコレを期待するなら
scope(exit) free(hoge.ptr);

scope(exit) free(hoge);
もどちらも不要ですか?

296 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 23:48:30.24 ID:kWkiLP1L.net]
色々とカオス(感想)
C : malloc/free
C++: new/delete

D : new/[destroy]
GCがあるので解放は不要だが、領域が不要になったことをdestroyで明示してもよい
ただしdestroyで領域が即時解放されるわけでなく、GCが必要に応じてよしなにやる
C++のdeleteと区別するために、destroyになった(想像)
---
auto hoge = new int[][N]; // int型の動的配列をN要素もてる動的配列(二次元配列)
foreach (elem; hoge)
elem = new int[色々]; // ジャグ配列も可能
// 以下は不要(してもよい)
foreach (elem; hoge)
destroy(elem);
destroy(hoge);
---
GCを使わずmalloc/freeすることも一応可能
(今だと、std.experimental.allocatorを使うべき?)
newしたものをfreeすることに保証はないと思う、知らんけど

297 名前:デフォルトの名無しさん mailto:sage [2015/11/20(金) 01:05:01.96 ID:gniDkGmv.net]
× foreach(elem; hoge)
○ foreach(ref elem; hoge)

298 名前:デフォルトの名無しさん [2015/11/20(金) 10:48:03.85 ID:LnAg0HCn.net]
ありがとうございます!!

299 名前:デフォルトの名無しさん [2015/11/20(金) 22:50:35.51 ID:KMWFgUCm.net]
クラスのstaticメンバ関数で、継承先の型って見られますか?

class Base {

static T[] takusanMake(T)(int n) { //Hogeから呼んでT=Hogeがほしい
T[] ret = new T[n];
foreach (ref e; ret) {
e = new T;
}
// ... Baseのフィールドしかいじらないような設定 ...
return ret;
}

}

class Hoge : Base {
}

void main() {
//Hoge
auto hoge = Hoge.takusanMake(30);
}

内容はともかく、大体こんな感じのことをしたいです
Baseから派生したクラスで定義するとか、ちゃんと!(Hoge)してもいいんですが、
(this T)を見てから何か方法があるような気がしてきて・・・

300 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 13:20:00.57 ID:1cOWOBS ]
[ここ壊れてます]

301 名前:i.net mailto: staticなメンバ関数からは、thisは見えないので
UFCS前提でいっそ外部に出して
===
import std.stdio;

class Base {}
class Hoge : Base {}
class Other {}

T[] takusanMake(T : Base)(lazy T d, int n) {
auto ret = new T[n];
foreach (ref e; ret) {
e = d();
}
return ret;
}

void main() {
auto hoge = (new Hoge).takusanMake(30);
typeid(hoge).writeln;
// Baseに暗黙変換できない型はNG
//auto other = (new Other).takusanMake(30);
}
===
こういうのはどうだろう
(もっといい方法ありそう。。)
[]
[ここ壊れてます]

302 名前:デフォルトの名無しさん [2015/11/21(土) 14:42:18.71 ID:8z9xCqW5.net]
Hoge という型と Fuga という型があって

Hoge[Fuga] hage;
という連想配列は定義できるみたいなのですが

Any という任意の型があるとして
Any[Any] moge;
みたいな連想配列は作れますか?

303 名前:デフォルトの名無しさん [2015/11/21(土) 14:47:56.80 ID:8z9xCqW5.net]
ちなみに
["A": "B", "C": 3, 4: "E"]
みたいなのを作りたいのです



304 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 15:28:20.57 ID:8z9xCqW5.net]
Object[Object] moge = ["A": "B", "C": 3, 4: "E"];

これでだめでした orz

305 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 22:31:38.28 ID:jpeEJ7vY.net]
import std.variant;
auto moge = [Variant("A"): Variant("B"), Variant("C"): Variant(3), Variant(4): Variant("E")];
とかいうダサい感じのしか思いつかない。

306 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 23:35:17.00 ID:BXVotCtM.net]
>>290
確かにもう外に出してしまう方がいいかもしれないですね
外に出すことは考えてなかったのでもうちょっと考えてみます

307 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 12:23:27.44 ID:rXOpUu6m.net]
>>291
型付き言語に喧嘩売ってんのか

308 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 12:42:54.55 ID:rXOpUu6m.net]
>294
ダサくてよければ

Variant[Variant] constructor(T...)(T plist){
Variant[Variant] result;
foreach(ref p; plist) result[new Variant(p.keys[0])] = new Variant(p[p.keys[0]]);
return result;
}
Variant[Variant] moge = constructor(["A": "B"], ["C": 3], [4: "E"]);

試してないけど

309 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 18:10:01.30 ID:K6EhBG35.net]
引数が1個ずつ別のAAになってる…?
きもちわるすぎる

310 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 18:34:22.00 ID:uPJ5yBy3.net]
import std.variant;
import std.stdio;

Variant[Variant] makeTable(T...)(T p) {
static assert(T.length%2 == 0);
Variant[Variant] t;
foreach (i, ref v; p) {
static if (i%2 == 0) {
t[Variant(p[i])] = Variant(p[i+1]);
}
}
return t;
}

void main() {
auto t = makeTable(1, 2, "hoge", 123.2);
writeln(t);
}

311 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 19:32:11.41 ID:QPIcOg4c.net]
>>293
dpaste.dzfl.pl/2879b11f3fec
ま、やっぱロクなことにはならんわなあ。

312 名前:287 mailto:sage [2015/11/22(日) 19:46:28.38 ID:QPIcOg4c.net]
やっぱコード追加で。連投御免。
dpaste.dzfl.pl/19cc3ea3bd0d

313 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 14:44:46.01 ID:5yZmzCJ8.net]
mixin使ったら負けな感じ半端ない



314 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 23:06:50.39 ID:zlo1l7ot.net]
やろうとしてること自体闇魔術臭いしわりと妥当なのかもしれない

315 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 12:03:53.42 ID:Dj+m8Q01.net]
>>297>>299 ってどちらもコンパイル時に
解決された型変換のコードが生成されるのですか?
つまり前者も後者も実行時の速度パフォーマンスは同じですか?

316 名前:デフォルトの名無しさん mailto:sage [2015/11/25(水) 00:37:26.01 ID:euvQfHeH.net]
>>304
どんなコードが生成されるか知らないのでベンチとって見た結果
dpaste.dzfl.pl/85212474e9f0
281: TickDuration(3595337)
284: TickDuration(9347285)
286: TickDuration(4128184)
288: TickDuration(3554533)

317 名前:デフォルトの名無しさん [2015/11/26(木) 17:49:18.83 ID:yeqvnwwH.net]
Dでcomのclientを書こうとして付属のサンプルソースを試したら動作しました

wshサーバーをdispatchしてEcho('hoge')みたいなポップアップを出したいのですが
サンプルをどのように書き直せばよいのですか

318 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 17:58:08.82 ID:yeqvnwwH.net]
途中まで書いたコードです
extern (Windows) HRESULT CLSIDFromProgID(const wchar *, CLSID *);
const string wsh = "WScript.Shell";
interface IWSH : IUnknown {
extern (Windows) int Echo();
}
DWORD dwVer = CoBuildVersion();
HRESULT hr = CoInitialize(null);
hr = CLSIDFromProgID(wsh.toUTF16z(), &clsid);
IWSH pIWSH;
hr = CoCreateInstance(&clsid, null, CLSCTX_ALL, &IID_IUnknown, &pIWSH);
// FAILED(hr)の判定コードは省略していますがここまでは動作しているようです
// pIWSHに値は入っているようですが次の場所でAccessViolationします
pIWSH.Echo();
CoUninitialize();

pIWSH.Echo(); の行をコメントアウトすると何も起きませんが正常に完了します
あと
&IID_IUnknown
のところを
&IID_IDispatch
に書き換えてもだめでした

319 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 21:43:51.54 ID:FqPwpLUO.net]
>>307
ちょっとまだよく分かってなくてEcho呼んでも何も起きなかったけど、
PopUp呼べたので参考になりますか?
dpaste.dzfl.pl/15f1655e540e

320 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 08:55:22.81 ID:H96QzFnR.net]
>>307
IDLとかタイプライブラリとか見ずに静的バインディングしようとしてる
普通は中間ヘッダを入手するかツールで生成する
C++で一度やったことがないとダメ

ちなみに >>308 は動的バインディング

321 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 09:52:51.69 ID:c/N8jVfb.net]
>>307
WScript.Shell に Echo は無いよw

322 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 10:48:43.15 ID:Og1YQ9Di.net]
>>310
うっかり勘違いしてました

標準のinterfaceから継承する方法ですが
interface IWSH : IUnknown { // add vtbl to define as IDispatch
extern (Windows) HRESULT GetTypeInfoCount(UINT *);
extern (Windows) HRESULT GetTypeInfo(UINT, LCID, REFIID);
extern (Windows) HRESULT GetIDsOfNames(REFIID, LPOLESTR *, UINT, LCID, DISPID *);
extern (Windows) HRESULT Invoke(DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *);
}
にして
hr = CoCreateInstance(&clsid, null, CLSCTX_ALL, &IID_IDispatch, &pIWSH);
したら
後は >>308 さんと同じように PopUp("Hage") を Invoke 出来ました
ほんとうにありがとうございました

323 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 11:49:41.82 ID:c/N8jVfb.net]
質問です。
SysTime st = Clock.currTime();
writefln("%s", st.toISOExtString());
writefln("%s", st.toISOString());
の動作で末尾の小数点以下の数字 (hnsecs) が
7桁になるときと6桁になるときがあるみたいです。

先頭の 0 が表示されないケースがあると思ったのですが
通常の '年月日T114500.1234567' 以外に
'年月日T114500.0123456' は表示されました。
ところがたまに '年月日T114500.123456' と表示されることがあります。
つまり '年月日T114500.0123456' なのか '年月日T114500.1234560' なのか判りません。
hnsecs==0 のときにこのパターンがあるみたいなのですがみなさんのところはどうですか?
DMD32 D Compiler v2.063.2
です。



324 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 11:52:34.38 ID:c/N8jVfb.net]
ちょっと紛らわしいので一部訂正します。

x 小数点以下の数字 (hnsecs) が
o 小数点以下の数字 (total hnsecs) が

x hnsecs==0 のときにこのパターンが
o msecs==123, usecs=456, hnsecs==0 のときにこのパターンが

325 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 14:33:53.29 ID:gmvL3Mcs.net]
"年月日T114500.123456" == "年月日T114500.1234560"じゃないの?

326 名前:デフォルトの名無しさん [2015/11/27(金) 15:13:20.37 ID:c/N8jVfb.net]
なるほど小数点以下だから末尾の0は除かれるんですね。
7桁だと思って決め打ちしない方が良いですね。

327 名前:デフォルトの名無しさん [2015/11/27(金) 15:16:44.79 ID:c/N8jVfb.net]
Duration d = hoge - fuga;
d.total!"msecs", d.total!"usecs", d.total!"hnsecs" を使うことにします。

328 名前:デフォルトの名無しさん [2015/11/28(土) 10:52:50.96 ID:BU0Z8dtz.net]
python の __getattr__
ruby の method_missing
javascript の __noSuchMethod__
みたいなものを期待して
D で同じようなものが有るかどうか検索したら
forum.dlang.org/post/op.usipp0mij5j59l@my-tomato
というやりとりが見つかりました
そこのサンプルをコンパイルしようとしたのですがエラーになります
D で opDotExp ってどう使うんですか?

329 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 11:37:36.45 ID:3W8Apw0w.net]
opDispatch()

ただし型のコントロールは引数とか名前付けとか工夫して自前で面倒を見る必要がある

330 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 16:26:20.89 ID:pFoee08yy]
動的型付け言語と一緒にしちゃいかんでしょ

331 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 17:00:55.36 ID:OpEOTh0X.net]
ないですね

332 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 18:45:48.60 ID:DyLnKIJJ.net]
import std.stdio;

class Hoge {
void opDispatch(string s)() {

333 名前:デフォルトの名無しさん [2015/11/30(月) 20:34:23.05 ID:SJumDZBl.net]
有賀d



334 名前:デフォルトの名無しさん mailto:sage [2015/11/30(月) 20:43:06.11 ID:SiMJvgO4.net]
IDispatch で
auto xl = Dispatch("Excel.Application");
xl.Visible = true;
auto workbooks = xl.Workbooks;
まではうまく逝くのに
auto book = workbooks.Add();
で Access Violation してしまう
何が間違ってるんだろう

335 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 02:22:06.91 ID:Zh0/OJc/.net]
Excel持ってないんであれだけど、Workbooksが返すのはコレクションらしいよ。
https://msdn.microsoft.com/ja-jp/library/aa288625%28v=vs.71%29.aspx
https://msdn.microsoft.com/en-us/library/microsoft.visualbasic.collection.add%28v=vs.90%29.aspx
とか見るに、Add()はリストに追加しますよってメソッドじゃね?

336 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 08:39:45.47 ID:yW8K+bhB.net]
Add がデフォルト引数を持ってるけど引数明示したらどうなるかな
ぐぐったら xlFileFormat 列挙型 とか出てくる

337 名前:デフォルトの名無しさん [2015/12/01(火) 20:10:30.52 ID:9BYkXgQy.net]
a.unknownproperty = hoge;
みたいなのも opDispatch!"unknownproperty"(Args args...) で書けますか?

338 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 23:55:05.63 ID:LyUKVfDv.net]
dpaste.dzfl.pl/1d06a7cd8d37
こういうこと?

339 名前:デフォルトの名無しさん mailto:sage [2015/12/02(水) 04:01:42.11 ID:53wnCEvY.net]
ちょっと違う気がしますが
なんとなく方向性はわかりました

340 名前:デフォルトの名無しさん mailto:sage [2015/12/02(水) 05:34:41.55 ID:53wnCEvY.net]
さっきから変な現象になりました
windows10 なのですが
import std.stdio;
int main(string[] args)
{
writefln("@");
return 0;
}
だけのファイルを d_opDispatch.d というファイル名で保存して
dmd -run d_opDispatch.d を実行しても何も表示されないので
dmd d_opDispatch.d を実行して出来た d_opDispatch.exe を
cmd.exe から実行すると UAC のポップアップが出ていることがわかりました
そのまま許可すると別の cmd.exe が開かれてその中で @ が出力されています
また d_opDispatch.exe を test.exe に rename したら UAC は出なくなりましたω
それで test_opDispatch.exe にするとまた UAC が出たので
test_op_Dispatch.exe とか op_Dis_patch.exe とか試したのですが
この二つも UAC が出てきますω
また test.exe に戻したら普通に動くようになりました
ソースのときのファイル名は関係ないみたいなので
dmd -oftest.exe -run d_opDispatch.d
でとりあえず解決は出来てるんですけど何なんですかねこれ
windows10 のブラックリストに登録されちゃってるんですか?ω
それともうちだけですか?

341 名前:デフォルトの名無しさん mailto:sage [2015/12/02(水) 05:39:16.56 ID:53wnCEvY.net]
opDis_patch.exe もだめです
名前変えるだけで動かなくなります orz

342 名前:デフォルトの名無しさん mailto:sage [2015/12/02(水) 06:03:46.07 ID:J+Rb91dQ.net]
UACのインストーラ自動判定によるものだね
sceneryandfish.withnotes.net/?p=1632

343 名前:デフォルトの名無しさん mailto:sage [2015/12/02(水) 08:37:40.95 ID:nn4vPBry.net]
実行ファイル名で必要権限が変わるという余計なお世話なアレか



344 名前:デフォルトの名無しさん mailto:sage [2015/12/02(水) 19:11:19.07 ID:7L3lrCLQ.net]
>>331
横からですがありがとう

345 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 01:03:51.80 ID:8SmBlBH8.net]
Dのenumってどうなってんの?
名前付きだけA.B.Aとかできるのがわけわからん
dpaste.dzfl.pl/99ffb64db405

346 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 01:25:39.08 ID:y1qNQeGi.net]
名前付きenumが普通に想像するようなenum
名前なしenumは常時インライン展開されてデータセクションに出力されないconstもどき、じゃなかったっけ

その上で 型.メンバ の形で使えるプロパティは 変数(定数).メンバ の形でも使えるというだけのような気がする

347 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 01:51:22.50 ID:2XsySS+x.net]
>>335
なるほど、(名前付き)enumが型という認識が不足してたのか
それなら各要素自体はprivateじゃないからアクセスもできて当然なのかな
ありがとう

348 名前:デフォルトの名無しさん [2015/12/04(金) 09:37:05.62 ID:prxSfFNA.net]
auto hoge(T...)(T args){ return args[0] ; }
みたいな関数があるとき

呼び出し側で
auto fuga = hoge();
で呼ばれたか
auto fuga = hoge;
で呼ばれたか
どちらなのかを呼ばれた側で区別出来ますか?

349 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 11:41:34.38 ID:qnfnKzej.net]
たぶん無理
それにその辺りの仕様はふらついているので
今の仕様で組んでも後でダメになる可能性がある

350 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 15:12:03.13 ID:prxSfFNA.net]
call と get と set を実装して dispatch する目論見だったんですが
PyObject だと get と call の区別が微妙なんです

351 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 15:29:35.37 ID:eLJR6e6w.net]
DWT(https://github.com/d-widget-toolkit/dwt)を試しているのですが
Drag and Drop のサンプル(snippetxx.d)が全く見つからないので
SWT(www.eclipse.org/swt/snippets/#dnd)を取ってきて試すも
cannot cast expression event.data of type object.Object to string
のコンパイルエラー、cast じゃダメなので何がしかの変換が必要らしい

で、DWT の Drag and Drop はこんな感じで
動かしてるよ〜という情報をお持ちの方おしえてくださいませm(_ _)m

352 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 16:03:35.97 ID:u0bQfuw3.net]
ここはみた?
https://github.com/d-widget-toolkit/org.eclipse.swt.win32.win32.x86/tree/master/src/org/eclipse/swt/dnd

353 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 18:01:46.27 ID:5R2qZuA/.net]
2.069.2でDelimited Strings内にASCII以外があると怒られるよぅ
q"EOS
日本語 ← Error: character 0xa5 is not a valid token
EOS"



354 名前:デフォルトの名無しさん mailto:sage [2015/12/04(金) 18:39:04.25 ID:qnfnKzej.net]
2.069の文字列処理で日本語入ってるときの挙動が変わって往生した

355 名前:デフォルトの名無しさん [2015/12/05(土) 11:43:03.20 ID:pK0sc289.net]
>>338
とりあえず呼び出し側で
auto fuga = hoge.unknownmethodcall([]);

auto fuga = hoge.unknownproperty;
で区別することにしたらうまく別けられました
ところが今度は
hoge.unknownproperty = hage;
で代入しようと hoge class 内で
void opDispatch(string propertyname, T)(T arg){
}
と setter を定義したのですが
hoge.unknownmethodcall([]);
の方まで setter に奪われるようになってしまいました

356 名前:デフォルトの名無しさん mailto:sage [2015/12/05(土) 23:07:38.68 ID:IGesALUR.net]
getterのopDispatchの戻り値を構造体でラップするとか。
dpaste.dzfl.pl/e089dbd99093

357 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 13:00:28.84 ID:OHUYOsyJ.net]
ああテンプレートで呼び分けるんじゃなくて
全部まとめて一ヶ所で受けて if で分けるんですね
参考になります
ありがとうございます

358 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 22:12:53.36 ID:yUJmRPdi.net]
import std.process;
で pipeProcess とか spawnProcess とか使えるのは判ったのですが
windows で win32api の CreateProcessAsUser とか CreateProcessWithLogonW
に相当することが実行可能なモジュールはありますか?

359 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 22:30:26.17 ID:ka6hrItk.net]
標準では最低限のAPIしかないので
自分でポーティングするか拾ってくるかしましょう

360 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 22:42:24.23 ID:yUJmRPdi.net]
thx!

361 名前:デフォルトの名無しさん mailto:sage [2015/12/09(水) 01:01:38.90 ID:Iqk5klbT.net]
linuxで7zip.soのbindingを書こうとしています。7zipのC++側のIUnknownが
struct IUnknown
{
STDMETHOD(QueryInterface) (REFIID iid, void **outObject) PURE;
STDMETHOD_(ULONG, AddRef)() PURE;
STDMETHOD_(ULONG, Release)() PURE;
#ifndef _WIN32
virtual ~IUnknown() {}
#endif
};
このように宣言されているのですが、Dのinterfaceでデストラクタを宣言できなくて困っています。
超その場しのぎとして、DのIUnknownの宣言のReleaseの後にダミーのメソッドを、
・2個追加することでC++で実装されたinterfaceをDから呼び出すことが、
・1個追加することでDで実装されたinterfaceをC++から呼び出すことが、
それぞれできたのですが、とてもまともな解決策とは思えません。
どうすべきでしょうか。

362 名前:デフォルトの名無しさん mailto:sage [2015/12/09(水) 06:33:38.56 ID:wRgo2YTq.net]
クソして寝ればいいと思うよ

363 名前:デフォルトの名無しさん [2015/12/09(水) 09:39:07.56 ID:3EPxHLPC.net]
7zip
www.kmonos.net/alang/wnd/topics/winapi.ja.html
ここの最後



364 名前:デフォルトの名無しさん mailto:sage [2015/12/09(水) 10:05:46.43 ID:IXqPU77s.net]
winじゃなくてlinuxでやりたいみたいよ
一晩寝たら 空のデストラクタなんていらなかったんや
って気づくかもしれない

365 名前:336 mailto:sage [2015/12/09(水) 18:59:13.67 ID:bSTrBSEY.net]
>>351-353 クソして寝ましたが、仮に空(とはいえvirtual)のデストラクタがまるで無意味だったとしても、
bindingの体をとっているのでp7zip側のコードを変えるのはちょっと。
むしろvtblのズレが336程度の単純さならばソレで行くかと。
気になるのはDから呼ぶ場合とC++から呼ぶ場合の非対称性ですが、こういうもんなんですか?

366 名前:デフォルトの名無しさん mailto:sage [2015/12/09(水) 19:32:29.57 ID:sRhtlXMa.net]
C++ネイティブの呼び出しっていつから「ちゃんと」できるようになったんですか?(小声)

367 名前:336 mailto:sage [2015/12/09(水) 20:30:12.63 ID:bSTrBSEY.net]
あ、非対称っていうのは勘違いだったかもごめ。
dpaste.dzfl.pl/4e7956f36a47
これで解決や!どうもありがとう!
>>355 WindowsでCOMを使った7zipのbindingはもっとすんなりいきましたよ。

368 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 12:53:37.73 ID:gg94mj0B.net]
Dで書かれた2chブラウザって何かあったっけ

369 名前:デフォルトの名無しさん [2015/12/11(金) 10:36:51.24 ID:Q/bqtNpc.net]
振りかな?

370 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 11:05:46.98 ID:DzIPXkfp.net]
qiita.com/advent-calendar/2015/dlang
Advent Calendar 2015
まだ若干の空席がございます

371 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 16:50:35.23 ID:W1u3sjBk.net]
qiita.com/advent-calendar/2015/d-man
こっちのほうが盛り上がってる感じでちょっと笑う

372 名前:デフォルトの名無しさん mailto:sage [2015/12/12(土) 00:05:16.62 ID:bvgCihgqp]
き、記事内容はdlangの方が充実してるし…


25日過ぎても埋まってなかったらネタ記事ぶち込んでも怒られないかな?

373 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 11:06:28.62 ID:baKxaSGv.net]
自分のクラス(Fuga)を定義していて string へ変換するときに
Fuga f("hage");
string hoge = f;
みたいな



374 名前:書き方をしたいのですが
どんなメソッドを作っておけば良いのですか?
[]
[ここ壊れてます]

375 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 11:07:18.65 ID:baKxaSGv.net]
Fuga f = new Fuga("hage");
string hoge = f;
です

376 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 14:25:36.75 ID:ilKRKXII.net]
class Fuga {
private string s_;
this(string s) { s_ = s; }
alias s_ this;
}

377 名前:名無しさん@そうだ選挙に行こう [2015/12/14(月) 14:30:09.48 ID:baKxaSGv.net]
alias s_ this; とは驚きですが

Fuga f = new Fuga("123");
int i = f;
としたときでも i に 123 が入るようになりますか?

条件後出しですみません

378 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 14:33:32.26 ID:baKxaSGv.net]
ちなみに

Fuga f = new Fuga("123");
string s = f; // なら s = "123"; と同じ
int i = f; // なら i = 123; と同じ

という意味です
これも alias だけで出来てしまうんでしょうか?

379 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 15:09:08.43 ID:2JSVZtRY.net]
そういうのはたいてい変数に移して終わりじゃなくて、その先があるでしょ
例えば関数に渡すならその関数をテンプレートでうまくまとめるのが D流
単に出力するだけなら writeln(f)

380 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 17:11:34.59 ID:reTGASBb.net]
ここを参考に
www.kmonos.net/alang/wnd/topics/winapi.ja.html
Win32API を使って drag & drop を実装してみたところ
case WM_DROPFILES: の中で

HDROP dr = cast(HDROP)wp;
TCHAR[] buf = new TCHAR[MAX_PATH];
int l = DragQueryFile(dr, 0, buf.ptr, buf.length);
if(l < buf.length) buf[l] = 0;
string bs = to!string(buf[0..l]);
version(Unicode){
writefln("0: %s", to!string(bs.toMBSz()));
string name = bs;
}else{
writefln("0: %s", bs);
string name = fromMBSz(bs.toStringz());
}
writefln("1: %s", name);

とすると
drag & drop したファイル名が 「森鷗(環境依存文字2)外��(環境依存文字3)る.ext」 のとき
最後の name の表示が -version=Unicode したときとしないときで結果が違います
toMBSz と fromMBSz とで不可逆なのは判るのですが
MBSz -> UTF8 するときも結果が違うのは何故でしょうか?
(ただし表示は違うのですが同じファイルが対象になってちゃんと動作します)

381 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 17:23:00.56 ID:reTGASBb.net]
文字化けしてるので補足

環境依存しない方の文字はこちらです
森鴎外叱る

2 鷗外

3 ��る

がそれぞれ環境依存文字です
この辺が関係ありそうなのですが fromMBSz のバグなのか何なのかよく判りませんでした
https://msdn.microsoft.com/ja-jp/library/cc419800.aspx
download.microsoft.com/download/B/0/9/B09F266D-8D54-4476-A3EC-E974CA5F61F8/BS_303.pdf

382 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 21:06:28.36 ID:uspa+zNB.net]
>>366
Multiple AliasThisを使えば可能
もちろんコンストラクタ内で変換して保持とかする必要はあるけど



……なので実装されるのを楽しみに待っててくれよな!

383 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 04:33:41.61 ID:iPeNyqfl.net]
>>368 SHIFT-JISに含まれてない文字だから仕方ないとおもわれ。
DragQueryFileAの方ではかわりに 63(ASCIIのハテナマーク)が送られてきてる。
A付関数のことなんて早く忘れるんだ!



384 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 09:35:34.07 ID:GmzcEDm2.net]
string valueOf(){ return s_; }
int valueOf(){ return to!int(s_); }
alias valueOf this;

385 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 09:37:35.44 ID:GmzcEDm2.net]
>>371
不思議なのは *A バージョンの方でも正常に動作してるって所なんだよね

386 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 09:57:14.35 ID:ax++RPg4.net]
上は Utf16->Utf8->SJIS で余計な変換してるからじゃないの

387 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 01:01:03.51 ID:fYXmJuMp.net]
>>373
A版の内部処理でことごとく文字化けしてる

388 名前:ゥら
文字化けしたファイル名がマッチするせい
[]
[ここ壊れてます]

389 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 17:04:11.83 ID:mbvyIjbK.net]
>>375
わたしもそう思ったんですが
出来上がった hoge.7z ファイルの中の
ファイル名は文字化けしておらず正常なんです

390 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 01:09:48.99 ID:VpDH1DV/.net]
>>376
?が1文字マッチのワイルドカードってのは関係してない?

391 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 11:01:49.72 ID:8RLYRFXT.net]
>>372
出来ました
ありがとうございます

392 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 17:10:30.71 ID:uT5SbDNR.net]
あれ、戻り値だけ違う関数ってオーバーロードできたっけ?

393 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 12:10:28.67 ID:ayhLnjzU.net]
宣言はできるけど使えない
左辺値から型推論とかしてくれると嬉しいんだけどね



394 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 14:13:11.66 ID:1HvlxK+M.net]
T valueOf(T)(){ return to!T(s_); }
これもうまくいかんな

395 名前:デフォルトの名無しさん mailto:sage [2015/12/22(火) 23:01:04.25 ID:RP62Thfp.net]
明示cast必須になるけど
T opCast(T)(){ return s_.to!T; }

396 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:52:41.01 ID:2F8TsTF+.net]
alias hoge this; しなくてよくなるからありがたいね

397 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 10:13:41.06 ID:1VnhNGH+.net]
明示的キャスト滅すべし

398 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 23:22:02.22 ID:L9u45BCDQ]
タプルシンタックスが入りますように
パターンマッチが使えるようになりますように
セミコロンが無くてもよくなりますように

399 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 10:10:16.02 ID:PvF8tuZ2.net]
みなさん良いお年を

400 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 12:41:22.97 ID:yhjxl89x.net]
D言語話題ないの?

401 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 13:55:49.41 ID:Y1V4v3Og.net]
Advent Calendar面白かったよ。
書いた人たち乙です。

402 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 17:44:23.06 ID:OqNeHPOm.net]
冬休み中にAdventCalendarゆっくり読む
楽しみだなあ。書いた人たち乙〜。

403 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 16:08:22.48 ID:xwOrDqSJ.net]
Voting For std.experimental.ndslice
forum.dlang.org/thread/nexiojzouxtawdwnlfvt@forum.dlang.org

そろそろ投票終わり



404 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 12:10:44.32 ID:bFE828K2.net]
https://github.com/D-Programming-Language/dlang.org/commit/77324039087e9283f40244195857c2f9fd4712eb#diff-59280080f58c2ff747f066c5b0b2fcebL423
- $(LI As a first programming language - Basic or Java is more suitable
+ $(LI As a first programming language - Python or JavaScript is more suitable

時代の流れを感じる
Basicの方が初めてのプログラミングには良いと思うんだがなぁ

405 名前:デフォルトの名無しさん [2016/01/04(月) 18:59:05.97 ID:uh/Y4MEw.net]
BASICは害悪

406 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 19:11:18.78 ID:SQWKaGiq.net]
まあ妥当と思う。Basicって括りがざっぱだけど、
(N-88とかそういう)BASIC → まあやらんでええやろ。行番号とか。ねえ?
VB → PowerShellが出てシリスボミ感がある。
Python → 個人的にはtkinterの存在がでかい。
JavaScript → すぐ遊べる。すぐ自慢できる(←重要
あとは英才教育的な観点からならプログラミンとか?

407 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 13:16:14.19 ID:L7c5HugA.net]
時代は Elixir ですよ
D でもいいけど
すぐ自慢できるのは Python だろ

408 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 13:36:42.75 ID:Woj1scU2.net]
インデントを間違えて恥をかくのが Python

409 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 22:00:16.80 ID:aZwzN0+G.net]
BASICといったらbload

410 名前:デフォルトの名無しさん mailto:sage [2016/01/14(木) 17:59:53.06 ID:vRAUMBFP.net]
std.experimental.yesnogc
forum.dlang.org/post/n76qh9$2hlo$1@di

411 名前:gitalmars.com

おなまえ募集
[]
[ここ壊れてます]

412 名前:デフォルトの名無しさん mailto:sage [2016/01/15(金) 15:37:05.03 ID:2/bjUIYj.net]
std.experimental.yeslolitanotouch

413 名前:デフォルトの名無しさん [2016/01/16(土) 10:21:44.91 ID:CPZavs1f.net]
64bitのWin32対応DLL作りたいんだけど?



414 名前:デフォルトの名無しさん [2016/01/16(土) 15:12:02.78 ID:CPZavs1f.net]
それぞれ微妙に主張が違う気がす
https://gist.github.com/repeatedly/2470712
https://dlang.org/dmd-windows.html (-m64)
wiki.dlang.org/Installing_DMD_on_64-bit_Windows_7_(COFF-compatible)
www.ku6.jp/report/65.html
stackoverflow.com/questions/2376816/how-well-does-d-support-64-bit

415 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 15:55:41.85 ID:qeKxK5Cv.net]
>>399
wiki.dlang.org/Win32_DLLs_in_D
ここのmydll.dの64bit版なら
dmd -m64 -shared

416 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 15:57:39.55 ID:qeKxK5Cv.net]
あれ途中で切れた。
dmd -m64 -shared mydll.d dll.d mydll.def

417 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 16:12:25.40 ID:qeKxK5Cv.net]
>>400 それぞれ書かれた時期が違うんじゃまいか

418 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 16:31:09.62 ID:eTAXMCcj.net]
DMD で単純な x64 バイナリを作るところまでは行けてるんでしょ?
Win32 DLL も作れるんでしょ?
x64 で Win32 App と結合できるかって話でしょ?
出来ないと思うけど

419 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 18:04:51.96 ID:w507ceUH.net]
ブリッジ役のDLLも用意して64<-->32間をプロセス間通信でうんたらかんたら

420 名前:デフォルトの名無しさん mailto:sage [2016/01/22(金) 17:45:10.29 ID:tiw7VxmH.net]
>>350
> DのIUnknownの宣言のReleaseの後にダミーのメソッドを、
> ・2個追加することでC++で実装されたinterfaceをDから呼び出すことが、
> ・1個追加することでDで実装されたinterfaceをC++から呼び出すことが、
> それぞれできたのですが、とてもまともな解決策とは思えません。

https://issues.dlang.org/show_bug.cgi?id=15589#comment_text_0
やっぱりダミーを追加するしかないらしい

421 名前:336 mailto:sage [2016/01/22(金) 20:16:27.79 ID:6NMzASC5.net]
わぁ!どうもありがとう!まだ書きかけ&お粗末ですが、その時の成果物です。
https://github.com/garlic-flavor/D7z
ツッコミ/プルリクお待ちしております。m(_ _)m

422 名前:デフォルトの名無しさん mailto:sage [2016/01/22(金) 22:46:33.96 ID:ph7VTr94.net]
いつのまにか公式が改装してた
なんかすごくプログラミング言語の公式ページっぽい

423 名前:デフォルトの名無しさん mailto:sage [2016/01/23(土) 02:47:44.18 ID:8jtVqSspg]
でもD言語くんは残ってるぞ!



424 名前:デフォルトの名無しさん mailto:sage [2016/01/25(月) 22:17:17.47 ID:bhSAv5/D.net]
/r/programming 見てるとほぼ毎日Dの記事があって、ついに時代がきたか感がある

425 名前:デフォルトの名無しさん [2016/01/27(水) 00:28:20.96 ID:KSmE0N2z.net]
scope(exit)はスコープ抜けるときに実行されるけどさ、
呼び出し元のスコープ抜けるときに実行されるような処理を書く方法って存在しないのかな

例えば
foo(){
  hoge();
}
で、hoge()の定義内に書いてfoo()の最後に実行されるようなやつ

426 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 00:56:43.14 ID:0fSZRkm9.net]
そんなんバグの地雷原やがな

427 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 01:33:09.39 ID:EmUF4YzU.net]
部品化の概念を否定するその硬派な姿勢、俺は評価するよ

428 名前:デフォルトの名無しさん [2016/01/27(水) 01:46:23.73 ID:KSmE0N2z.net]
事故解決。mixinという道具があったではないか

429 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 05:55:19.47 ID:mt1RyfFz.net]
>>411-413
scoped型をhogeが返せばいいんじゃね、って思ったけど
もうscoped型って無くなったんだっけ?

430 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 09:42:58.44 ID:PS/Qpp4W.net]
呼び出し元で scope(exit)

431 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 23:58:59.71 ID:W8pZv3Sr.net]
std.datetime.measureTime がそんなんだったような。

432 名前:デフォルトの名無しさん mailto:sage [2016/01/28(木) 12:36:28.83 ID:U7RHxiIq.net]
2.070

433 名前:デフォルトの名無しさん mailto:sage [2016/01/28(木) 15:55:14.52 ID:AP1O7sAh.net]
もう2.070か早い



434 名前:デフォルトの名無しさん mailto:sage [2016/01/28(木) 23:48:56.81 ID:tnawcIV/.net]
core.sys.windowsのナカミがおきかわっとるー\(・∀・)/

435 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 00:16:04.81 ID:iqnom6tW.net]
>>342 なおった!

436 名前:デフォルトの名無しさん [2016/02/01(月) 11:49:31.71 ID:C4njzqYk.net]
もしかしてdmcって64bitのコンパイルオプションないの?

437 名前:デフォルトの名無しさん mailto:sage [2016/02/01(月) 12:03:33.19 ID:gmWomOLn.net]
ないっしょ
16bit ならまだあるかもしれない
それに optlink まで含めると 32 ですら騙し騙し使ってる状況

438 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 23:16:29.97 ID:N0vbs9wX.net]
今さらだけどD用のお勧めのGUIライブラリある?
マルチプラットフォームで。

439 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 11:18:15.33 ID:Drvvyslw.net]
>>424
お勧めはDWT
対抗はDlangUI

DWT qiita.com/sfujita/items/18bd56ae505c4b3de7b3
DlangUI qiita.com/namachan10777/items/5a792bc1ac93ce1ccb1c

440 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 12:53:31.69 ID:5/pxQ4tU.net]
wxD

441 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 13:07:25.53 ID:uEOUJl1K.net]
自分でメンテする気があれば正直どれでもいいし
そうじゃなければ D でGUIなんて考えないほうがいい

442 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 15:13:27.73 ID:IpVTmFVK.net]
LDCからEmscripten通してHTML5にでも変換したほうがいいんじゃない?(適当)

443 名前:デフォルトの名無しさん [2016/02/03(水) 15:49:20.75 ID:5/pxQ4tU.net]
時代は io.js + Electron ですねわかります



444 名前:デフォルトの名無しさん [2016/02/03(水) 19:08:22.05 ID:JdStCQ++.net]
ぜんぜんわからない

D普及のために、できるだけわかりやすく情報を提供してください。切に望みます

445 名前:デフォルトの名無しさん [2016/02/03(水) 19:10:01.79 ID:JdStCQ++.net]
Cのインタフェースがていきょうされていれば、利用できる
これが鍵なんだろうけど、初心者むけではない

446 名前:デフォルトの名無しさん [2016/02/03(水) 19:11:50.36 ID:JdStCQ++.net]
DWTは、マルチプラットフォームではないのでは?

447 名前:デフォルトの名無しさん [2016/02/03(水) 19:15:47.11 ID:JdStCQ++.net]
わからんわからんわからんわからんわからんわからんわからんわからん

448 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 20:44:42.00 ID:NLGo/bvc.net]
自分は何がしたいのか、何ができなかったのか
情報がなければ答えようもなかろう

449 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 23:06:56.80 ID:mzIeyrY+.net]
わからんわからんわからんわからんわからん

450 名前:デフォルトの名無しさん mailto:sage [2016/02/04(木) 01:50:12.30 ID:jp6x7PMB.net]
>>425
DlangUI、結構良さそう
使ったことある人いたら感想聞きたい

451 名前:デフォルトの名無しさん mailto:sage [2016/02/04(木) 15:18:46.80 ID:wiwVjChn.net]
>>425
dクス
やっぱDWTが定番かー
DlangUI、最初のmixinが美しくないなぁ・・・・・・(笑)

>>426
あれ、Dの利点あんまりないですやん><

452 名前:デフォルトの名無しさん mailto:sage [2016/02/04(木) 17:17:07.59 ID:ob+62gtm.net]
DでwrapしたPythonObjectでwxPython使ったら意外と便利だったな

453 名前:デフォルトの名無しさん mailto:sage [2016/02/05(金) 19:27:30.79 ID:HabP63UN.net]
DFLがマルチプラットフォームになれば文句ないんだがなぁ



454 名前:デフォルトの名無しさん mailto:sage [2016/02/05(金) 21:20:24.44 ID:hmTKeVMY.net]
どうしてもマルチプラットフォームが必要なら
HTML5 でどうにかする方が現実的

455 名前:デフォルトの名無しさん [2016/02/06(土) 20:54:27.15 ID:2Uy/PFwr.net]
もう仕様固まってきて大きな動きないのにサードパーティのライブラリが整備されないのは
Dが今まで積んできた業かな

456 名前:デフォルトの名無しさん [2016/02/07(日) 18:20:11.44 ID:eIUfmNby.net]
これからに期待します

457 名前:デフォルトの名無しさん [2016/02/08(月) 17:21:11.18 ID:LpGg46bP.net]
Oh my

458 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 18:04:50.88 ID:M0j0fnEJ.net]
Oh my D-lang, Oh my D-lang,
Oh my D-lang Clementine.

459 名前:デフォルトの名無しさん mailto:sage [2016/02/13(土) 18:13:48.32 ID:tVuFpQtK.net]
単にユーザが少ないんじゃね

460 名前:デフォルトの名無しさん mailto:sage [2016/02/13(土) 20:34:35.13 ID:OlzkmTVA.net]
ライブラリが整備されないのはなぜ? ユーザーが少ないから
ユーザーが少ないのはなぜ? ライブラリが整備されないから

461 名前:デフォルトの名無しさん mailto:sage [2016/02/13(土) 20:41:50.43 ID:tVuFpQtK.net]
パワフルなユーザが少ないのかな……うん

462 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 18:05:56.16 ID:+caJiYS4.net]
コンパイル時にテキスト読み込んでさ、
行数の数だけ文字列mixinして関数作りたいんだけど
任意回数の文字列ミックスインのループってどう書くんだろう・・・・・・。

463 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 18:13:18.59 ID:TvNTryet.net]
仕様変更しすぎたな



464 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 18:53:15.56 ID:8Os0TVn8.net]
>>448
先に文字列加工して最後にまとめてミックスイン出来ないのん?

465 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 19:14:52.44 ID:Dah95cUu.net]
LDC 0.17リリースおめでとう。

https://github.com/ldc-developers/ldc/releases/tag/v0.17.0

本家に追いつくまであと少し。

466 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 19:20:06.77 ID:8Os0TVn8.net]
本家に追いつくのは無理だから mingw で動くように戻しておくれ

467 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 20:48:59.61 ID:RiiAF+b/.net]
ここ1, 2年くらい大した仕様変更ないような

468 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 21:17:10.53 ID:NUVEFX4y.net]
>>453
過去に仕様変更し過ぎたせいでD言語=仕様変更っていう認識が一般に広まったせいじゃね?

469 名前:デフォルトの名無しさん mailto:sage [2016/02/15(月) 22:47:40.09 ID:obZmlxnC.net]
>>448
mixin template loop(string s,r...){mixin(s); mixin loop!(r);}
mixin template loop(string s){mixin(s);}

470 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 16:56:10.74 ID:qagv5yy3.net]
信用は一度失うと取り戻すのは困難ってことさね

D言語について少しでも調べてもらえば今そうでないのはわかることだから、
D言語を知らない人がD言語に触れる機会を増やす・・・
つまりD言語で書かれた一般向けアプリがもっと出ればいいわけだ

よし!あとはまかせたぞ!

471 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 12:23:28.05 ID:S96kZ0X7.net]
もう Julia でいいような気がしてきた
手遅れかもな

472 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 13:09:30.63 ID:Ap7HgcUx.net]
www.tiobe.com/index.php/tiobe_index
少し人気出てきた

473 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 13:59:24.31 ID:hw/X0Y/j.net]
簡単過ぎて調べなくても判ってしまう言語だと人気が無いことになるな



474 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 18:48:50.77 ID:3Pzm9drf.net]
D言語って名前のイメージが悪くなっちゃってるからD++とかに変えよう

475 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 20:15:44.55 ID:unMO5CFj.net]
求められているのは D-

476 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 14:46:25.61 ID:X13YwWkx.net]
マイナスなんか要らないわ

477 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 16:07:27.61 ID:WzAGBuRR.net]
D#

478 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 10:34:55.98 ID:zmvsu5mb.net]
>>457
exeはnativeなDの足元にも及ばない

479 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 22:57:01.53 ID:satROU6m.net]
D未満はおっぱいと呼ばない

480 名前:デフォルトの名無しさん mailto:sage [2016/02/22(月) 02:56:00.48 ID:gsexe38f.net]
D†

481 名前:デフォルトの名無しさん mailto:sage [2016/02/22(月) 12:16:25.94 ID:Y1bHL8fN.net]
D<0

482 名前:デフォルトの名無しさん [2016/02/27(土) 03:16:45.72 ID:GUJ5wO/X.net]
iota(-10,1)やrecurrence!(q{ -n })(0)がintになるのに
sequence!(q{ -n })だけuintで負の値を使えないんですがこれって何か理由があるんですかね?

483 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 00:18:12.07 ID:zsA7yhFD.net]
>>468 ソース見た感じ、
recurrence!(q{-n})(0) は 0 の型とってる→int
sequence!(q{-n}) は -n の型とってる、ここで n の型は size_t → size_t
ってことみたい。



484 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 01:19:49.50 ID:NuW5OG6p9]
dubのロゴって何か卑猥じゃない?

485 名前:デフォルトの名無しさん [2016/02/29(月) 07:53:56.99 ID:9aTNra24.net]
 alias compute = binaryFun!(fun, "a", "n");
 alias ElementType = typeof(compute(State.init, cast(size_t) 1));
で、nにcast(size_t)1を入れてsize_tになってるんですね
単に気になっただけなんですけど

486 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 15:44:30.93 ID:iGEmA67j.net]
配列の中の最大値を探すときって普通どうやるんでしょうか

enum arr = [3, 1, 4, 1, 5, 9, 2];

aliasSeqOf!arr.max.writeln; // 要std.metaなのと定数でないとダメ
arr.minPos!

487 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 15:52:25.48 ID:iGEmA67j.net]
なんか途中で切れた
minPosとか使ってるんですが、しっくりこなくて

488 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 16:26:00.44 ID:VNz3PeoZ.net]
>>472
std.algorithm使って関数型っぽく

arr.reduce!max.writeln;

489 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 22:57:05.78 ID:6Vt2kK/P.net]
リデュースリユースリサイクル♪

490 名前:デフォルトの名無しさん mailto:sage [2016/03/01(火) 00:52:26.74 ID:joyDtek2.net]
LDC 1.0αでとる。

491 名前:デフォルトの名無しさん mailto:sage [2016/03/01(火) 21:04:14.81 ID:s5WMaGjg.net]
void hoge(T)(out T t) {...}

uint x;
hoge(x); // コンパイル通る
int[] arr;
hoge(arr.length); // コンパイルエラー(Error: template hoge cannot deduce function from argument types !()(uint), candidates are:)

arr.lengthでエラーが出るのはどういう理屈なんですか?

492 名前:デフォルトの名無しさん mailto:sage [2016/03/01(火) 21:12:38.53 ID:oyuxQPKV.net]
arr.lengthが右辺値を返すから?

493 名前:デフォルトの名無しさん mailto:sage [2016/03/01(火) 21:23:46.68 ID:CYOvNsDD.net]
out が付いてるなら当然としか



494 名前:デフォルトの名無しさん mailto:sage [2016/03/01(火) 21:26:20.10 ID:CYOvNsDD.net]
いや、ひょっとして length のセッターを呼んで欲しい…?
流石に無理なんじゃ

495 名前:459 mailto:sage [2016/03/01(火) 22:02:04.13 ID:s5WMaGjg.net]
arr.length = 0とかできるから普通の変数と同じように考えてました。
hogeに渡す時に、ただの右辺値のuintとして評価されるってことですね。

496 名前:デフォルトの名無しさん mailto:sage [2016/03/01(火) 22:18:28.05 ID:BG2OG/pG.net]
できてもいいとは思うけどな
内部的には一時変数が作られるとかで

497 名前:デフォルトの名無しさん [2016/03/02(水) 03:05:50.56 ID:S8FWiipj.net]
もしlengthをいじりたいなら深く考えず
void nobasu(T)(ref T[] arr) {
 arr.length ++;
}
とかでいいんじゃ?

498 名前:459 mailto:sage [2016/03/02(水) 21:10:33.37 ID:Py15QFNz.net]
lengthをいじりたいというより、out引数を持つ関数を使いたかったんですよね。
なのでこうしました。
uint lenght;
hoge(length);
arr.length = length;

499 名前:454 mailto:sage [2016/03/07(月) 16:09:07.92 ID:KpyO6Zd7.net]
>>474
reduce!maxか!
遅くなりましたが、ありがとうございました。

500 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 16:22:17.87 ID:nbAKle/L.net]
遅い、遅すぎる
時代は既に reduce から fold に変わろうとしているのに

501 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 17:38:25.23 ID:hzTv2Fg2.net]
とはいえまだマージされただけでリリースはされてないし
内部でreduce使ってるから無くなることはないだろうけどな

502 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 21:13:14.18 ID:ZACCB8Ww.net]
struct S { int[] arr; }
S s1;
...
S s2 = s1;

構造体のデフォのコピーコンストラクトを使った場合、メンバarrはシャローコピーされますよね?
ディープコピーしたい場合、コピーコンストラクタを書き換えるか、ディープコピー用のメンバ関数を書く方法が思いつきますけど、
もっと手軽な方法はないでしょうか?

503 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 22:22:23.50 ID:hzTv2Fg2.net]
前者はpostblitを指してるんだと思うけど、すでに十分手軽じゃね?
this(this){arr=arr.dup;}

ところでマニュアルによればpostblitは初期化時の話らしいけど、代入時にも呼ばれるのは何故だ



504 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 22:31:36.23 ID:ZACCB8Ww.net]
>>489
構造体なのでコピーコンストラクタじゃなくてpostblitでしたね。
this(this){arr=arr.dup;}を構造体ごとに書いていかないといけないのが面倒くさく感じました。

505 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 22:49:33.64 ID:hzTv2Fg2.net]
>>490
つまり1回書くだけで全ての構造体に一括して適用されるような方法を期待してる?
さすがに無い気がするし、むしろあったら怖い
せいぜいmixinして文字数削る程度じゃね

506 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 00:13:35.69 ID:P+r5NzGC.net]
>>491
自分で書くならtupleofとtraitでdupテンプレートを書いて
S s2 = s1.dup;
っていうのを思いつきました。

507 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 00:30:29.31 ID:y3RNmON1.net]
>>492 実装してみた。
dpaste.dzfl.pl/0464d5f310e6

508 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 00:43:55.17 ID:P+r5NzGC.net]
>>493
おお、仕事が速いですね。

509 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 05:14:08.80 ID:/9wKb/bF.net]
>>450
今更だけどありがとう、
そんなアタリマエのことを全然思いつかなかったw
CTFEすげー(今更)

510 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 00:58:06.47 ID:sgjiEx6Z.net]
VS2013とLDCでビルドしたら、
LINK : fatal error LNK1104: cannot open file 'legacy_stdio_definitions.lib'
というエラーが出たんですけど、原因は何が考えられますか?

511 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/03/15(火) 01:02:28.11 ID:zLB+iwEH.net]
>>496
読み込むライブラリの場所の指定がおかしい

512 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 02:36:06.05 ID:sgjiEx6Z.net]
>>497
うーん、わからないです。
legacy_stdio_definitions.libがHDDの中にないし、ぐぐってもなんなのかよくわからない。

513 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 07:36:35.68 ID:vxrFHeSb.net]
>>496
デフォルトは VS2015 の設定だから
etc/ldc2.conf の該当行 を書き換えてくれってどっかに書いてあった

"-Llegacy_stdio_definitions.lib" とその前の行のカンマを消せばいい



514 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 15:54:15.40 ID:sgjiEx6Z.net]
>>499
ldc.confにlegacy_stdio_definitions.libはありませんでした。

色々、調べてて気づいたんですけど、LDCを使うにはLLVMもインストールしないといけないですか?
LLVMのバイナリは公開されていないみたいだし、ビルドしないといけないとなると面倒ですね。
日本語の解説サイトもなさそうだし難易度が高い。

515 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 19:09:38.41 ID:vxrFHeSb.net]
忘れてた VS2015 以外のバージョンで動かすには
LDC をその設定で再構築してくれと書いてあった
今探してもどこだったか見当たらないけど…

たぶん VS2015 入れるのが一番簡単

516 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 22:12:49.10 ID:sgjiEx6Z.net]
>>501
なるほど・・・VS2015なら簡単でしたか。

517 名前:デフォルトの名無しさん [2016/03/18(金) 15:04:55.64 ID:adG1WSEK.net]
D言語でGCが動かなせない環境(組み込み環境)で
クラスを使ったコードを走らせるために手動でメモリ管理をする(配置new)
みたいなC++的な使い方できますのん?

もっと具体的に言うと、
メモリ管理クラスをD言語で書きたいんだけど・・・
できれば、ほかの言語(C/C++)を混ぜたくない。

Dでこの望みは叶えられる?
GCが完璧な言語で何を言ってるんだって話だけど
C言語とABI互換バイナリが吐ける言語でかつ、きれいな構文のDはかなり魅力だから、つい。

518 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 16:14:28.14 ID:fGh+hC5f.net]
>>503
Cにポインタ渡すのにこんなんつかってます。
dpaste.dzfl.pl/1d143cf043f4

519 名前:デフォルトの名無しさん [2016/03/19(土) 16:46:55.65 ID:pnhuGA3J.net]
>>504
あざます!!!!
ちとググってみましたけど
WikiにExplicit Class Instance Allocationっておもいっきり書いてありました・・・

手元の環境でもそれ書いたら動いたので
組み込み先の環境でもコレができるか試してみます!

520 名前:デフォルトの名無しさん [2016/03/19(土) 17:36:21.89 ID:emjvs9Sn.net]
foldとかHaskellみたい
いいぞもっとやれ
実行時のパターンマッチとかどんどんやって

521 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 17:51:51.55 ID:szPk7uBU.net]
パターンマッチは本当に欲しい
castSwitchは型で分岐するだけで不満が残る
ついでにAlgebraicもいい感じにしてほしい

522 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 19:52:53.93 ID:fGh+hC5f.net]
Cライクな構文でパターンマッチをどう表現するか?
dropThree :: [a] -> [a]
dropThree (_:_:_:xs) = xs
dropThree _ = []

523 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 21:01:17.80 ID:vRfO35T6.net]
C#だと、次のバージョンでパターンマッチ採用されるみたいね
https://github.com/dotnet/roslyn/blob/future/docs/features/patterns.md



524 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 23:58:06.13 ID:fGh+hC5f.net]
>>509 を読んで、>>507 に必要なのは490ではなくて
if (auto a = cast(A)x) if (0 < a.b) {...}
の省略表記みたいのなのかなと思った。

525 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 00:15:59.18 ID:sW9GrChn.net]
今試してて気づいた
if (auto a = 0 < (cast(A)x).b, cast(A)x) {...}
は通るんだね。キャスト2回いるけど。

526 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 00:42:09.88 ID:sW9GrChn.net]
...と思ったけど違うな。バグ臭い。
dpaste.dzfl.pl/8e56a6c3d640

527 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 01:02:17.46 ID:sW9GrChn.net]
あ、バグですらないや。結果を使わないからカンマの前半が評価されてないだけだ。
スレ汚しでしたorz

528 名前:489 mailto:sage [2016/03/20(日) 04:59:55.44 ID:270cchqR.net]
>>510
考え直してみたら、俺が欲しいのは、クラス以外にも対応したcastSwitchと多重代入かなと思った
最初に欲しかったのは定数もパターンとして扱えるようなものだけど、それ自体は条件分岐で事足りる

529 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 08:32:26.92 ID:PBSyTjzr.net]
さあ早く shibuyad とやらの潜入リポート作成に戻るんだ

530 名前:デフォルトの名無しさん [2016/03/22(火) 18:21:28.75 ID:9L67FCyK.net]
new int[][](10,10)
なんてあったんだな・・・今の今まで律儀にループしてたわ・・・
恥ずかしい

531 名前:デフォルトの名無しさん [2016/03/24(木) 06:29:39.15 ID:JYtPWttv.net]
レスポンシブなウェブページになってるね
https://dlang.org/

532 名前:デフォルトの名無しさん mailto:sage [2016/03/24(木) 18:45:07.21 ID:dsBEx2Ez.net]
まるで今時のプログラミング言語っぽいじゃないか!

533 名前:デフォルトの名無しさん mailto:sage [2016/03/26(土) 15:48:00.20 ID:Hp90Cudb.net]
未来の言語だろ



534 名前:デフォルトの名無しさん mailto:sage [2016/03/26(土) 18:28:21.07 ID:ZDevVvUe.net]
本来の言語

535 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 16:38:36.98 ID:goAIGnqr.net]
2.071

deprecation特盛り一丁

536 名前:デフォルトの名無しさん [2016/04/17(日) 20:07:45.76 ID:jaxl7tJu.net]
Dってエルミート行列の固有値と固有ベクトルを下か上の三角行列から出してくれるライブラリある?

537 名前:デフォルトの名無しさん mailto:sage [2016/04/17(日) 23:05:34.24 ID:Rgu4hbC0.net]
知らないが、
「Cでそれ扱ってるライブラリ」→「Dのバインディング」の順番で探すと見つかるかもしれない。

538 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 14:54:59.76 ID:AtRZD2WH.net]
そんな劣化バインディングの出てくる場面じゃないと思う

Dよお前の力はその程度かッ

539 名前:デフォルトの名無しさん [2016/04/18(月) 15:40:47.97 ID:NxXedIF3.net]
バインディングに劣化とそうじゃないものの区別方法を教えれ

540 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 15:56:31.40 ID:wndeF4nL.net]
EUC-JPの文字列をUTF-8にエ

541 名前:ンコードするにはどうやればいいですか? []
[ここ壊れてます]

542 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 16:29:48.39 ID:4lmkHLOP.net]
>>526
iconvかicuのバインディングを探します

543 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 16:39:21.91 ID:wndeF4nL.net]
>>527
なるほど。
標準ではできないんですね。



544 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 23:04:02.22 ID:8LbOm6LB.net]
>>524 複素数はがんばってほしいよね。Dに。
>>528 EUC-JPは滅んだんだよ!もうそういう事にしようよ!

545 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 15:15:23.43 ID:DoDYnfhi.net]
EUC->(簡単)->JIS->(どのAPIがいい?)->UNICODE->(簡単)->UTF8

546 名前:デフォルトの名無しさん [2016/04/27(水) 10:07:10.53 ID:h7nUlsO3.net]
writeにクラスを渡した時クラス名だけじゃなくて中身も表示させたいんだが何に手を加えればいいんだろか?

547 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 10:09:28.75 ID:Nq/5t8Sv.net]
toStringオーバーライドすればいい

548 名前:デフォルトの名無しさん [2016/04/27(水) 10:27:53.40 ID:KQtnTftA.net]
>>532
即座に返事くれてすごい助かった
ありがとうございます

549 名前:デフォルトの名無しさん [2016/04/30(土) 12:14:38.56 ID:XHbnmWX8.net]
D言語でクラスを使って dmd -c Dソース でコンパイルだけして
GCC(mingw)でWindows用dllをクロスコンパイルする時、リンカが参照できないエラー吐くけども

参照できないメソッドはこれ
_D9invariant12_d_invariantFC6ObjectZv
_d_assert_msg

この参照できないメソッドが入ってるライブラリとその依存関係にあるライブラリって
どのファイルか分かります?

550 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 12:48:14.66 ID:RhLYi0Bf.net]
そうやって混ぜてコンパイルするのは無理…で普通は済む問題なんだけど
何がしたいのかしら

551 名前:デフォルトの名無しさん [2016/04/30(土) 14:53:50.70 ID:XHbnmWX8.net]
>>535
https://github.com/kubasz/uefi-d
これを参考に、UEFI AppをD言語で作りたいんだけども、
クラスを使うとリンクエラーでてしまい と言う話で、>>534
やっぱり、Dのクラスの仕組み上、こういう変な使い方するのは厳しいかな

552 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 16:19:04.96 ID:FuZy8SxD.net]
サンプルは再現出来てんの?

553 名前:デフォルトの名無しさん [2016/04/30(土) 17:06:09.96 ID:XHbnmWX8.net]
>>537
サンプル自体ビルドは通ってQEMUで動作確認済みです。

確認済みのサンプルソースに、追加で適当なクラス
(プリミティブ型(検証時はintのみ)のメンバ1つとコンストラクタ、セッタ、ゲッタのみ)とか
プリミティブ型(同上)メンバのみ構造体を定義すると
リンクしないといけない何かが足りなくなるらしいと言うところです



554 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 17:18:34.76 ID:RhLYi0Bf.net]
それなら
-debug -release のオプションの不一致かな
druntime の debugあり/なし バージョンが分かれてるのかな

555 名前:デフォルトの名無しさん [2016/05/01(日) 11:23:20.12 ID:tKi6j9CT.net]
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、

556 名前:央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
[]
[ここ壊れてます]

557 名前:デフォルトの名無しさん [2016/05/01(日) 12:30:45.52 ID:5H9PV7Hp.net]
年収いくら?
パナマに振り込み可能?

558 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 14:08:25.32 ID:vpP9ivFq.net]
新規性がない

559 名前:デフォルトの名無しさん [2016/05/02(月) 12:22:10.19 ID:IEVsN46J.net]
>>539
とりあえず、Objectのスタブを見つけたので、試しにコンパイルだけしてみました。
https://github.com/JinShil/D_Runtime_ARM_Cortex-M_study/wiki/1.3-Structs
これをそのままobject.dにコピペして、コンパイルだけ通そうとしたんですが
dmd -v -c object.d
binary dmd
version v2.070.2
config /etc/dmd.conf
parse object
importall object
semantic object
semantic2 object
semantic3 object
Error: undefined identifier 'Error'
Error: undefined identifier 'Error'

ってことなので、
class Error{
this(string){}
}

こんな感じのを作って、再度ビルドしたら、DMDが保護例外で落ちたんですが
D言語わからないですけど、多分CTFEが動いたんですかね?

Errorクラスの最小実装ってどうすればいいかわかります?

560 名前:デフォルトの名無しさん [2016/05/02(月) 15:11:51.74 ID:aR8AOrvI.net]
どつぼにそれてるパターン?

561 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 17:55:15.75 ID:IEVsN46J.net]
ごめんなさい、話が飛んでた。(ドツボにはまってました)
>>534は一旦解決しました。ありがとうです。

-releaseオプションつけたら、一先ずassert関連の
リンクエラーは出なくなりました。

562 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 18:01:06.10 ID:aR8AOrvI.net]
良かった
良かった

563 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 16:57:34.57 ID:3BQvrgH5.net]
DConf 2016 ustream
https://www.sociomantic.com/blog/2016/05/follow-dconf-2016-in-real-time/#.VymqqVWLQ7Y

Twitter
#dconf



564 名前:デフォルトの名無しさん [2016/05/04(水) 18:15:35.48 ID:cRuVDbfJ.net]
GJ

565 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 10:11:25.96 ID:l/2+Jb+M.net]
割とマジで
b.hatena.ne.jp/entry/togetter.com/li/970814

566 名前:デフォルトの名無しさん [2016/05/06(金) 20:12:27.55 ID:7fiYERlP.net]
Dって長方形配列を動的に確保するにはどうするのがベストなんでしょう?

567 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 22:45:34.04 ID:W1xQbJku.net]
>>550
>>516

568 名前:デフォルトの名無しさん [2016/05/07(土) 12:22:21.49 ID:w1sNmh/I.net]
>>551
おお、この記法でギザギザ配列回避できるのか!ありがとうございます

569 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 14:44:32.46 ID:sTrGOFZo.net]
多次元配列は最近こういうのもある
dlang.org/phobos/std_experimental_ndslice

570 名前:.html []
[ここ壊れてます]

571 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 23:29:28.49 ID:Qf1dBavtR]
こうしてました
import std.algorithm;
auto matrix = (new int[12]).chunks(4).array;

572 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 23:40:10.72 ID:Qf1dBavtR]
std.rangeだった

573 名前:デフォルトの名無しさん [2016/05/12(木) 09:37:33.44 ID:3GMYNf4t.net]
>>553
これがまさに求めていたものだった
日本語のページではこれ全然見つからないし教えてくれなかったらこれに気付かず過ごすところだった
ありがとうございます!



574 名前:デフォルトの名無しさん mailto:sage [2016/05/12(木) 14:42:51.13 ID:yoZypm21.net]
d言語の日本語情報は古くて、結構アテにならない

575 名前:デフォルトの名無しさん mailto:sage [2016/05/12(木) 15:10:26.64 ID:9ZRvi6Dg.net]
それまだ入ってから半年も経ってないし
experimental な上に注目度高いからガンガン変わるよ

576 名前:デフォルトの名無しさん mailto:sage [2016/05/13(金) 09:27:38.80 ID:XXFnZH8x.net]
DerelictAllegro用のdllファイルがAllegro公式漁ってもみつからねぇ
いっそ同封してくれりゃいいのに

577 名前:デフォルトの名無しさん mailto:sage [2016/05/13(金) 10:05:11.23 ID:+7L1Kkkt.net]
公式配布のdllでダメなの?

578 名前:デフォルトの名無しさん [2016/05/14(土) 11:24:42.35 ID:r8zKr16p.net]
>>558

579 名前:デフォルトの名無しさん [2016/05/15(日) 12:10:35.85 ID:5BLNb8Jh.net]
dってpythonでやれるように関数の引数としてクラスをとることは出来ますか?

580 名前:デフォルトの名無しさん mailto:sage [2016/05/15(日) 13:23:09.57 ID:0JYIjYbN.net]
型と値は別物なので、Pythonのtypeクラスみたいなものは無いはず
テンプレートでは型を引数に取れるからそれで大概足りるしな

581 名前:デフォルトの名無しさん mailto:sage [2016/05/15(日) 13:26:52.30 ID:/LAeaQVK.net]
そのままのものはなくても
__traits/std.traits を隅々まで見るとだいたいのことは出来る

582 名前:デフォルトの名無しさん [2016/05/15(日) 16:23:19.03 ID:5BLNb8Jh.net]
なるほどdでは型を引数にしたかったらテンプレートを使うんですね
わかりましたありがとうございます

583 名前:デフォルトの名無しさん [2016/05/16(月) 18:01:26.97 ID:SzBm3KOG.net]
すいません、>>553のndsliceを包含したクラスでnumpyのように動的にshapeを変えられるクラスを作ることは可能でしょうか?
slicedの引数が動的配列ではいけないせいでスライスの形をメンバ変数として持てず、Sliceの次元がコンパイル時に決定されていないといけないせいでslicedの結果をメンバ変数として持てなくて困っております。



584 名前:デフォルトの名無しさん mailto:sage [2016/05/16(月) 20:47:31.03 ID:1yYFRP5Q.net]
>>566 同じインスタンスに対してshapeをかえるのはむりっぽいとおもわれ
決め打ちできる所までtemplate化していくしかないきがす
https://dpaste.dzfl.pl/32747b208179

585 名前:デフォルトの名無しさん [2016/05/17(火) 08:13:05.26 ID:8mvnsosn.net]
>>567
やっぱり無理でしたか……
コードの例まで載せてくれてありがとうございます。参考になりました

586 名前:デフォルトの名無しさん mailto:sage [2016/05/18(水) 07:28:31.57 ID:tzs1T2aJ.net]
テキストファイルをstringに読み込んでstd.string.indexOfを使うと
Invalid UTF sequence: e5x a3x - Attempted to decode past the end of string (at index 2)
という実行エラーが出ます。
テキストファイル自体は、TeraPadで開くとUTF-8として自動認識されているのですが、
D言語の標準ライブラリが認識してくれない原因は何が考えられますか?

587 名前:デフォルトの名無しさん mailto:sage [2016/05/18(水) 13:02:57.20 ID:yAlr13Jm.net]
エラーメッセージそのまま
文字列が中途半端なところで終わってる
読み込むサイズが足りないか、元々ファイルがおかしくてTeraPadが開く時に自動で直してくれてるのか

588 名前:デフォルトの名無しさん mailto:sage [2016/05/18(水) 13:51:37.18 ID:tzs1T2aJ.net]
>>570
thx
コードの中に、文字列が中途半端に終わってる部分がありました。

589 名前:デフォルトの名無しさん [2016/05/22(日) 07:52:01.31 ID:vou34ySW.net]
D言語の複素数ってなんか組み込みのとライブラリのがあってしかも行き来が不自由なんだけどどうなってんだこれ

590 名前:デフォルトの名無しさん mailto:sage [2016/05/22(日) 08:03:25.90 ID:KneT9rID.net]
ライブラリの方

591 名前:を使う
組み込みのやつは互換性のために残してあるだけ

https://dlang.org/deprecate.html
[]
[ここ壊れてます]

592 名前:デフォルトの名無しさん [2016/05/22(日) 08:10:54.35 ID:AqdMtFt7.net]
組み込みで使えるの便利だったのに……

593 名前:デフォルトの名無しさん mailto:sage [2016/05/22(日) 09:20:35.38 ID:KneT9rID.net]
「ライブラリで実現できる」「言語仕様を小さくする」とかで
機能追加が却下されたり言語の機能が削られたりしてるが
「できる」じゃなくて本当にライブラリ側でやった方が良いのかどうか検討してからにして欲しい

言語仕様の大きさなんてユーザには関係ないよ、必要な部分しか使わないんだから



594 名前:デフォルトの名無しさん mailto:sage [2016/05/22(日) 10:51:13.93 ID:cWYsuk0t.net]
言語仕様が小さくなってフットワークが軽くなる(== 破壊的変更が増える)
ならそれはユーザ体験の向上であろう。
さあはやく俺のstd.math.expi多用したコードをはじくのだ!

595 名前:デフォルトの名無しさん [2016/05/22(日) 11:23:25.91 ID:7hG4VCWt.net]
>>575
つまりどういうことです?

596 名前:デフォルトの名無しさん [2016/05/22(日) 14:41:12.39 ID:P1iBYgIC.net]
ライブラリでやるより言語仕様充実して欲しい

597 名前:デフォルトの名無しさん mailto:sage [2016/05/22(日) 15:55:15.13 ID:/FrpjXvP.net]
初期の頃は、ライブラリより構文側でやった方が最適化できるというスタンスだったのに
いつの間に方針転換したんだろな

598 名前:デフォルトの名無しさん mailto:sage [2016/05/22(日) 19:14:04.72 ID:6Zib/w67.net]
少なくとも>>573読む限りでは、需要がないと判断されただけに見えるけど
dlang.org/builtin.html でも最初に挙げられてる理由は「よく使われる」だし

8年間futureのままだったが、今月ようやく警告を出すPRが出たんだな

599 名前:デフォルトの名無しさん mailto:sage [2016/05/24(火) 11:51:00.77 ID:ng4V60az.net]
>>579
CTFE が充実したとかLDCにぬかれたとかありそう
それに PreciseGC が未だにないのにビルトイン型だけ充実してますと言われても困る

600 名前:デフォルトの名無しさん [2016/05/24(火) 23:39:58.92 ID:mrDJwu+1.net]
Pythonでいうところの
np.array([[[i,j] for i in range(3)] for j in range(5)])

np.array([[i,j] for i in range(3) for j in range(5)])
はDではrangeやndsliceを使って一行くらいで表現できますか?

601 名前:デフォルトの名無しさん mailto:sage [2016/05/25(水) 02:32:41.24 ID:ywcZQvWe.net]
>>582
import std.algorithm, std.range;
3.iota.map!(a=>5.iota.map!(b=>[a,b])).join
ndslice使ってないけどこんなんですか

602 名前:デフォルトの名無しさん [2016/05/25(水) 13:31:47.54 ID:7HlacyyV.net]
>>583
おお、綺麗だ……
まさかpythonより短く書けるとはびっくりしました。
ありがとうございます

603 名前:デフォルトの名無しさん [2016/05/25(水) 14:49:41.33 ID:JMqhkYJX.net]
Dとpythonは相性良い感じ



604 名前:デフォルトの名無しさん [2016/05/27(金) 18:54:45.88 ID:a5zDK+Zd.net]
dmcの質問なんですけど
a->b(a);
みたいなオブジェクトaに対するインスタンスメソッドbの呼び出しを
#define M(x, y) x->y(x)
みたいに定義して
M(a, b);
と書きたいのですが
エラーになります
どうマクロを書くのが正しいのですか

605 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 23:33:42.41 ID:XThKS0xC.net]
>>586 俺の環境ではその書き方のままで動くけど?
そもそもそのマクロの意図がわからんが。
codepaste.net/j8ub3f

606 名前:デフォルトの名無しさん [2016/05/27(金) 23:53:06.16 ID:0lBzfo5D.net]
>>587
ここD言語のスレやで

607 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 11:08:25.75 ID:YkPoIoOS.net]
現象がdmc限定っぽかったのでここで質問しました
実際のコードはメソッドにいくつかパラメータ(可変長)があって
a->b(a);
のケース以外に
a->b(a, c, d, e);
でも呼ぶケースがあるので
#define M(x, y, ...) x->y(x, ## __VA_ARGS__)
みたいに定義して
M(a, b);
するとエラーになります
条件後出しで済みませんでした

608 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 12:41:24.79 ID:2veKovfq.net]
>>589 その書き方はgccのコンパイラ拡張じゃまいか
https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html
ちなcl https://msdn.microsoft.com/en-us/library/ms177415.aspx
>>588 ごめ。

609 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 12:45:14.86 ID:YkPoIoOS.net]
「##」 を無くしてもエラーになるんです

#define M(x, y, ...) x->y(x, __VA_ARGS__)
M(a, b);

610 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 15:20:08.53 ID:2veKovfq.net]
可変個引数が0個の場合、C99的にはコンマが余っちゃうからそれぞれ独自拡張しますってリンク先に書いてあります。
dmcはもうあんまり使わないほうがいいかも
en.cppreference.com/w/cpp/compiler_support
時代はDだよね!?(スレチ回避)

611 名前:デフォルトの名無しさん mailto:sage [2016/05/28(土) 15:31:12.42 ID:YkPoIoOS.net]
ありがとうございます!!
Dで書き直すことにします!!!

612 名前:デフォルトの名無しさん [2016/05/28(土) 22:37:06.78 ID:/97ybqru.net]
mixin templateでopIndex(size_t I)を定義した後mixinなしでopIndex(size_t i, size_t j)を定義するとopIndex(size_t I)が無効になりますが、これは何が起こっているのでしょうか?

613 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 02:18:09.41 ID:KH4GuwqF.net]
>>594
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:
っていう仕様



614 名前:デフォルトの名無しさん [2016/05/29(日) 09:19:07.17 ID:xui0wAEZ.net]
>>595
これって引数の型や数が違っててもオーバーライドするんですか……

615 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 18:01:34.33 ID:TAOnosGl.net]
575のリンク先の下のほうにあるけど、aliasでオーバーロードに含めることができます。

616 名前:デフォルトの名無しさん mailto:sage [2016/05/29(日) 19:40:16.20 ID:Ai+IvVh7.net]
オーバーロード集合はちゃんと使えないとハマることがあるのに
説明が不十分だと思う

617 名前:デフォルトの名無しさん [2016/05/31(火) 22:06:56.78 ID:RGgOwYh0.net]
FreeStandingな環境向けのD2向けRTTIの実装って有ったりするです?

618 名前:デフォルトの名無しさん [2016/06/02(木) 12:17:10.24 ID:kBgl6uD2.net]
5月31日 5時10分

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ニュース www3.nhk.or.jp/news/html/20160531/k10010540551000.html


※関連板 wc2014.2ch.net/galileo/ 宇宙

619 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 12:25:16.50 ID:kBgl6uD2.net]
既出かもだけど、俺コレには震えた

qiita.com/mattn/items/b7889e3c036b408ae8bd

620 名前:デフォルトの名無しさん [2016/06/02(木) 18:38:00.61 ID:e6XwNe8R.net]
配列が提供するインターフェイスを揃えたクラスを簡単に作るには何のインターフェイスを継承して何にalias thisすればいいのでしょうか?

621 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 22:56:31.52 ID:7NE5KVgC.net]
>>599 castじゃだめなん?
>>602 こうですか? https://dpaste.dzfl.pl/4f46d257323c
>>600-601 dmd と間違って smd と入れるとスーパーマーズD言語ちゃんが接近してくるジョークソフトを作ってくれるんですね↓

622 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 18:51:35.81 ID:DlnDvjYz.net]
了解

623 名前:デフォルトの名無しさん [2016/06/04(土) 22:54:34.68 ID:tpsKxr6y.net]
>>603
rangeのいずれかのインターフェイスを継承させてやりたいです……

複数種類のクラス(全て配列のインターフェイスを持っている)を引数として取れる関数を定義したいんです

voidポインタなんて久々に見ました



624 名前:デフォルトの名無しさん [2016/06/04(土) 22:57:19.79 ID:/ZaYqJqz.net]
std.mathとstd.complexをimportしたらexpiが競合した……
まさか毎回どっちのを使うか指定しないといけないのか?

625 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 01:15:03.75 ID:wuPWHoc6.net]
選択importするとか

626 名前:デフォルトの名無しさん [2016/06/05(日) 11:27:16.05 ID:NUUYuMig.net]
インターフェイスAとBがあって、関数fはインターフェイスAとBの両方を継承したクラスを引数に取る
こんな関数fの引数の記述方法はありますか?

627 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 01:34:29.33 ID:mLcW0ja8.net]
>>605 range はダックタイプで、https://dpaste.dzfl.pl/6d9bc674089e
>>608 こんな感じではないだろうか https://dpaste.dzfl.pl/b3f7f2d0ebae

やっつけSMDつくったよー
https://github.com/garlic-flavor/smd

628 名前:デフォルトの名無しさん [2016/06/06(月) 18:47:18.37 ID:Ed/7rB97.net]
>>609
なるほどtemplate+ifでやればいいのですか
こんなに汎用性のあるものとは知りませんでした
ありがとうございます!



D使いもWindowsユーザーの方がやっぱり多いんだろか……

629 名前:デフォルトの名無しさん [2016/06/07(火) 11:54:47.42 ID:Fo09osKo.net]
dmcの質問なんですけど、
wchar_t *hoge = L"あ";
としてファイルを UTF-8 で保存&コンパイルして実行したとき、
hoge の中の値は \u3042 を期待していたのですが、
なぜか \xe3\x81\x82 になるみたいなのですが、
なぜでしょうか?

630 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 13:35:54.18 ID:dYQbvyOv.net]
入力がUTF-8と思われてないんじゃね
Windowsなら普通はSJISかLatin-1かが仮定されてるはずだから、オプションを付ける必要があると思う
dmcのことは知らん

631 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 14:58:01.24 ID:wTM17UsZ.net]
core.simdのfloat4って、要素を移動させるのにシフト演算って使えないでしょうか?
例えば[1.0, 2.0, 3.0, 4.0]のベクトルを[2.0, 3.0, 4.0, 4.0]にしたいです。

632 名前:デフォルトの名無しさん [2016/06/08(水) 07:59:41.76 ID:51dlGdh/.net]
iotaからの一連の流れで好きな配列つくれるのホント便利だわ

633 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 16:27:08.87 ID:c99ZJOB9.net]
>>613
何bit分を何bitシフトさせたの?



634 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 18:13:41.96 ID:nQlOEPkQ.net]
LDC 1.0.0 リリースおめ

635 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 20:51:27.58 ID:jEie4NkL.net]
>>615
もしかしてそのままシフト演算子が使えたりします?
www.kmonos.net/alang/d/simd.html
ここに書いてないので、単純にそのままできるとは思いませんでした。

で、試そうと思ったらError: undefined identifier 'float4'というエラーが。
core.simdはimportしてるんですけど、なぜでしょう?

636 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 21:09:40.20 ID:4WAQK3bH.net]
>>603
castは型のキャストって意味?

もしそうなら意図が伝わってなくて申し訳ない。
Freestandingな環境だとlibc.soはもちろん存在しないし
動的リンクなんて仕組みもないので
既存のdruntimeは使えないって思い込んでるんだけど
(合ってる?もしかして、この辺りで勘違いしてる?)

最低限、そういう環境で構造体は使えるようにObject.TypeInfo_Structクラスが
実装されてるもの無いのかな・・・と。
dmd ver2.071.0でObjectクラスを自作するとErrorクラスの実装でコケるので
既存で最小限(RTTIのみ?)の機能を持つライブラリがあればそれを使いたいなと言うことで。

637 名前:デフォルトの名無しさん [2016/06/11(土) 08:53:33.73 ID:CU/y+sw+.net]
std.rangeに入ってるRandomAccessFinitを継承してクラスを作ったら、メンバの配列にalias thisしてもなお実装すべきものがいっぱい残ってるんですが、
これは全て自分で一つ一つ書いていくのですか?

もしくは配列と同じ操作を提供するインターフェイスを作るにはどうすれば楽でしょうか?

638 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 09:15:16.03 ID:sZRxwhEp.net]
あそこの一連のインターフェイスは「こんなん作ってみたんだけど〜」程度のもので
ほとんど使われてない

構造体テンプレートにしてコンパイルエラーが出ない程度に既定プロパティを補うのが主流
そのやり方なら alias this の転送でほとんど足りるはず
ただしどのプロパティを再定義すべきかはインターフェイスを見るのがいい

639 名前:デフォルトの名無しさん [2016/06/11(土) 09:41:32.26 ID:j5Azp1YN.net]
>>620
ええっとすみません。間違っていたら申し訳ないのですが、もしかしてinterfaceとclassを使うよりstructを使うのが主流なのですか?

640 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 10:36:32.51 ID:sZRxwhEp.net]
D言語のファンはオーバーヘッドとかGCとか嫌う声が大きい
実際のところ GC の実装がチープでそれほどあてにならないし

構造体とメタプログラミング乱舞で読みにくいライブラリが人気

でもインターフェイスでやりたければやればいいのよ
>>619 の 大半のメソッドは1行関数で済むはず
双方向とか明らかにいらなそうなのを省くなら std.typecons.WhiteHole が使えるかも

641 名前:デフォルトの名無しさん [2016/06/11(土) 11:30:53.78 ID:awsUhPf2.net]
>>622
Whiteholeは知らなかったし参考になります。
人気のライブラリとかってどこを見ればわかるんでしょうか?

642 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 21:29:10.60 ID:HMmiIFiS.net]
>>618 わかんないや。ごめんね。
>>623 人気ぶりはわからないけど、ここのを https://code.dlang.org/
これ https://code.dlang.org/packages/dub 使ってダウソして欲しいと、ヲルたんは思っているのではないだろうか。

643 名前:デフォルトの名無しさん [2016/06/13(月) 05:06:45.55 ID:PElmNHhw.net]
>>624
あ、すみません。人気のライブラリって標準ライブラリ中でも人気な奴という意味からと思ってました。
そういうことでしたか。ありがとうございます。

ところで、ひとつ聞きたいのですが、dではpureやimmutableが使えますが、これらを使うと実際どの程度最適化されるのでしょうか?



644 名前:デフォルトの名無しさん [2016/06/13(月) 15:35:28.75 ID:iihvfQlB.net]
InterfaceにopBinaryなどのテンプレート関数を持たせるにはどうするのですか?

645 名前:デフォルトの名無しさん [2016/06/13(月) 16:12:58.29 ID:+zMNrpMB.net]
すいません
>>626
これ自己解決しました
finalにすれば良いのですね

646 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 14:11:58.45 ID:JvVSF706.net]
GCの性能は連想配列とかクロージャとかクラスの性能に直結するので、
「できるだけGCが動かないように」じゃない方向に進んでGC性能うpしてほしいな・・・

647 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 21:13:06.96 ID:4xyCbWbUb]
「GC動かさないようにできる

648 名前:言語のGCなんて信用ならない」とは聞くけど、その通りだな……

邪魔になる時にGC切れるようにするんじゃなくて、邪魔にならないGC作らないとダメでしょ。
[]
[ここ壊れてます]

649 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 08:40:03.61 ID:EnFKsdbU.net]
D-Man culture
forum.dlang.org/thread/vccecaeunthhfgvkoija@forum.dlang.org

650 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 11:59:01.34 ID:332nxUAD.net]
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
www.digitalmars.com/changelog.html#new857

651 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 13:49:32.96 ID:ZQfpp6dv.net]
D-Man adventures
dlangcomicstrips.tumblr.com

652 名前:デフォルトの名無しさん [2016/06/25(土) 11:45:41.24 ID:M9L0G4Rl.net]
Dって多重代入なかったっけ?

653 名前:デフォルトの名無しさん mailto:sage [2016/06/25(土) 12:05:40.78 ID:mYN7KAdL.net]
そんなものはない



654 名前:デフォルトの名無しさん [2016/06/25(土) 22:16:23.10 ID:hxA5cJiF.net]
残念

655 名前:デフォルトの名無しさん [2016/06/26(日) 11:50:32.74 ID:YRduG3pc.net]
速い行列演算したいんだけどIntel mklのblasを読み込む方法がよくわからん……

あとScidってなんか開発止まってるっぽいけどどうなんだろ?

656 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 12:08:12.61 ID:Hr+drjlN.net]
ネイティブも吐けるJuliaと比べて
どっちが速いん?
どっちが書きやすいん?

657 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 13:03:10.20 ID:0+Or/a+e.net]
C系に慣れてればこっちが書きやすい

どっちが速いかは用途によるんじゃないの

ベンチマーク取った!→チューニングが足りん!
てのがいつもの流れ

658 名前:デフォルトの名無しさん [2016/06/26(日) 14:45:48.76 ID:Hr+drjlN.net]
なるほどthx!

659 名前:デフォルトの名無しさん [2016/06/28(火) 14:04:24.39 ID:MNOhqMou.net]
ってかDで線形代数する時のスタンダードってなんだ?

660 名前:デフォルトの名無しさん [2016/06/28(火) 14:27:17.46 ID:a3nSzCGl.net]
おhr
qiita.com/k3_kaimu/items/e7aab2ef090c53cac819
forum.dlang.org/post/mailman.627.1331668940.4860.digitalmars-d-learn@puremagic.com

661 名前:デフォルトの名無しさん [2016/06/28(火) 21:33:02.21 ID:NXkyNPDs.net]
Scidもdepricated放置されてるし科学方面弱いな

662 名前:デフォルトの名無しさん [2016/06/29(水) 20:56:03.25 ID:6Q9/xyGV.net]
std.experimental.ndsliceはどうなんだろう
experimentalだし俺は使ってないからわからんけど

663 名前:デフォルトの名無しさん [2016/06/29(水) 21:52:28.61 ID:AXw9t+Ft.net]
ndsliceは行列演算ついてなかったはず多分



664 名前:デフォルトの名無しさん [2016/06/29(水) 22:24:24.36 ID:9iO2eMNn.net]
多分ね

665 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 02:30:21.03 ID:yrz/Jj7I.net]
https://dpaste.dzfl.pl/75f0f6d8bb00
と言う事を知った夏。

666 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 11:02:58.90 ID:X105+0ra.net]
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;
}

667 名前:デフォルトの名無しさん [2016/07/08(金) 07:42:04.17 ID:0UOH05eF.net]
テンプレート制約で複素数とか、複素数または実数にヒットさせるにはどうすりゃええんや……
組み込み複素数は__traitで簡単にヒットさせれるけど

668 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 22:01:04.69 ID:7n1yPXzP.net]
>>648 こう?
is(T == Complex!U,

669 名前:U) // T が std.complex.Complex の場合に true
std.traits.isNumeric!T // T が組み込みの数値型の場合に true
[]
[ここ壊れてます]

670 名前:デフォルトの名無しさん [2016/07/09(土) 22:27:59.54 ID:lSFNvjJ5.net]
>>649
こんなis の使い方あったのか
勉強不足でしたすいませんありがとうございます

671 名前:デフォルトの名無しさん [2016/07/10(日) 00:27:46.10 ID:PefByr9S.net]
やべえndsliceのライブラリstatic if多すぎて何が起こってるのか全然わかんねえ

672 名前:デフォルトの名無しさん [2016/07/16(土) 14:39:39.16 ID:9Y22Kipm.net]
Julia(女) に浮気中

673 名前:デフォルトの名無しさん [2016/07/18(月) 09:14:41.70 ID:V9a/Rv5f.net]
Juliaは線形代数得意だもんな



674 名前:デフォルトの名無しさん [2016/07/19(火) 16:01:58.15 ID:U82S7i4O.net]
1、dub.exeを実行すると、コマンドプロンプトが一瞬立ち上げってすぐに消えます。
2、コマンドプロンプトからdub init

675 名前:デフォルトの名無しさん [2016/07/19(火) 16:02:38.07 ID:U82S7i4O.net]
1、dub.exeを実行すると、コマンドプロンプトが一瞬立ち上げってすぐに消えます。
2、コマンドプロンプトからdub init"プロジェクト名"でプロジェクト制作すると、
  プロジェクト名のフォルダーが制作され、フォルダー内には、以下の階層ができる
   1./source/
   2./source/app.d
3、ここで、"dub.jsonを記述する"とありますが、そのファイルが何処にも有りません。
  
dubの設定及び使用方法教えてもらえませんか。
Win10、dmd.2.071.1.windowsです。よろしくお願いします。

676 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 17:26:50.31 ID:Ez5hwRqa.net]
実行するとコマンドプロンプトが一瞬立ち上がってすぐに消えるのって
dub.exeをエクスプローラからダブルクリックした時とかの挙動じゃね?

ちゃんとコマンドプロンプトからdub init

677 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 17:43:18.52 ID:fscdSyYa.net]
気の利いた IDE が作ってくれるかもしれんけど
そうでないなら自作
https://code.dlang.org/package-format?lang=json

まあ実際はどっかのプロジェクトから持ってきて修正して流用くらいじゃないの

678 名前:デフォルトの名無しさん [2016/07/19(火) 17:45:43.54 ID:o21q4Wh2.net]
まず、Windowsのロゴがあるキー( 田 )を押しながら、Rを押してください。「ファイル名を指定して実行」ウィンドウが開きます。
次に、cmdを入力して、Enterを押してください。

679 名前:デフォルトの名無しさん [2016/07/19(火) 19:18:09.42 ID:3sf6xm4M.net]
>>654 が一瞬書き込んですぐに消えました

680 名前:633 [2016/07/19(火) 19:38:28.66 ID:U82S7i4O.net]
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の初心者には敷居が高いですね^^;

681 名前:633 [2016/07/19(火) 19:44:14.42 ID:U82S7i4O.net]
↑これ入力←この位置が少しずれていますので、書き直しました。
Package recipe format (sdl/json) [json]:json ←これ入力

682 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 19:58:45.99 ID:fscdSyYa.net]
いやいやいや プログラム歴0の初心者が dub init 使うってどんな状況よ
最初の一歩から間違ってるとしか

683 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 20:05:03.34 ID:fscdSyYa.net]
あれ、今は普通のアプリ開発でもビルドツールに dub 使うんだっけ?
やったことないな



684 名前:デフォルトの名無しさん [2016/07/19(火) 20:20:26.23 ID:555Vvc50.net]
たしかにD言語ってコマンドラインの文化に慣れてないと厳しいな。ってか

685 名前:蜻フの言語がそうだが

dependencyは最初はdub.jsonに書いてないけど、手入力したら認識してくれるから、>>657を参考に自分で手入力するといいよ
コマンドラインの文化に慣れてないと違和感感じるかも知れないけど、この手の設定ファイルは最初は何も書かれてないから項目を自分で書いていくのが定石

ってかdubのライブラリ使わないならdependencies 書かなくていいから最初はdependencies 書かなくていいよ
[]
[ここ壊れてます]

686 名前:633 [2016/07/19(火) 21:06:11.43 ID:U82S7i4O.net]
>>641
  某イクサゲームをやっていまして、10万円金くじ引いても天なるものが1枚しかでなくてwww
  自分でゲーム作ったほうがいいんじゃね!っと思い立ったのが吉日でして。
>>643
  ゲーム用のライブライ追加してぼちぼちやってみようかと思ったのですが、
  ズッコケすぎて全然前に進みません。^^;
  dmdダウンロードして4日目くらいですがw
  ちなみに、"プログラミング言語D"とゲーム開発関係書籍2冊ほど手元に置いてますけど
  最初の一歩目で迷子になってます、、、。

687 名前:633 [2016/07/19(火) 22:42:44.72 ID:U82S7i4O.net]
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に何のために、どんなソースを書くのかわかりません><
   よろしくお願いします。

688 名前:デフォルトの名無しさん mailto:sage [2016/07/20(水) 07:03:39.83 ID:/Ye1vbG1.net]
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に記述して
コマンド

689 名前:デフォルトの名無しさん mailto:sage [2016/07/20(水) 07:06:09.24 ID:/Ye1vbG1.net]
レス本文にダブルクォーテーションが入ると文章途切れるのか

>>667の途切れた部分)
main.dを新規作成してエディタで開いて
std.stdioをimportしてmain関数内でwriteln関数を使って
HelloWorldをコンソールに出力するコードをmain.dに記述して
コマンド dmd main.d でコンパイルするとこからはじめようか

新しいプログラミング言語に触れるなら↑が本来の最初のステップになる

690 名前:633 [2016/07/20(水) 09:29:26.81 ID:Oo0kZypL.net]
>>646
助言ありがとうございます。
HelloWorldの門は一番最初にくぐりました。
レス文見てたら、dubの使い方を勘違いしてたみたいでした。
最初は任意のライブラリを勝手にダウンロードし、dmdにサインイン。 
その後自由にライブラリが使えるものだと思っていました。
違う方法でライブラリが使える方法を探ってみたいと思います。
レスをくれた皆さんありがとうございました。

691 名前:デフォルトの名無しさん [2016/07/20(水) 13:49:05.59 ID:S0wpPWZM.net]
test "hoge D" hage

692 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 02:31:14.62 ID:+htOPDkp.net]
「D言語は2番目に覚えるべき言語」とか言うけど、「ゲーム作りたい」という動機だと、もっと、かなり順位下がる気がする。
ABA GamesさんからD言語入った身で言えたギリじゃないけど。
短い期間で出力を得たいならJavaScript(かそのトランス

693 名前:pイラ)おすすめ。
コントローラからの入力がまだ標準化されてないかもしれないけど。
というか俺が思ってる某IXAゲームもクライアントサイドはJS+WebGLなのでは?
7〜8年前だったらActionScript推したけどなー。
あ、やる気に冷や水かけるつもりじゃないですよ。言語の習得は平行してできるので、どっちもやるとイイよ!
[]
[ここ壊れてます]



694 名前:デフォルトの名無しさん [2016/07/21(木) 18:46:26.48 ID:Vj/xPVWN.net]
いまならUnityじゃね

695 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 00:53:22.17 ID:h/DGoVNb2]
ゲーム作りたいなら普通にC#やればいい
C++でもいいかもしれないけど。

696 名前:デフォルトの名無しさん [2016/07/25(月) 00:17:46.47 ID:XTQ4vcgC.net]
D言語にも深層学習用のライブラリがあればなあ

697 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 01:29:38.10 ID:yG1Q1Zfx.net]
DMDScriptってこの先生きのこれるの?
例えばreadme.txtのMain Goalのリストにも載ってない64bit対応とかする目あるのだろうか?

698 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 12:18:44.40 ID:LJe/qM3f.net]
そこに山があれば登るのが真のDer

699 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 18:52:17.71 ID:D9Aqh5ca.net]
Releaseビルドで作られたexeファイルには、開発環境由来の個人情報は含まれますか?

700 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 23:45:49.73 ID:aXbZPgJ2.net]
hello, worldをダンプしてみたけどPhobosのシンボルが読めるからまあ
D言語が使われているであろうこととか>>677がマゾ豚であることとかがわかる。
幼女>犯罪に使おうとかキモいこと考えてないでさっさとDちゃんの抱き枕相手に腰振る練習してなさいよ!このブタッ!

701 名前:デフォルトの名無しさん mailto:sage [2016/08/17(水) 00:15:35.35 ID:lwRSgBSO.net]
>>678
犯罪なんて考えてないです><
ネットで公開したとき、特定につながる情報が入ってないか気になっただけですよ。
あと、マゾ豚でもないです><

702 名前:デフォルトの名無しさん mailto:sage [2016/08/17(水) 19:37:22.85 ID:Tv1IP5hX.net]
パスにアカウント名入れてるバカは時々いる

703 名前:デフォルトの名無しさん mailto:sage [2016/08/17(水) 19:59:59.49 ID:BDOXQSJ7.net]
My Documents以下で開発してて、デバッグ情報にあるフルパスからアカウント名が……って話だな



704 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 12:39:10.84 ID:aeEeX8qQ.net]
>Releaseビルドで

よくよめ

705 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 21:07:12.99 ID:g/2ERTf6.net]
templateを使ってループをunrollしたいと思ってるんですけど、うまい方法はないでしょうか?
static ifならぬstatic foreach的なものが欲しいです。

706 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 21:17:04.32 ID:y21Asc3i.net]
レンジの先読みとか save の方が現実的じゃないの

707 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 21:59:01.32 ID:g/2ERTf6.net]
>>684
レンジの先読みっていうのは、1ループで例えば4要素ずつ回すとかするやつですか?
saveはよくわかりませんでした。

templateでは無理なんですかね?

708 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 07:27:24.17 ID:kzljWn49.net]
タプルを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にタプル操作テンプレート群がある

709 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 10:29:18.28 ID:W9Uq4kNW.net]
せっかくAliasSeqって名前がついたんだから使ってやろうぜ
公式ももうタプルの名はtypecons.tupleに譲ろうって感じだし、せめて静的タプルと

710 名前:
https://dlang.org/tuple.html
[]
[ここ壊れてます]

711 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 10:47:13.49 ID:GD/RUd4Y.net]
こりゃ TDPL 第2版の再優先事項やね

712 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 16:52:26.00 ID:Sk3FDaZ1.net]
>>686
なるほど、タプルを使うとstatic foreachみたいなことができるんですね。
>>687
型タプルの名称が変わってたんですね。

713 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 17:22:06.82 ID:XIBStaFM.net]
assert(RegexMatch!string().empty,



714 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 17:31:32.34 ID:aVRW/GTu.net]
https://dlang.org/changelog/2.071.2.html

715 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 22:52:21.25 ID:ZeC4oDIox]
細かいバグ修正ばかりか…

716 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 22:57:30.78 ID:EThcvmUTv]
ポイントリリースは基本的にregression修正のためのもの
まあ 2.072 のベータもそんなに先ではなかろう

717 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 15:24:34.36 ID:lyDMzk0a.net]
質問です
C# なんかだとジェネリクスの変性を指定できて、たとえば Base <- Derived のとき List<Base> <- List<Derived> になる、つまり
List<object> a = new List<string>();
ってできたと思うんですが、こういうのって D言語だとどう書けばいいんでしょうか
opCast を使う?

718 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 03:02:58.71 ID:XeSbllOL.net]
>>694
テンプレートの範囲を拡大させることで実現する。
しばしば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);
}

719 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 11:32:10.17 ID:G+08whNk.net]
なぁにこれ?
indianautosblog.com/2016/10/most-powerful-suzuki-swift-produces-350-hp-244445

720 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 13:19:51.46 ID:CGbCriuU.net]
スレチ
swift スレに貼れ

721 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 13:43:48.56 ID:kYS44Rbd.net]
スレチの様で微妙にスレチじゃないかも

722 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 13:44:19.71 ID:kYS44Rbd.net]
ついでに拾いもの

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

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

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


色々紆余曲折あったけど Git インスコして GitBash 使うのが一番楽っぽい
https://git-for-windows.github.io/

723 名前:デフォルトの名無しさん [2016/10/12(水) 13:46:35.25 ID:CGbCriuU.net]
どうみてもスレチ
っつーか板違い



724 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 16:53:46.81 ID:L+oZkHrx.net]
>>696
組み込みでDを使ってるに違いない

725 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 16:55:38.03 ID:L+oZkHrx.net]
そういや最近ハマったんだけど
auto x = (int a) => a;
auto y = (int a) => { return a; };
この二つって型が違うのね
初めて知ったわい

726 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 18:51:22.75 ID:DlV3jQX5.net]
>>702
2つの記法を混同してたのかな
(int a)=>a に対応するのは (int a){return a;}
(int a)=>{return a;} は (int a){return {return a;};}

727 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 19:17:26.78 ID:L+oZkHrx.net]
>>703
そうそう
javascript なんかと混ざったのかも

728 名前:デフォルトの名無しさん mailto:sage [2016/10/31(月) 20:52:07.58 ID:BieV/Lwg.net]
2.072

729 名前:デフォルトの名無しさん mailto:sage [2016/10/31(月) 22:52:11.63 ID:9faQJIhV.net]
forest.watch.impress.co.jp/docs/news/10

730 名前:27516.html
時代はRust
[]
[ここ壊れてます]

731 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 09:03:52.71 ID:872/MYpu.net]
>>705
書いてないけど dub 同梱になった

732 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 23:37:35.22 ID:wR5ZjNoq.net]
>>707 まじかよ朗報
---
std.datetime.benchmark!func(10_000)[0].to!Duration.writeln;
---
>138 ホシs and 8 hnsecs
∴Windowsはクソ

733 名前:デフォルトの名無しさん mailto:sage [2016/11/01(火) 23:54:18.23 ID:872/MYpu.net]
μ(マイクロ)がマルチバイトになってて化けるやつだな
俺も前から変えてほしいと思ってるけど



734 名前:デフォルトの名無しさん mailto:sage [2016/12/03(土) 01:09:21.23 ID:999B/Ieu.net]
クリスマスプレゼントにこういうのが欲しい。
struct FatStruct
{
Object obj;
void opAssign(headconst ref FatStruct rvalue) { obj = rvalue.obj; }
}
1. refで修飾された引数専用のオプション修飾子で、
2. mutableな変数にcastなしで代入可能で、
3. 「参照とってるけど、このメソッド内では変更を加えないよ。」ということをcallerに伝える。
ものクレクレ

735 名前:デフォルトの名無しさん [2016/12/04(日) 12:43:36.67 ID:ijuOYWzP.net]
なんかRustがやけに元気だけど、D言語って消えていくの?

736 名前:デフォルトの名無しさん [2016/12/04(日) 15:19:42.11 ID:Kly2fP6x.net]
線形代数充実したら使ってやってもいい

737 名前:デフォルトの名無しさん [2016/12/04(日) 15:28:34.63 ID:RB5UgFiH.net]
https://www.youtube.com/watch?v=8fPmkq1CkCU

https://www.youtube.com/watch?v=PR6r40GbIfk

738 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 15:40:41.71 ID:GcUhzChF.net]
もう戦力外
せめて Julia 以上に使えないとな

739 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 16:30:18.91 ID:f8v2gDaK.net]
ANSI Cみたいに規格化できなかったのが致命的だったね

740 名前:デフォルトの名無しさん [2016/12/04(日) 21:16:16.33 ID:0HU6vOnR.net]
mir…

741 名前:デフォルトの名無しさん mailto:sage [2016/12/07(水) 09:54:34.62 ID:r4m1A3bg.net]
2.072.1

AC2016 は全部埋まった模様
qiita.com/advent-calendar/2016/dlang

742 名前:デフォルトの名無しさん mailto:sage [2017/01/01(日) 17:00:41.54 ID:AzZ4q8lt.net]
2.072.2
GDC 2.068.2 相当

743 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 23:18:22.18 ID:R62d4hxX.net]
2.0.73



744 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 07:39:06.67 ID:FdZedY8r.net]
ndslice が deprecated に…
面白そうだったのに残念

745 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 08:07:50.10 ID:tjYeiy24.net]
リリースサイクルが合わないから dub repo に移すと言ってた
dub もほぼ公式だから問題あるまい

746 名前:デフォルトの名無しさん [2017/01/24(火) 10:09:07.65 ID:9yrS8iWN.net]
にしてもなあ……

747 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 01:36:00.78 ID:NBMLgLD+.net]
もうちょっとdubで成熟させてからexperimentalにぶち込んでもよかったよね、ってことだと思ってる

748 名前:デフォルトの名無しさん [2017/01/30(月) 12:11:48.76 ID:zgepKMXO.net]
メタプログラミングが必要な複雑さで高速なバイナリが欲しくてベクトルの計算が必要ならDって良い感じな気がしてきた

749 名前:デフォルトの名無しさん mailto:sage [2017/02/04(土) 09:23:54.50 ID:cCtqcbdk.net]
>>708
いつの間にか直ってる!? と喜びかけたが
std.datetime と core.time で不揃いというタチの悪い結果ががが

750 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 10:21:14.88 ID:DoKLA85e.net]
2.074.0

それと入れ違いに DMD バックエンドの権利問題が解決して
オープンソースになった

751 名前:デフォルトの名無しさん [2017/04/11(火) 19:01:24.54 ID:+8we66Ry.net]
おめでとう

752 名前:デフォルトの名無しさん [2017/04/12(水) 13:30:03.81 ID:1yYBiMsB.net]
やったな
これでやりたい放題だ

753 名前:デフォルトの名無しさん mailto:sage [2017/04/12(水) 13:36:03.43 ID:mJY6Dj4I.net]
Dからforkしてなんか造ろかな



754 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 13:39:04.16 ID:3SqGR9rs.net]
ウェブスクレイピングがしたいんですけど、おすすめのライブラリはありますか?

755 名前:デフォルトの名無しさん [2017/04/27(木) 13:47:16.44 ID:R6dFUrFW.net]
curl

756 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 15:23:45.81 ID:3SqGR9rs.net]
なるほど。標準にありますね。

757 名前:デフォルトの名無しさん [2017/04/27(木) 18:53:26.24 ID:tG7qJtaK.net]
もしかしてVisualDのプロジェクトはリソースエディタ使えない感じ?

758 名前:デフォルトの名無しさん mailto:sage [2017/05/02(火) 22:43:12.96 ID:FexDPfOP.net]
クラスのメンバ変数をファイルに保存する一番手軽な方法は何になりますか?

759 名前:710 mailto:sage [2017/05/02(火) 22:49:15.71 ID:FexDPfOP.net]
自己解決。
std.csvとかstd.jsonあたりか。

760 名前:710 mailto:sage [2017/05/03(水) 00:01:58.26 ID:V/UCIUww.net]
しかしどちらも手軽ではなかったようだ。

761 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 19:51:28.68 ID:+wJRfmD9.net]
std.xmlはいつまで非推奨なんだよ
作り直すならはやくやれ
kxmlいつのまにか通らなくなるし

762 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 05:43:43.21 ID:KL8jQ9cr.net]
xmlはガチで実装しようとすると仕様のデカさ半端じゃないしな
周辺仕様(xsd,xslt,xpathくらいはほしいな)までやる気なのかもしれん。そうなったらかなり使えるはずだな!

763 名前:デフォルトの名無しさん mailto:sage [2017/06/13(火) 19:44:03.10 ID:XqHeJ85F.net]
std.net.curlを使ってサーバーと通信しています。
サーバー側は、エラーが発生した場合、エラーの詳細がJSONで返信される仕様なのですが、
std.net.curl.CurlException@[中略]\phobos\std\net\curl.d(1014): HTTP request returned status code 404 (NOT_FOUND)
という例外が発生してしまい、JSONが受け取れません。
どうすればいいのでしょうか?



764 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 14:38:18.44 ID:p0Tdw73d.net]
URLを変更する

765 名前:デフォルトの名無しさん [2017/06/23(金) 10:32:37.88 ID:0OdP20aK.net]
thx!

766 名前:デフォルトの名無しさん mailto:sage [2017/06/26(月) 06:29:23.65 ID:WJ4SxXW2.net]
D言語、GCCに追加の見通し
news.mynavi.jp/news/2017/06/23/109/

767 名前:デフォルトの名無しさん [2017/06/26(月) 11:17:46.96 ID:H+izVTcm.net]
GDCのことか

768 名前:デフォルトの名無しさん mailto:sage [2017/06/26(月) 20:25:40.38 ID:Z4R8M/mK.net]
gcc
java out
d in


769 名前:デフォルトの名無しさん mailto:sage [2017/06/27(火) 00:23:45.96 ID:SklbWyi0.net]
Javaは撤退してD言語に乗り換えたかGCC

770 名前:デフォルトの名無しさん mailto:sage [2017/06/30(金) 19:38:06.35 ID:ZAjr7zY1.net]
std.json.JSONValueの値がたまたま整数(1.0のことを1と表記されてた)場合にfloatingを呼び出すと例外が発生するんですけど、
何か回避方法はありますか?

771 名前:722 mailto:sage [2017/06/30(金) 19:39:19.23 ID:ZAjr7zY1.net]
すぐ気が付きましたけど、stringにしてからconvでいいか・・・

772 名前:デフォルトの名無しさん [2017/07/11(火) 18:40:47.82 ID:gJR2U5Om.net]
nextEvenPermutation ってどういう場面で使うの?

https://dlang.org/phobos/std_algorithm_sorting.html#nextEvenPermutation

773 名前:デフォルトの名無しさん [2017/07/11(火) 20:58:21.48 ID:aZj0SKJK.net]
>>748
総当たりクラッキング



774 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 21:34:49.71 ID:SpPX6zkH.net]
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"
}

775 名前:デフォルトの名無しさん [2017/08/29(火) 21:52:17.20 ID:N4IWVrAv.net]
2.076.0 beta で static foreach が試せるぞい

776 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 11:34:56.54 ID:Nwux1v ]
[ここ壊れてます]

777 名前:MQ.net mailto: 10年前だったら弄り倒す気力あった []
[ここ壊れてます]

778 名前:デフォルトの名無しさん [2017/09/06(水) 13:06:00.40 ID:ssAzmuiR.net]
もう、Dオワコン?

779 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 15:07:48.26 ID:p7vL1/ES.net]
ええ
ぴくりともしません

780 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 23:37:35.60 ID:HEZvX+yT.net]
競プロではそれなりに使われてるみたいだ

781 名前:デフォルトの名無しさん [2017/09/07(木) 04:03:15.42 ID:4D1xagKN.net]
DMDとLDCを使って競プロしてる人いるね

DMD https://beta.atcoder.jp/contests/arc082/submissions?f.Language=3009
LDC https://beta.atcoder.jp/contests/arc082/submissions?f.Language=3010

782 名前:デフォルトの名無しさん [2017/09/07(木) 16:06:46.74 ID:TZTdPVsA.net]
ちょっとしたexe作るにはDが楽で

Pythonも楽だけどexe化するとデカイし

783 名前:デフォルトの名無しさん mailto:sage [2017/09/07(木) 17:10:11.32 ID:K5Q2sK+z.net]
ちょっとしたexeならC/C++でいいわ



784 名前:デフォルトの名無しさん mailto:sage [2017/09/07(木) 22:43:08.24 ID:QtwwXYFZ.net]
ちょっとしたものならcsiが最高やわ

785 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 00:06:23.75 ID:UdRIteNb0]
個人的にはDComputeに期待してる
ネイティブにメニーコアデバイス扱えるならCに未練はない

786 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 01:31:23.84 ID:vejTPLe0.net]
ちょっとしたものならhta

787 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 09:57:19.73 ID:PsSRj6dh.net]
>>758
ないわー

788 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 22:25:18.49 ID:1S/6tt8C.net]
ちょっとしたexeならlispとかのが早くね?

789 名前:デフォルトの名無しさん mailto:sage [2017/09/09(土) 06:57:36.64 ID:0rsRu7Ke.net]
ちょっとしたexeならC#じゃね?
monoは触ったことないからLinuxでの事情は知らんけど、Winに限ればあれほど楽なのはない

790 名前:デフォルトの名無しさん mailto:sage [2017/09/09(土) 08:47:06.77 ID:ANwMHCzT.net]
HSP…

791 名前:デフォルトの名無しさん [2017/09/09(土) 11:40:51.62 ID:kUd/qIXg.net]
exerb

792 名前:デフォルトの名無しさん [2017/09/09(土) 18:11:01.86 ID:lkyt770O.net]
ちょっとしたexeならVB6が楽です

793 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 00:34:56.94 ID:BM2H21RC.net]
過疎ってた割に人がいるのね



794 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 01:11:53.81 ID:Y2cq4KXs.net]
みんな話題を待ってたんだよ

795 名前:デフォルトの名無しさん [2017/09/10(日) 01:30:18.91 ID:W8hQWR/l.net]
いやDに興味ないのが冷やかしてるだけ

796 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 02:08:35.60 ID:mLTl9fJv.net]
ちょっとしたexeで.NETとかないわーと思ったけど、GUIならまあしょうがないのか
人によってちょっとしたexeの範囲も違うんだな

797 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 13:04:28.79 ID:mFLa2LdI.net]
まさかC++?

798 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 19:24:57.70 ID:mFLa2LdI.net]
VisualD残念過ぎるな
エクスプローラからのフォルダやファイルの管理がゴミすぎる
見た目通りにフォルダが出来てないし、どこにファイルが作られるのかもわからんのがやばい。
まずはこういう基本的なことからまともに作ってけよ。

799 名前:733 [2017/09/11(月) 09:24:09.55 ID:8q7HHnzx.net]
ちょっとしたってのは
メモ帳やviで書けるレベルの100行にも満たないって
レベルだったんだけど・・・

IDEを使うレベルは
ちょっとしたじゃないイメージ

800 名前:デフォルトの名無しさん mailto:sage [2017/09/11(月) 13:47:24.86 ID:vfPZfDA4.net]
そういう前提だったらDが楽でいいな

801 名前:デフォルトの名無しさん mailto:sage [2017/09/11(月) 14:36:04.39 ID:1yyZGwgJ.net]
基本的にWindowsユーザーは作業用VisualStudioを常時開いてるからな。
ちょっとした作業は適当にC#で書いてそのままVisualStudioから実行してる。
実際にはexeを作ってすらいない。スクリプトを書いてるような感覚で使てる。

802 名前:デフォルトの名無しさん [2017/09/11(月) 14:37:29.12 ID:TGeCtRBC.net]
>>776
前提がおかしいw

803 名前:デフォルトの名無しさん mailto:sage [2017/09/11(月) 23:42:32.56 ID:CkLR5i388]
Dはハイからローレベルまで広くカバーできる良い言語と思う。
インタプリタ言語でちょっとしたもののつもりが、いつの間にか大作になってた時のやっちまった感



804 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 06:45:11.40 ID:LkwWIzb9.net]
いや結構そういう

805 名前:感じだわ俺
実行するとたまに結果が微妙に違うなと思ったら、普段VS上からデバッグバージョン実行してて、リリース版上書きするの忘れてるだけだったり
[]
[ここ壊れてます]

806 名前:デフォルトの名無しさん mailto:sage [2017/09/14(木) 09:40:14.95 ID:LhtzuhrL.net]
× VSが常時
〇 2chビューワーが常時

807 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 10:47:15.00 ID:DsFP17U9.net]
だいたいあってる

808 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 11:49:32.20 ID:d6C/wUJg.net]
質問はここでいいですか?

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 です。

809 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 12:48:55.75 ID:ZCzFTInQ.net]
defなしで

810 名前:756 mailto:sage [2017/09/16(土) 15:35:04.87 ID:d6C/wUJg.net]
defなしでも同じ結果になりました:

LINK : fatal error LNK1561: エントリー ポイントを定義しなければなりません。

811 名前:デフォルトの名無しさん [2017/09/16(土) 16:45:47.46 ID:Gd+302E1.net]
-shared

812 名前:756 mailto:sage [2017/09/16(土) 18:38:55.20 ID:d6C/wUJg.net]
-shared で 32bit、64bit とも作成できました。
ありがとうございました。

813 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 12:46:46.42 ID:5uCVCcKi.net]
https://wiki.dlang.org/Win32_DLLs_in_D
ここの一番上に書いてあるじゃん



814 名前:デフォルトの名無しさん [2017/09/18(月) 11:04:32.91 ID:ej1qDtIX.net]
馬鹿には無理

815 名前:デフォルトの名無しさん [2017/09/18(月) 12:13:58.30 ID:XoyPNJhq.net]
dmd2\samples\d\mydll\build.bat
には入ってなかった(戦慄)

-shared って割と最近の変更だしな

816 名前:デフォルトの名無しさん [2017/09/18(月) 20:04:52.92 ID:O+NhZEIY.net]
これでGUIアプリ作るならウィジェットはナニを使えば良いんだー

817 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 20:25:16.79 ID:/S27bRBH.net]
wx

818 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 20:52:19.83 ID:XoyPNJhq.net]
やめとけ



と一蹴したいところだが、あえて勇者に DlangUI を勧めてみよう

819 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:53:06.19 ID:X3R7dE7e.net]
LazarusくらいのとこがてぎるIDEでた?

820 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 12:37:25.75 ID:NEmvstRb.net]
ファイル、フォルダの命名規則がクソすぎる
別に無視してもかまわんだろうけど

821 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 13:59:10.86 ID:NEmvstRb.net]
https://github.com/Dgame/Dgame

クソ命名規則を無視している優良プロジェクト
みんなもクソ命名規則は無視しよう

822 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 17:18:15.85 ID:xxOzXrDl.net]
>>790
Tcl/Tk

823 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 03:59:12.25 ID:4agIphwV.net]
private this()
だけでコンパイル通るのが糞だわ。
{}が無いのに。

ライブラリ作った時点では何もないのに
リンク時にエラーとして出てくるとかやめれ。



824 名前:デフォルトの名無しさん [2017/09/29(金) 21:47:52.84 ID:sJSvcHfp.net]
単体テスト書いてそれを通すまでがライブラリ作成ですよ

825 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 16:02:54.64 ID:4rbkY8QZ.net]
馬鹿ほどコンパイラのせいにしたがる

826 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 13:05:24.17 ID:Uy9r/fJ2.net]
連想配列に環境依存のバグがありそう
使ってるクソライブラリが端末によってエラーになるし糞かよ

827 名前:デフォルトの名無しさん [2017/10/01(日) 15:25:00.88 ID:dZZybuoZ.net]
おま環境ω

828 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 17:59:12.33 ID:oE42sBRL.net]
tcltkってそんなに良いか?

829 名前:デフォルトの名無しさん [2017/10/03(火) 09:12:29.54 ID:nH2BZkoP.net]
gjgj

830 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 23:15:29.42 ID:Of1Ymqlf.net]
2.077.0



831 名前:テンプレート使うと修飾名がありえないほど長くなるという昔からの問題が改善された
ライブラリとか一通り注意すべし
[]
[ここ壊れてます]

832 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 23:59:22.07 ID:pQFnUEQW.net]
Rustでええやろ

833 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 15:47:25.08 ID:TxT/hKw1.net]
あれはGC使いたくない&ランタイムのデカさが気にならない巨大アプリ特化みたいなところある
Dの対抗はgoとかnim



834 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 21:26:53.62 ID:PRkrHOts.net]
システムプログラミング言語なのでアプリ特化ってことは無いよ
下層も上層も両方いける

835 名前:デフォルトの名無しさん [2017/11/06(月) 22:26:18.14 ID:FBpfr6Qh.net]
スレ違いかも知れないが、D言語初心者だけど質問しても良い?

836 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 22:48:55.76 ID:7P3Nk5ci.net]
ダメです

と言えば質問しないのか

837 名前:デフォルトの名無しさん [2017/11/06(月) 22:54:11.04 ID:njCgvqVz.net]
D言語に関する質問はどこのコミュニティがオススメですか?

stackoverflowもteratailもあまり活発ではなさそうなので

D言語のエラー・バグ・問題の解決方法|teratail
https://teratail.com/tags/D%E8%A8%80%E8%AA%9E

新着の 'd' 質問 - スタック・オーバーフロー
https://ja.stackoverflow.com/questions/tagged/d

838 名前:デフォルトの名無しさん [2017/11/06(月) 22:57:58.79 ID:FBpfr6Qh.net]
いきなり質問して荒れたらやだし....

839 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 02:02:18.03 ID:O5O/1Ksn.net]
前置きしたらもっと荒れるぞ

840 名前:デフォルトの名無しさん [2017/11/07(火) 03:59:26.23 ID:zRpLERto.net]
D言語の質問はここでしるな

841 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 04:59:58.50 ID:uzn/nrN5.net]
>>807
rustは巨大なランタイムとツールチェインがネックになって
ガチのシステムプログラミングには使えないと踏んでる
あと小物にも向かない。lsやechoみたいなコマンドが何MBもあったら嫌だろう

842 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 07:18:59.93 ID:/xdVk9AW.net]
それってコンパイラが進化してもどうにもならんことなの?

843 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 16:07:34.16 ID:3f9DZLc4.net]
>>814
lsやechoをrust,d,c++,go,swiftで書いて比較でもしたの?



844 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 16:17:46.02 ID:pha33qDk.net]
rust はダイナミックリンクすれば小さくなるよ。

845 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 22:01:57.06 ID:ige9lhQ8.net]
実際のとこは知らんがしばらくRust追っててランタイムが巨大とか初めて聞いたわ
試しにいくつかreleaseでビルドしてみたが大量のcrate使ってるやつは10MB超えてて
少なめの奴は300KBくらいだった
まあそりゃライブラリコミコミなら大きくなるわな

846 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 03:06:14.25 ID:aIBytdYn.net]
ま、スタティックリンクで数kbからにならないとCの置き換えは不可能

847 名前:デフォルトの名無しさん [2017/11/08(水) 06:55:17.36 ID:ZWKv78KM.net]
>>818
C#をdisるなω

848 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 08:02:35.68 ID:CpShZ3Gu.net]
stripすればCくらいのサイズになるのでは

849 名前:デフォルトの名無しさん mailto:sage [2017/12/08(金) 18:08:54.07 ID:7lBDaG0K.net]
C++を駆逐すると思っていた時期が私にも有りました

850 名前:デフォルトの名無しさん [2017/12/08(金) 21:55:28.01 ID:TcYdv7Hd.net]
.obj 互換オプションあればなー

851 名前:デフォルトの名無しさん [2017/12/08(金) 22:08:41.01 ID:tFBuW21G.net]
標準ライブラリの関数の名前の付け方がJavaっぽくて嫌なところ以外は好きだよDくん

852 名前:デフォルトの名無しさん [2017/12/09(土) 12:21:32.98 ID:nuTX+Pqx.net]
初期に仕様リセットし過ぎて愛想尽かされた

853 名前:デフォルトの名無しさん mailto:sage [2017/12/09(土) 17:05:48.02 ID:xKc3yV2X.net]
ideのデファクトスタンダードて結局何?



854 名前:デフォルトの名無しさん mailto:sage [2018/02/11(日) 10:30:07.64 ID:KveISlUh.net]
2.078.2
dwt もアップデートされたら

855 名前:オいぞいぞい

>>826
Win なら Visual D
[]
[ここ壊れてます]

856 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 12:54:42.39 ID:DD94zM8O.net]
2.079
新機能大爆発なのに人がおらんぞー

そういえば公式の D Tour に日本語訳ついててのけぞった
https://tour.dlang.org/tour/ja/welcome/welcome-to-d

857 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 13:12:32.36 ID:8KjE9Kl8.net]
おめ

858 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 17:14:17.99 ID:DD94zM8O.net]
>>828
Tour のインストールしましょー!のページで 2.074 にリンクされてるのを見てしまった
(ノ∀`)アチャー

859 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 00:37:26.91 ID:fCcY28Fx.net]
いやだってもうオワコンだろこれ
というか始まってもないというか

860 名前:デフォルトの名無しさん [2018/03/08(木) 04:35:22.50 ID:0VTxSBk2.net]
始まりかけのときに壮絶な自爆

861 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 20:24:59.19 ID:209TEL93.net]
verうpしたらすぐライブラリが使えなくなるわ

862 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 05:15:45.70 ID:/6tM+FAO.net]
個人的に00年代前半の頃はC/C++後継として期待してたんだけどな
なにやっとんねんと言いたい
勿体無い

863 名前:デフォルトの名無しさん [2018/03/10(土) 06:22:25.09 ID:L0iyZELB.net]
>>834
ほんそれ



864 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 11:56:39.74 ID:qIcg9Ap2.net]
聞こえるぞ
D3 を唱えようといううぉるたんの鼓動が…

865 名前:デフォルトの名無しさん [2018/03/10(土) 12:35:03.41 ID:TTti/WSS.net]
また増やすんか

866 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 13:38:23.67 ID:kYhzAC0A.net]
Rustやったことないけど
どうせ綺麗なメタプログラミングパズル解いてホルホルしてるだけで終わるだけの
実用的じゃない言語だと思う。
Caml書いてた俺だからわかる。

867 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 17:08:02.19 ID:lYWN/FxA.net]
↑妄想君は凄い

868 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 20:28:50.44 ID:pNLClb7o.net]
C/C++の後継は完全にGoにもってかれたね
うぉるたんはどう考えてるのか知らないけど

869 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 03:27:33.77 ID:fQarczMf.net]
goroutineが有効な用途ならともかく
それ以外はD言語のほうが遥かにいいと思うんだけどなあ。何が命運を分けたのか

870 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 07:17:06.70 ID:1TPWJAVW.net]
rubyの埋め込み文字列みたいなのできる?

"hoge=#{hoge}"
みたいなの

871 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 08:35:05.74 ID:Vr9GQpPg.net]
>>841
頻繁に変わる言語仕様も問題と言えば問題だけど
やっぱ一番はライブラリっつーか周辺やろ…

872 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 08:55:19.19 ID:DS7F81oK.net]
言語仕様が変わるからライブラリが根付かない定期

873 名前:デフォルトの名無しさん [2018/03/11(日) 10:09:42.46 ID:zWe+i43K.net]
>>841
同意



874 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 11:43:49.89 ID:7Ky5zjn9.net]
Dはクラス使えばいいのかと思いきや構造体推奨ってのが初見殺しすぎる

875 名前:デフォルトの名無しさん [2018/03/11(日) 12:13:49.32 ID:8JC0BCod.net]
Dは関数型マクロωでコンパイル時に全て決定推奨

876 名前:デフォルトの名無しさん [2018/03/11(日) 12:26:01.28 ID:PDfY//r3.net]
きんたま?

877 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 22:18:01.25 ID:pqiyCWN9.net]
>>846
推奨ってことはない
俺はほとんどクラスしか使わないしGC上等

まあクラスの派生とか皆無だし
vtable も邪魔に思えてきたけどw

878 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 23:35:00.91 ID:Y8Me4ew/.net]
GoがC/C++の後継?
Goで下周り書けるかよ

879 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 14:18:12.30 ID:DeaEY/ek.net]
それを言うならD言語だってC++の後継にはなんないわけで
そしてDとgoは割と被ってる。方向性は逆を向いててもターゲットとしている領域が

880 名前:デフォルトの名無しさん [2018/03/13(火) 15:20:28.05 ID:MHQfuTqc ]
[ここ壊れてます]

881 名前:.net mailto: きんきホーム
たまホーム
[]
[ここ壊れてます]

882 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 15:46:47.07 ID:uPfPL/GN.net]
goって他のVM使わない静的言語と何が違うんだよ。
実行速度が早いと言われているOCamlと何が違う?

883 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 09:22:57.34 ID:dunQcKnu.net]
Cとの競合をはっきり掲げる Zig とかいう LLVM 言語が出てきてるな
https://ziglang.org/

Cのヘッダをそのまま読み込む?とかすげーこと書いてる…
まだ情報少ないし俺は調べないけど興味ある人よろ



884 名前:デフォルトの名無しさん [2018/03/17(土) 10:52:20.29 ID:zK+A43YX.net]
LLVMを吐くCで充分では?

885 名前:デフォルトの名無しさん [2018/03/18(日) 11:21:51.01 ID:2szVz2pj.net]
いい言語ですね!
前に進めてください!!
(感涙)

886 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 11:42:10.14 ID:isv4aoit.net]
zig zag でよければ

887 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 14:04:35.16 ID:H1yQYpwW.net]
いつの間にやら契約プログラミングのbody使う場面でdoを使えって話になってるな

888 名前:デフォルトの名無しさん [2018/04/21(土) 05:19:08.38 ID:LqWa1ZEr.net]
https://issues.dlang.org/show_bug.cgi?id=18770

889 名前:デフォルトの名無しさん mailto:sage [2018/04/22(日) 08:17:40.54 ID:kKNIjb5q.net]
DがしっかりしてればGoだのRustだのでてくる余地はなかったのに

890 名前:デフォルトの名無しさん mailto:sage [2018/04/22(日) 13:31:55.46 ID:/2pIZVDm.net]
所詮はコミュニティベースの開発だからな
GoogleやMozillaみたいな企業ベースに対抗するのはコアメンバーのモチベーションや運に依存する

そういう意味ではRubyやPythonってすげーな

891 名前:デフォルトの名無しさん [2018/04/22(日) 17:38:45.67 ID:tG1AxaFx.net]
うむ

892 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 09:05:31.10 ID:JKdk44sF.net]
Dで作ったWindowsコンソールアプリで標準出力に文字列が流れ続けてるところに
例:while ( true ) { writeln( "hoge" ); }
クリックで文字列選択したあと右クリックすると
Access Violationで落ちる現象どうにかならんもんか

writeだろうがlogger.logだろうがprintfだろうがputsだろうが落ちる
VCのCコンソールで作ったコンソールアプリだとこんな事起きないのに

これの対策がtry-catchでErrorクラスをトラップとか馬鹿げてる

893 名前:デフォルトの名無しさん [2018/04/26(木) 16:07:08.57 ID:obVS20md.net]
バッファの問題なんかね



894 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 18:27:38.60 ID:JKdk44sF.net]
落ちない場合もあったんで最小コードを探ってみたところ
これ↓だと>>863の操作をしても落ちなかった

import core.sys.windows.windows;
import std.stdio;

void main()
{
   SetConsoleOutputCP( CP_UTF8 );
   while ( true ) writeln( "ほげ" );
}

出力が"hoge"だとSetConsoleOutputCP呼び出しの有無に拘わらず落ちる
SetConsoleOutputCPを呼んでいない場合は出力の内容に拘わらず落ちる
SetConsoleOutputCPを呼んでいる場合は出力が"ほげ"だと落ちないが"ほげhoge"だと落ちる

どうしてそんな事になるのかワケワカメ

895 名前:デフォルトの名無しさん [2018/04/27(金) 15:42:00.69 ID:ash3pEtl.net]
カルノー図を描くんだ

896 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 21:58:58.46 ID:4vnB69wL.net]
[[[ ][ ]]]\[[]] [[[]]]],[[[ [][] ]

897 名前:デフォルトの名無しさん [2018/04/29(日) 01:54:00.18 ID:q/RtCgaj.net]
>>863>>865
再現しませんでした
Windows7(32bit)
DMD32 D Compiler v2.074.1
LDC - the LLVM D compiler (1.3.0)

898 名前:: based on DMD v2.073.2 and LLVM 3.9.1

試したコンパイルコマンド
dmd -w -m32 main.d
dmd -w -m32 -debug main.d
dmd -w -m32 -O main.d
ldc2 -w -m32 main.d
ldc2 -w -m32 -O main.d

試したコード
import std.stdio;

void main() {
while (true) {
writeln("hoge");
}
}
[]
[ここ壊れてます]

899 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 02:45:31.13 ID:GU4PXxiP.net]
既に 2.080 beta が出ているというのに

900 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 03:37:46.18 ID:I3o29iby.net]
>>868
すまん、こっちの環境はWindows10(64bit) 、DMD32 D Compiler v2.079.1 だわ
でも俺の環境だと2.074.1でコンパイルしても落ちたわ

-g -debugオプション付けて>>868と同様のコードで例の手順やって出るエラーログが以下↓

object.Error@(0): Access Violation
----------------
0x00425935 in write
0x00421A6D in fflush
0x004028A0 in @safe void std.stdio.File.LockingTextWriter.put!(char).put(char) at D:\develop\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(2788)
0x00402263 in @safe void std.stdio.writeln!(immutable(char)[]).writeln(immutable(char)[]) at D:\develop\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(3582)
0x004021EC in _Dmain at D:\library\projects\d\d_error_test\main.d(6)
0x00402C5B in D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFNlZv
0x00402C1F in scope void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll()
0x00402B20 in _d_run_main
0x00402908 in main at D:\library\projects\d\d_error_test\main.d(7)
0x00420775 in mainCRTStartup
0x75538654 in BaseThreadInitThunk
0x774E4B17 in RtlGetAppContainerNamedObjectPath
0x774E4AE7 in RtlGetAppContainerNamedObjectPath

901 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 09:46:06.44 ID:GU4PXxiP.net]
少々遅くなってもいいなら
writeln() のたびに stdout.flush() してやるのが簡単

以前から終了時のバッファ排出でバグがあったけど
去年くらいに Writer 系内部処理を何度も"改善"してたと思う

902 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 13:12:23.84 ID:I3o29iby.net]
stdout.flush();で問題は解決しなかったけど
-m64オプション付けてコンパイルしたら落ちないようになった
WOW64を過信し過ぎてたわ

903 名前:デフォルトの名無しさん mailto:sage [2018/04/30(月) 13:23:54.69 ID:9wPwzi/d.net]
[[[ [ "[]" ]]] [] [][[[ [] ]][]



904 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 00:28:46.61 ID:W9rxAk6I.net]
Dカンファレンス2018 in ミュンヘンのライブ配信
https://www.youtube.com/watch?v=HvqsUO77FGI

日本電子専門学校で非公式Dカンファレンスやったのがもう10年前か…

905 名前:デフォルトの名無しさん [2018/05/03(木) 00:32:00.58 ID:W9rxAk6I.net]
ついでにDMD2.080.0リリース
https://dlang.org/changelog/2.080.0.html

906 名前:デフォルトの名無しさん mailto:sage [2018/05/05(土) 07:51:54.64 ID:Hux5ZwPL.net]
DでGUIってポトペタできるの?

907 名前:デフォルトの名無しさん [2018/05/05(土) 09:38:05.15 ID:fc3S9c8B.net]
wxD

908 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 08:25:54.57 ID:HIB9nax/.net]
ポトペタどころか
バージョンアップにしっかり追随して安心して使えるGUIライブラリないよ

909 名前:デフォルトの名無しさん mailto:sage [2018/05/08(火) 03:20:35.99 ID:ypr7siab.net]
インスタンス作るまでオーバーライドしてない抽象メソッドがあってもエラーにならないってわけわからん
さっさと教えろよ

910 名前:デフォルトの名無しさん [2018/05/08(火) 16:24:19.12 ID:75TKeVia.net]
使うまではエラー出ない方がいいやん

911 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 00:52:11.39 ID:urtq8In6.net]
-betterC が使えるようになってから出来ることが格段に増えたな
組み込み周りはもちろんのこと、DのコードからWebAssembly吐ける日が来るとは思ってなかった

912 名前:デフォルトの名無しさん [2018/05/09(水) 08:31:17.51 ID:DadRmw9B.net]


913 名前:奄ゥらやっとけばよかった
方向性を間違えていた
[]
[ここ壊れてます]



914 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 20:31:51.52 ID:pG/0Qta8.net]
D言語も大分落ち着いてきた頃合いだしそろそろ見直される時代が来てもいいのよ?
(なんか最近deleteが非推奨になったような気もするが)

915 名前:デフォルトの名無しさん [2018/05/13(日) 23:12:24.94 ID:l20zYg8v.net]
競プロでD言語を使いまくってD言語を宣伝だ!

916 名前:デフォルトの名無しさん mailto:sage [2018/05/13(日) 23:40:01.38 ID:zmXs6vK1.net]
競プロとD言語は相性いいと思うんだけどな
俺も競プロでD言語使ってるし

917 名前:デフォルトの名無しさん mailto:sage [2018/05/17(木) 00:25:08.63 ID:AoIdJqgi.net]
変数への再代入禁止を意味するfinalがいつの間にか使えなくなっとるやん
コンパイラに促された通りconst付けてもnot callable using a `const` objectって怒られるし
ちゃうねん、Javascriptのconstみたいに事故防止に再代入のみを禁止したいねん

廃止要素に関してはどうも知識のアップデートが追いつかん

918 名前:デフォルトの名無しさん [2018/05/17(木) 12:42:43.82 ID:HY+Xmele.net]
umu

919 名前:デフォルトの名無しさん mailto:sage [2018/05/17(木) 21:48:23.32 ID:aSY3G8ai.net]
D言語はもう終わりなんだよ
というか始まってもないというか

920 名前:デフォルトの名無しさん mailto:sage [2018/05/17(木) 22:15:29.42 ID:sUJws5+j.net]
そういう煽りは要らないっすね、このスレには

921 名前:860 mailto:sage [2018/05/17(木) 22:42:36.00 ID:AoIdJqgi.net]
final変数がいつの間にか廃止してた問題は
scope変数への再代入がいつの間にかコンパイルエラー出るようになってたことで解決したわ
スコープ内限定で再代入禁止でスコープを抜ければ変数の寿命が来る、ってことでscope変数で要件を満たせる

922 名前:デフォルトの名無しさん [2018/05/18(金) 17:47:42.29 ID:0IKxFX6d.net]
>>888
流産というか仕様変えすぎて育つ前に首切ってる感じ

923 名前:デフォルトの名無しさん mailto:sage [2018/05/20(日) 15:02:22.61 ID:q06gwnuv.net]
産みっぱなしの児童労働やで



924 名前:デフォルトの名無しさん mailto:sage [2018/05/20(日) 23:02:17.61 ID:qH56GQyK.net]
aliasがいつの間にか構文変わってたのは知ってたけど
typedefもいつの間にか消えて使えなくなってるのかよ
しかも従来のやり方と比べて代替手段がクソ面倒

925 名前:デフォルトの名無しさん mailto:sage [2018/05/20(日) 23:08:04.29 ID:qH56GQyK.net]
MDN並みに日本語ドキュメントが最新に追いついていて
現行仕様、廃止仕様がきちんと整理されていないとツライな
ちょっと離れてるだけで記憶に残ってるD言語とはまるで別言語になってる

926 名前:デフォルトの名無しさん [2018/05/21(月) 10:14:37.88 ID:6DKDYwaD.net]
うむ

927 名前:デフォルトの名無しさん [2018/05/23(水) 19:08:02.45 ID:Au5e7VGg.net]
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

KUKID

928 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 21:20:31.33 ID:HAh7S+Yv.net]
change log は見やすくなってるよ
時々重要な変更がすっぽり抜けてるけどな

言語レベルの廃止も一応リスト化されてるよ
https://dlang.org/deprecate.html

今気づいたが2ヶ月毎のリリースって明言されてるな
minor release とかふざけたこと書いてるけど

929 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 01:24:55.66 ID:cbZMWmWW.net]
>>897
そのページ初めて見るんだけどどっから飛べるんや…

930 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 01:51:49.54 ID:cbZMWmWW.net]
>>897
そして昔確かにあったはずのfinal/const/invariantの
( https://digitalmars.com/d/final-const-invariant.html )
再代入禁止を意味するfinal記憶クラスの仕様は何処へ消えたんや…

931 名前:デフォルトの名無しさん [2018/05/24(木) 09:58:50.53 ID:fftgGS82.net]
色々と残念になっていくな

932 名前:デフォルトの名無しさん [2018/05/24(木) 19:20:19.04 ID:19Fz0o1F.net]
文句ある

933 名前:ネらチミたちがD言語開発に直接関わりなさいな []
[ここ壊れてます]



934 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 12:29:53.89 ID:llbJVLc1.net]
いつの間にか使えなくなってて
しかも廃止仕様リストにも載ってなきゃ
どこに消えたんだってのは普通に抱く感想だよ

935 名前:デフォルトの名無しさん [2018/05/25(金) 16:14:50.43 ID:XO9fqtgP.net]
そういうの大事だよね

936 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 21:13:52.67 ID:Kp5EEe8w.net]
少なくとも俺がいじり出した10年くらい前には既にそんな機能なかった

937 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 21:45:50.20 ID:llbJVLc1.net]
当時穴が開くほど読んだもんだなぁ

https://web.archive.org/web/20071011061638/www.kmonos.net/alang/d/final-const-invariant.html

938 名前:デフォルトの名無しさん [2018/05/26(土) 17:33:25.22 ID:VmZ0B+DV.net]
終わっていくってこういうことなんだな

939 名前:デフォルトの名無しさん mailto:sage [2018/05/26(土) 21:43:43.26 ID:Yg2bLXCl.net]
次バージョンから来る契約構文の追加は楽しみだ

int fun(ref int a, int b)
   in(a > 0)
   in(b >= 0, "b cannot be negative")
   out(r; r > 0, "return must be positive")
   out(; a != 0)
{
// ...
}

940 名前:デフォルトの名無しさん mailto:sage [2018/05/27(日) 10:51:50.80 ID:K2zIueyC.net]
Dってnull安全性の機能は今のところ標準では用意されてないカンジ?
template使って実現すること自体は簡単そうだけど

941 名前:デフォルトの名無しさん mailto:sage [2018/06/10(日) 18:04:56.72 ID:arddwNhh.net]
std.conv.to!intでstringからintに変換しようと思ったんですけど、
stringで表現される数字が全角でした。
こういう場合、どうすればいいですか?

942 名前:デフォルトの名無しさん mailto:sage [2018/06/10(日) 22:54:43.49 ID:LYbFojL+.net]
要素に対し'0'引くだけでint値を得られるし
'0'引いて'0'足せば半角数字の文字コード得られるし
あとは煮るなり焼くなり

943 名前:デフォルトの名無しさん mailto:sage [2018/06/11(月) 00:12:59.63 ID:VBB2bpQs.net]
>>910
なるほど。
文字コードが連続してるからそういう方法あるんですね。



944 名前:デフォルトの名無しさん [2018/06/11(月) 10:45:31.47 ID:tK3aH3wF.net]
漢数字はテーブル用意するのかそれともi18nされてるのか

945 名前:デフォルトの名無しさん [2018/06/11(月) 20:26:30.57 ID:xf3num2h.net]
意味的に連続する文字の文字コードが連続してる保証ってないって話ではなかったっけ

946 名前:デフォルトの名無しさん [2018/06/12(火) 16:49:06.21 ID:bLF3+6cr.net]
二支とか十干だな

947 名前:デフォルトの名無しさん [2018/06/12(火) 16:49:34.78 ID:bLF3+6cr.net]
変なとこで切れた
十二支と十干で干支

948 名前:デフォルトの名無しさん mailto:sage [2018/06/12(火) 17:10:31.20 ID:eeJGE1xP.net]
tr関数でASCIIに変換すればいいんじゃね。
と思ったらハイフン'-'が厄介だった。tr(s, "0123456789+−", "0123456789+-");

949 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 19:23:44.09 ID:MmynirXE.net]
RustスレでD言語は死に絶えたって言われて何も言い返せなかったわ…

950 名前:デフォルトの名無しさん [2018/06/18(月) 19:48:03.22 ID:UtQrM811.net]
おかえり

951 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 21:11:21.63 ID:w1ISs/TA.net]
むしろ更新が落ち着いた今こそ復権のタイミングじゃないか
というか他の言語だって追加に廃止に非推奨と仕様コロコロ変わってて
Dのこと言えないじゃないか

952 名前:デフォルトの名無しさん [2018/06/19(火) 11:25:39.55 ID:tjlbsfDK.net]
D->LLVM->ネイティブとかさ
アプリのフレームワークで共通の鰌で
Windows,Android,OSX,iOSとかで動くようにならないかな

953 名前:デフォルトの名無しさん mailto:sage [2018/06/19(火) 11:29:17.04 ID:QOayKepT.net]
UWPとかに対応しないと



954 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 11:31:28.73 ID:ZyTQ80WT.net]
D言語でCGI作る場合POSTデータってどうやったら取れますか?

955 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 11:58:51.27 ID:qKnsPtkx.net]
CGI

956 名前:ならサーバーの設定次第で勝手にコマンドライン引数なり標準入力なりに入ってくるはずだろ
D側で考えることは特にない
[]
[ここ壊れてます]

957 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 20:33:43.97 ID:+T+Up6NP.net]
むしろPOSTは普通に取れてた
取れないのはGETの方だった
まぁ結局getenv("QUERY_STRING")で取れたけど
DってCみたいにポイントをそのまま配列としては使えないんですね

958 名前:デフォルトの名無しさん [2018/06/28(木) 01:40:10.19 ID:FdbC2U6h.net]
unicode1バイト目が
\0
というオチ

959 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 22:29:21.28 ID:lMLAd/CT.net]
>DってCみたいにポイントをそのまま配列としては使えないんですね
試してみたら普通に配列のように使えたけどどゆこと?

import std.stdio : writeln;
import core.stdc.stdio : putchar;

char[] text = "Hello World".dup;

char* pHello = text.ptr;
char* pWorld = &text[6];

// 添え字アクセス
for ( int i = 0; i < 5; i++ ) putchar( pHello[i] );

// 長さ付与
writeln( pWorld[0..5] );

出力結果:
HelloWorld

960 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 14:01:26.85 ID:lH1tX97N.net]
ようやくDMD2.081.0のリリース版来たやんけ

961 名前:デフォルトの名無しさん [2018/07/04(水) 22:05:22.52 ID:gFgZc5FG.net]
PDR

962 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 16:30:06.53 ID:AeL6VB/V.net]
PDR

963 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 10:05:01.11 ID:HztBSU4B.net]
D言語って将来性あるの?
学んでおいて損はない?



964 名前:デフォルトの名無しさん [2018/07/21(土) 11:01:32.26 ID:JzufiDOi.net]
将来性は微妙
損はない

965 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 07:56:57.07 ID:7emN8jqZ.net]
C言語みたいな化石言語使い続けないといけないの早くなんとかしてくれ

966 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 12:00:22.25 ID:3BcXSGzx.net]
dflってもう使えんの?

967 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 17:17:14.78 ID:81TKEpi+.net]
1年以上ほったらかしだったがフォーク版なら特に問題なかった

968 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 09:37:03.11 ID:TUMq6wBN.net]
https://github.com/JesseKPhillips/dfl
ここが最新メンテナだと思ってたが更新停止を明言されちまったな

DWT が標準GUIとして継続してくれればいいんだが

969 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 12:44:14.71 ID:6IfF+cbw.net]
ポトペタしたい

970 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 15:59:29.12 ID:l6qIS0xn.net]
別にD言語に限った話でもないけど
DelphiやQt DesignerやXcodeのリソースファイルを読み込む部分だけ書けば
どんなGUIライブラリでもポトペタモドキはできると思うんだ
実例は見たことない

971 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 11:14:11.93 ID:QmQOTtaG.net]
今日本で最もアツいD言語コミュニティって何処なん?
15年前はここだったけど

972 名前:デフォルトの名無しさん [2018/09/01(土) 13:47:55.16 ID:i/jVHK5F.net]
過疎ってるけどここ

973 名前:デフォルトの名無しさん [2018/09/01(土) 20:03:13.23 ID:ZleIwKxc.net]
競プロで流行らせて盛り上げようぜ



974 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 21:05:32.60 ID:KTWSZRWs.net]
Rust,Goより良いと思うんだけどなあ

975 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 21:59:11.71 ID:rtR930fJ.net]
自分もコミケでD同人買って読むまで知らなかったけどDUBっていうD言語のパッケージマネージャあるんだよな
code.dlang.org/

976 名前:デフォルトの名無しさん [2018/09/02(日) 01:33:02.61 ID:YXkmV9AS.net]
>>941
ほんそれ

977 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 06:46:58.89 ID:TkJi8FAz.net]
こんなのあるのな
code.dlang.org/packages/vibe-d
code.dlang.org/packages/dlangui

978 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 06:54:20.44 ID:TkJi8FAz.net]
ラズパイでも使えそうだな
code.dlang.org/packages/dgpio

979 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 10:47:36.34 ID:kbbUS7De.net]
vive.d は希望の星やで
DUB もそこが作ってるし

980 名前:デフォルトの名無しさん [2018/09/22(土) 15:13:01.38 ID:xOVRbYWf.net]
Nim いいね

981 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 01:16:39.94 ID:rYTjRCxn.net]
gccに入ったのおめ

982 名前:デフォルトの名無しさん [2018/11/05(月) 13:41:51.79 ID:o5QGnfIr.net]
いつの話よ

983 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 18:04:59.72 ID:rYTjRCxn.net]
ごく最近だよ
gccの公式リポジトリにgdc一式が入った



984 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 22:07:45.33 ID:5ZQ/MJVc.net]
入るのはだいぶ前に決まってたけど実際に入ったの?

だとしたらめでたい

985 名前:デフォルトの名無しさん [2018/11/06(火) 11:34:12.15 ID:vyXuaWzf.net]
遅すぎた春🎊

986 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 13:39:43.26 ID:e09+EfP6.net]
gcjが外れたからgc付き言語が無くなってチャンスではあったのだけれども
goが先に入っちゃって時節を逃した感はどうしても

987 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 23:12:51.64 ID:IsYSfhKR.net]
ついに入ったのか
しかしGDCはバージョンアップが遅れに遅れてほとんど相手にされないレベルだったけどどうなったのかしら

988 名前:デフォルトの名無しさん [2018/11/09(金) 12:15:39.04 ID:mwKVhTqG.net]
https://qiita.com//outlandkarasu@github/items/a2243eb3adbe906ec30d

989 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 13:52:26.13 ID:hzkpPvzE.net]
風評被害甚だしい

【接客】クレーマーの餌食になる人は「この言葉」に注意 モンスタークレーマーだけでなく「ふつうのお客様」をも怒らせる“D言語”とは
https://rosie.5ch.net/test/read.cgi/editorialplus/1539062055/

990 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 16:33:56.24 ID:yzCMB8/E.net]
でもその「D言語」はマナー屋の造語なんですよ
ですからこのスレとは関係ないんです。だってここのD言語はうぉるたん作ですもの

991 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 20:04:13.92 ID:iAbNNeDp.net]
だから風評被害なんだろ

992 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 17:48:45.86 ID:hwLUtClc.net]
CPUとメモリをたっぷり使うプログラムを書いたんですけど、実行中、下記のエラーが発生してしまうことがあります。
core.exception.OutOfMemoryError@src\core\exception.d(693): Memory allocation failed

タスクマネージャを見ながら実行してみると、多い時でメモリを1700MBぐらい使っていて、上記のエラーが出たときは1100MB程度でした。
PCのメモリは8GB積んでいて、プログラム実行中も2〜3GBぐらいは空いていました。
未使用のメモリがまだ残っているのにアロケーションに失敗するのはどうしてなんでしょうか?
そして、何か回避方法はありますか?

993 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 21:37:17.53 ID:SmkNBI+1.net]
大きな領域を一度に確保しようとして
空き容量には余裕があるけどその領域を確保できる隙間がないから失敗したとか?



994 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 22:16:34.40 ID:z3Is5rCO.net]
たぶん 32bit やろ 64 bit でいいならそっちにしたほうが無難
GC も肝心なときにコケる印象

まさか無いとは思うけど仮想メモリ無効にしたりしてないよね

995 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 22:30:35.42 ID:H1v4KZsy.net]
D言語のGCってコンパクションやってないんだっけ?

996 名前:933 mailto:sage [2018/11/21(水) 23:21:11.93 ID:hwLUtClc.net]
>>960
なるほど、そういう可能性もあるんですね。

>>961
32bitのdmdを使っていました。
4GBより大きいメモリを積んでる場合、32bitだと使えない場合があるということですね。
64bitを試してみます。

997 名前:デフォルトの名無しさん mailto:sage [2018/11/23(金) 17:30:19.97 ID:WNoH6qHd.net]
>>955のDLang Tourっての見たらVibe.dの事も普通に載ってるのな
興味はあったけど今まで拾い読みする程度の情報くらいしか知らなかったけど
これを機にやってみようかな

998 名前:デフォルトの名無しさん mailto:sage [2018/11/23(金) 18:07:04.87 ID:ZtWiRdZy.net]
>>963
32bitプロセスならプロセスが使える仮想メモリの上限は2GBだからね
これはOSの制限なので、しょうがない

999 名前:デフォルトの名無しさん mailto:sage [2018/11/23(金) 18:54:10.07 ID:tTn5D6Z9.net]
コンパイラを変えるんじゃなくてビルドモードを変えるんやで ( -m64 )
デフォルトの GC はゴミだが 64bit ならまぁまぁ使えると言ってるんやで

1000 名前:デフォルトの名無しさん [2018/11/25(日) 23:30:27.63 ID:kJa4tJwN.net]
他のGC付言語と比べてもDのGCはゴミ?

1001 名前:デフォルトの名無しさん [2018/11/26(月) 13:35:29.96 ID:M4lkR7sD.net]
JSよりまし

1002 名前:デフォルトの名無しさん mailto:sage [2018/11/26(月) 16:41:04.95 ID:E028bwsj.net]
インストール版でインストールしたdmd2.083で適当なコードをビルドすると"Access Violation"とだけエラーが出て、
ビルドが完了しないんですが、原因は何なんでしょうか?

上記のエラーはDebugモードの時のみで、Releaseモードの時は正常にビルドできます。
またこのコードはdmd2.071ではDebug、Releaseともに正常にビルドできました。

1003 名前:デフォルトの名無しさん [2018/11/26(月) 16:46:42.83 ID:M4lkR7sD.net]
「適当なコード」

再現する最小限のものを貼れ



1004 名前:デフォルトの名無しさん mailto:sage [2018/11/26(月) 17:01:45.17 ID:DMixgTsv.net]
OSとか周辺情報皆無で質問されてもね…

1005 名前:デフォルトの名無しさん mailto:sage [2018/11/26(月) 18:08:49.61 ID:E028bwsj.net]
>>970
import std.stdio;
void main()
{
  writeln("Hello World!");
}
これをビルドすると例のエラーになります。

>>971
win10です。
IDEはVS2013を使いました。

1006 名前:デフォルトの名無しさん [2018/11/27(火) 20:08:46.24 ID:F5dyxMID.net]
OSからインスコやり直し

1007 名前:943 mailto:sage [2018/11/27(火) 22:40:25.69 ID:9c7HJkqh.net]
>>973
厳しいですね。

https://qiita.com/sfujita/items/55dfd9203dffe05598c6
一番下のsc.iniで上書きして、hello.dとBuild.batをコピペして、
Build.batを実行したら、正常に動作しました。
VSの方で何か問題があるのかもしれないです。

1008 名前:デフォルトの名無しさん mailto:sage [2018/11/27(火) 22:53:19.06 ID:pagiDKMJ.net]
去年くらいから VS のインストール情報を検索してリンカやSDKを自動選択する機能がついた
VS2013 は古すぎてマズイ気がする

1009 名前:943 mailto:sage [2018/11/28(水) 16:57:45.65 ID:lzMMCZH4.net]
VS2017のインストールとdmd2.083インストーラ版のインストールを行い、Hello World!をビルドしてみましたが、
hoge.pdb: cannot add symbols to module, probably msobj140.dll missing
というエラーが出ました。
$(VCINSTALLDIR)binと$(VSINSTALLDIR)Common7\IDEをエクスプローラで確認してみましたが、
どちらともmsobj140.dllはありました。
なぜエラーが出るのか全く分かりません。

1010 名前:デフォルトの名無しさん [2018/11/28(水) 18:22:14.14 ID:hLCjBKjM.net]
x64の方にはあるけどx86の方には無いな

1011 名前:943 mailto:sage [2018/11/28(水) 20:00:53.65 ID:lzMMCZH4.net]
私の環境では、Program Files (x86)\Microsoft Visual Studio 14.0にはありましたが、
Program Files\Microsoft Visual Studio 14.0にはありませんでした(全部で64KB程度しかない)。
sc.iniはProgram Files (x86)の方を参照するようになっていますが、32bit版のVSじゃ使えないんでしょうか?

1012 名前:943 mailto:sage [2018/11/29(木) 13:56:17.42 ID:9E8r92ip.net]
>>974のサイトの手順をやり直したら解決しました。
VSのインストール時に、VisualC++に関するオプションをいじった(5GBぐらい大きくなった)のが影響したのかなぁ。

1013 名前:デフォルトの名無しさん mailto:sage [2018/11/29(木) 15:01:17.62 ID:9iyhNIn7.net]
つーか>>974の記事が古い
2.079以降は64bit版ビルドするのにVC++もWindowsSDKも不要になってる



1014 名前:デフォルトの名無しさん mailto:sage [2018/11/29(木) 20:54:07.49 ID:eyw2ItTx.net]
llvm のツールチェーンが使えるようになったんだっけ
でも本格的にやるにはデバッガがあったほうが

1015 名前:いい []
[ここ壊れてます]

1016 名前:デフォルトの名無しさん mailto:sage [2018/11/29(木) 22:53:22.13 ID:OLmOFAf+.net]
12月1日のQita Advent Calendarが何かしらの参考になるかもしれないね
まだ内容は当然わからないけど

1017 名前:デフォルトの名無しさん [2018/12/02(日) 18:19:15.04 ID:r/YV3Hmh.net]
無事1日が終わりました
本当にありがとうございました

1018 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 19:50:50.65 ID:KrrqRBoW.net]
Linuxでvibe.dやるならコンパイラどれ使ったらいい?

1019 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 18:08:15.48 ID:1edG4e+S.net]
2.085 で Precise GC の試験実装が始まったのにお前らときたら

>>984
公式でいいんじゃね
ldc の追随も凄まじいけど

1020 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 00:18:56.75 ID:oV/wBHSs.net]
std.conv.toから投げられた例外をThrowableでcatchしてtoStringとwritelnでエラーメッセージを書き出すと、
関数呼び出しの経路とかソース上の行番号が表示されますよね。
それが、いろいろ改修してるうちに途中で途切れたようなエラーメッセージしかでなくなってしまいました。
原因わかる方いますか?

1021 名前:デフォルトの名無しさん [2019/03/21(木) 00:27:04.55 ID:7qm1Whlz.net]
ascii以外の字が混ざってないか
multibyteの不正な文字(1byte目だけあって2byte目が現れずに次のascii文字が並ぶとか)

1022 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 02:27:46.51 ID:oV/wBHSs.net]
>>987
main関数の中でto!uint("a")とやってみましたが、同じように途切れたエラーメッセージになりました。

std.conv.ConvException@***\src\phobos\std\conv.d(2267): Unexpected 'a' when converting from type string to type uint
----------------
0x00007FF77B85E400 in std.string.representation!(immutable(char)).representation at ***\src\phobos\std\conv.d(2271)
0x00000207C32A3000

1023 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 08:16:53.81 ID:Ai8cDmsG.net]
スタックトレースは結構雑で何年もバグが放置されてる感ありあり
そのへんを気にする人はデバッガを使うから

OSやコンパイラ実装でも違う処理してるからそのへん書かないとだめよ
Windows は新しめのバージョンで改善があったはずだけど



1024 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 08:48:24.57 ID:Ai8cDmsG.net]
Win + 64bit (MSVC) と思っていろいろやってみたけど再現しない
llvm 実装は動かしたことないからわからんちん

>Windows は新しめのバージョンで改善があったはず
これは関係なかったぽい

1025 名前:デフォルトの名無しさん [2019/03/21(木) 10:59:19.34 ID:/Eg7TqPx.net]
windows は git bash を cmd の代わりに使ってる
快適すぎる

1026 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 15:14:53.25 ID:QmWGgmIB.net]
>>989-990
Windows10、dmd2.083.0です。
VSにVisualDを入れて使ってます。

1027 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 17:37:05.13 ID:VNw1eXct.net]
今年はロンドンでカンファレンスやるみたいね
5月8日〜5月10日までカンファレンス、11日にハッカソン
https://dconf.org/2019/index.html

1028 名前:デフォルトの名無しさん [2019/04/18(木) 03:00:23.27 ID:6Z/jOLC9.net]


1029 名前:デフォルトの名無しさん mailto:sage [2019/05/06(月) 09:54:41.16 ID:tU2fuz9+.net]
2.086 では
import std;
一発で Phobos 全部入りができるらしいぞ

1030 名前:デフォルトの名無しさん [2019/05/06(月) 18:39:56.75 ID:o0+2Jvom.net]
今更感

1031 名前:デフォルトの名無しさん [2019/05/07(火) 21:39:34.26 ID:8L3IENLQ.net]
そういう楽する系の機能はバグの温床

1032 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 16:41:18.84 ID:5UkCGLAo.net]
gcc9.1リリースされgdcが含まれるようになったね。

1033 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 20:49:44.16 ID:ifj8Eltp.net]
ついに来たか



1034 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 21:14:43.58 ID:XVr67Z+W.net]
>>997
今までモジュール処理がクソだったから何年もかけてバグ潰してきたんやで

1035 名前:デフォルトの名無しさん [2019/06/19(水) 04:45:15.72 ID:tVNS+22r.net]
【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/

1036 名前:デフォルトの名無しさん mailto:sage [2019/07/04(木) 15:04:12.18 ID:7idq17x4.net]
char[]をstd.algorithm.sorting.sortでソートしようするとコンパイルエラーになるんですけど、
辞書順にソートしたい場合、どうやればいいですか?

1037 名前:デフォルトの名無しさん [2019/07/04(木) 17:59:32.86 ID:VpXpLSzf.net]
string[]

1038 名前:デフォルトの名無しさん mailto:sage [2019/07/04(木) 19:29:20.37 ID:7idq17x4.net]
1文字の文字列の配列という扱いをしないといけないのかー

1039 名前:デフォルトの名無しさん mailto:sage [2019/07/04(木) 20:40:56.65 ID:gcxSuYzr.net]
mutable だからじゃないの?

1040 名前:デフォルトの名無しさん mailto:sage [2019/08/09(金) 21:17:38.85 ID:DMNWEXMT.net]
dchar[]ならソートできそう

1041 名前:デフォルトの名無しさん mailto:sage [2019/08/09(金) 23:44:03.55 ID:FZatNxGm.net]
なるほどその手があったか
全く使わないから存在そのものを忘れてた(一応 wchar までは試した

1042 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 15:56:21.91 ID:+ZTZZ6hs.net]
次スレは>>990くらいでいい?

1043 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 19:05:43.75 ID:gJLA2fQe.net]




1044 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 09:07:19.23 ID:HKAyRowK.net]
比較対象がPHPとか大丈夫なのか

Saving Money by Switching from PHP to D
https://dlang.org/blog/2019/09/30/saving-money-by-switching-from-php-to-d/

1045 名前:デフォルトの名無しさん [2019/10/07(月) 14:28:14.46 ID:nnDn0jE7.net]
dmc ってもう更新されないの?

1046 名前:デフォルトの名無しさん mailto:sage [2019/10/12(土) 02:30:16.84 ID:jfs+9yac.net]
32bit 対応すらマトモにできてるとは言い難いのに

1047 名前: mailto:sage [2019/10/12(Sat) 12:50:02 ID:mbasSDLv.net]
dgcで大逆転するからするから

1048 名前:デフォルトの名無しさん [2019/10/20(日) 10:00:15.38 ID:Xl2t0ZNf.net]
Dはもう死んでしまったの?

1049 名前:デフォルトの名無しさん mailto:sage [2019/10/20(日) 20:32:24.33 ID:/h31ZBYY.net]
almost dead

1050 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 03:47:18 ID:15XQsNX7.net]
>>1014
まだよ!

1051 名前:デフォルトの名無しさん [2019/10/21(月) 13:02:30 ID:c9dhXgWB.net]
C
C++
D
Go
それぞれのメリットデメリットを教えてください

1052 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 20:13:34 ID:z4mh9OGj.net]
ggrks

1053 名前:デフォルトの名無しさん [2019/10/22(火) 10:51:03.05 ID:F+STirlY.net]
俺は案外gccに入ったからDはそのうち人気出るんじゃないのかなと思ってる。使わないけど。他の言語より明かに素直でとっつきやすいと思うから。



1054 名前:デフォルトの名無しさん [2019/10/22(火) 10:59:35.52 ID:fxbuxtP/.net]
知らんけど/メリット/デメリット
C/小さい・速い・枯れている・ライブラリ豊富/古い・手間掛かる
C++/betterthanC/カオス・遅い
D/小さい・速い・素直・ガベコレ/利用者少ない?
Go/ガベコレ/でかい・癖強い

1055 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 00:26:56.16 ID:eMCh2wBM.net]
Dは死んだ
これからはRust

1056 名前:デフォルトの名無しさん [2019/10/23(水) 00:34:53.79 ID:JxOFlXnS.net]
Dみたいな変態構文の言語が流行るわけないだろ

1057 名前:デフォルトの名無しさん [2019/10/23(水) 13:57:04.72 ID:rS820tUE.net]
ライバル来た


次世代が造った言語 blawn
https://mevius.5ch.net/test/read.cgi/tech/1571717826/

1058 名前:デフォルトの名無しさん [2019/10/24(木) 13:27:01.47 ID:PdyZnCeq.net]
Rust > D > Go > C > C++
こんな感じか

1059 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 22:31:54.42 ID:l0dq/DHs.net]
なんの大小関係なん?

1060 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 22:56:28.84 ID:ADhpIzNi.net]
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )

1061 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1733日 10時間 49分 0秒

1062 名前:1002 [Over 1000 Thread.net]
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

1063 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<231KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef