◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

D言語 Part34©2ch.net YouTube動画>3本 ->画像>2枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1422155249/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

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

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

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

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

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

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

■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&;sf=2&all=on&view=table&shw=5000
2デフォルトの名無しさん
2015/01/25(日) 12:09:12.95ID:gAd5OZDm
■DUB パッケージマネージャ
http://code.dlang.org/

■IDE
http://rainers.github.io/visuald/visuald/StartPage.html - Visual D(Visual Studioプラグイン)
https://code.google.com/p/ddt/ - DDT(Eclipseプラグイン)
http://wiki.dlang.org/Mono-D - Mono-D (MonoDevelop プラグイン)

■ライブラリ
https://github.com/d-widget-toolkit/dwt - DWT(GUIライブラリ)
https://github.com/gtkd-developers/GtkD - GtkD(GUIライブラリ)
https://github.com/Rayerd/dfl - DFL(GUIライブラリ・非公式最新版)
https://github.com/DerelictOrg - Derelict(SDL/OpenGLなどのポーティング)
http://www.vector.co.jp/soft/win95/prog/se491774.html - DXライブラリ バインディング(作者サイトメンテナンスのため Vector)
http://www.ku6.jp/keyword6/1.html - 傾き指向プログラミング(SDLなどのポーティング)

■OMF<->COFF変換ツール
http://www.agner.org/optimize/#objconv

■D言語で作られたゲーム
http://www.nicovideo.jp/mylist/4453698 - D言語で作られた芝ゲー niconico動画
http://www.asahi-net.or.jp/~cs8k-cyu/ - ABA Games
3デフォルトの名無しさん
2015/01/25(日) 13:05:52.30ID:JhgO84F7
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::
4デフォルトの名無しさん
2015/01/25(日) 15:09:19.73ID:N7hbj8cO
最新verにしたらgl3nってライブラリがコンパイル通らなくなった
破壊的変更入れる方も糞だが
製作者もカッコつけて変な機能使わずに、betterC程度で実装すべき
5デフォルトの名無しさん
2015/01/25(日) 15:38:38.09ID:y+Auf1Wh
>>4
DMD2.064以降が必要っぽいね
エラー箇所を見てみたが、破壊的変更というよりコンパイラのバグだなコレ
6デフォルトの名無しさん
2015/01/25(日) 17:06:42.38ID:gAd5OZDm
鯖名かわってるやんけ

■前スレ
D言語 Part33
http://peace.2ch.net/test/read.cgi/tech/1396145538/
7デフォルトの名無しさん
2015/01/26(月) 17:40:14.89ID:lqioQh4J
破壊的変更は一般的に前方互換性を壊すことであって……
8デフォルトの名無しさん
2015/01/26(月) 17:48:08.66ID:lqioQh4J
いや、この場合は実際に前方互換性が壊れてるんだな
9デフォルトの名無しさん
2015/01/26(月) 21:10:29.94ID:pUuTj9VR
betterC程度で実装すべき って正気か?!
10デフォルトの名無しさん
2015/01/26(月) 21:26:28.76ID:aEhcjcMk
だって直してやろうにもわけわかんないもん
11デフォルトの名無しさん
2015/01/26(月) 23:02:12.05ID:pUuTj9VR
直そうかと思ったけどgl3nってGNU make使えないのかまじかよ
makeコマンドまで専用に置き換えることないだろJK・・・
12デフォルトの名無しさん
2015/01/27(火) 03:28:12.02ID:jDmPNZx5
それは言えてる
13デフォルトの名無しさん
2015/01/27(火) 18:05:27.96ID:66YrvWGd
>>11
普通に使えるんだが……
バージョンの問題なのかな? 少なくともGNU make 4.0ではコンパイルできる
14デフォルトの名無しさん
2015/01/29(木) 18:20:55.08ID:zwkKAiAG
何かDの公式サイトがちょっとモダンになってるなw

…で、日本語版はいつまで放置状態なんですかね
15デフォルトの名無しさん
2015/01/29(木) 19:30:06.63ID:yGLSlnJU
君がプルリクエストを送れば放置じゃなくなるよ!
https://github.com/kinaba/dlang-ref-jp
16デフォルトの名無しさん
2015/01/29(木) 20:41:25.06ID:4Rp6hoR2
言語の方はPRでなんとかなるけどライブラリの方はどうにも手が出せんな
翻訳元がどのバージョンかもわからん ソース一本一本バラバラで頭痛くなった
17デフォルトの名無しさん
2015/02/01(日) 08:56:16.73ID:p1TMacHT
2.067のchangelog はもう上がってるんだなw
http://dlang.org/changelog.html

本体はよ
18デフォルトの名無しさん
2015/02/01(日) 09:56:58.98ID:sjXjc1T+
順調に行ったとして3月頭だよ もっと遅れると思う
19デフォルトの名無しさん
2015/02/01(日) 13:21:53.88ID:zYqn1tT/
ベータテストをサボってない?
2.067.0-b1とか、changelogにある変更点は一つも入ってない時のバージョンじゃないか
こりゃregression地獄だろうな
20デフォルトの名無しさん
2015/02/01(日) 13:54:34.43ID:sjXjc1T+
まだβテスト始まってない
2.067.0-b1はアルファ版だけど担当者不在の状態でベータとして公開された
手違いか確信犯かは知らない
21デフォルトの名無しさん
2015/02/01(日) 14:15:31.14ID:pkXhoNhP
異常な早さで出てたもんなb1
2.066と同じくらいの時期に出たんじゃなかった?
22デフォルトの名無しさん
2015/02/06(金) 00:40:38.22ID:0AkTWr8h
まだ高速リリースとか言ってるのか
23デフォルトの名無しさん
2015/02/10(火) 00:28:01.15ID:fSGdLYp2
D言語初心者なんですが教えて下さい

<プログラミング言語D 日本語版>の12Pに出てくる、テキストに含まれる
単語ごとに出現回数を数えるプログラムを打ち込んでみてるのですが、
ソース上どこにもテキストファイルを読み込むような箇所が無いような気が
するのですが、その部分は自分で実装しろって事なんですかね?

http://ideone.com/nqOOCq
24デフォルトの名無しさん
2015/02/10(火) 00:36:15.59ID:7gcf+5Ry
標準入力からテキストをもらうコードになってるよ。
a.exe < text.txt
25デフォルトの名無しさん
2015/02/10(火) 00:37:59.30ID:7gcf+5Ry
stdinが標準入力
byLineが一行ずつ取り出し
26デフォルトの名無しさん
2015/02/10(火) 01:03:06.19ID:fSGdLYp2
実行できました!!

有り難うございます。
27デフォルトの名無しさん
2015/02/10(火) 05:06:36.82ID:fSGdLYp2
derelict3使ってらっしゃる方いますか・・?

ソースをダウンロードしてコンパイルまでは問題なくいったんですけど、
実行すると以下のようなエラーがでてしまいます。。

Building all packages.
Building DerelictPQ

../import/derelict/pq/functions.d
../import/derelict/pq/pq.d
../import/derelict/pq/types.d

dmd -lib -O -release -inline -property -w -wi -I"../import" -of"../lib/dmd/libDerelictPQ.a" "../import/derelict/pq/functions.d" "../import/derelict/pq/pq.d" "../import/derelict/pq/types.d"
/usr/src/phobos/std/stdio.d(975): Error: not a property fileno
/usr/src/phobos/std/bitmanip.d(1650): Error: not a property iota(this.dim()).filter!((i) => ptr[i])
/usr/src/phobos/std/bitmanip.d(1651): Error: not a property filter(iota(this.dim())).map!((i) => BitsSet!size_t(ptr[i], i * bitsPerSizeT))

対処法分かる方いらっしゃいますか??

バージョンはDMD64 D Compiler v2.066.1です。。

一応ぐぐってこういうページ(https://github.com/repeatedly/xxhash-d/issues/1
とかは見つけてみて、
posix.makとかいうテキストファイルをあさって中みてみたけど、
サイトの人が答えてる箇所と同じ部分は見つからないし、
何がなんだかサッパリ!
28デフォルトの名無しさん
2015/02/10(火) 07:16:00.93ID:d72dCSc4
詳しい説明を省略するとコンパイルオプションに-propertyがついてるのが悪い

dmd -Isrc -m64 -w -d -property -O -release …

から -property を削って

dmd -Isrc -m64 -w -d -O -release …

にすればコンパイル通るはず。-propertyで検索するといい
29デフォルトの名無しさん
2015/02/10(火) 07:23:34.59ID:d72dCSc4
あとposix.makはlinuxとかで使うメイクファイルだろうから
もしWindows使ってるなら直すべきはwin32.makとかかも
30デフォルトの名無しさん
2015/02/10(火) 07:56:13.10ID:fSGdLYp2
>>28
先輩さすがっす!!
もう自分一人じゃ万策尽きてました!!

linux使いなんですがposix.makはいじらなくても平気でした。
Direlict3を落とした時についてたbuild.dの中の-propertyを全2箇所、
仰せの通り削除したら普通に通りました。

もっと勉強が必要ですね。
今日はこれでやっと寝れます。どうも有難う御座いました。
31デフォルトの名無しさん
2015/02/10(火) 08:26:27.82ID:Hs3TdF+4
デレリクトIII世あやまれ
32デフォルトの名無しさん
2015/02/10(火) 22:38:32.79ID:UryovtmZ
Pythonに代わってDの時代、来ちゃったかー
http://postd.cc/d-for-the-win/

枕詞はいいとして、srcgenのD版でのopIndexとopDollarの使い方が秀逸だわ
名前付き引数も実現できるんだな
33デフォルトの名無しさん
2015/02/10(火) 22:48:56.53ID:CuK7u/7x
凄い、と感動するけどハックっぽいのが…

言語機能として欲しいよね、名前付き引数
あと多返値
34デフォルトの名無しさん
2015/02/11(水) 00:33:34.64ID:AD+vXnh0
タプルまだ返せないんだった?
35デフォルトの名無しさん
2015/02/11(水) 02:15:50.86ID:sEyNJ1vO
http://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

ライブラリの配置等は書かれてる通りにやったと思うのですが・・・
どういう原因が考えられますか?
36デフォルトの名無しさん
2015/02/11(水) 09:32:23.09ID:DokQQA8v
>>34
組み込みのタプルが欲しいってことでしょ
DIPがあったけど、どうなったんだろう

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

ところで、Derelict3はもうメンテナンスされてないのでDerelictOrgを使った方が良いかもしれない(dub必須だけど) https://github.com/DerelictOrg
DerelictOrgをラップしたゲーム製作用ライブラリもあって、用途によってはこちらを使うのが便利かも https://github.com/d-gamedev-team/gfm
37デフォルトの名無しさん
2015/02/11(水) 11:34:53.64ID:AEgPMJkt
http://wiki.dlang.org/DIP32
これのワクワク感はんぱないんだけど、あんま進展はしてないっぽいね。
38デフォルトの名無しさん
2015/02/11(水) 11:41:59.07ID:sEyNJ1vO
>>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では
日本語ドキュメントがかなり少ないですね。
貼って頂いたサイトのライブラリもとても興味がわきますが、
英語頑張らないとダメですかね・・。

にしてもやっと最初の一歩が踏み出せました!
有難う御座いました!
39デフォルトの名無しさん
2015/02/11(水) 15:10:15.21ID:z34G2oAC
なんで翻訳文口調?w
40デフォルトの名無しさん
2015/02/11(水) 15:24:58.77ID:Cq2Zt0wJ
struct Hoge
{
Hoge _hoge;
}


構造体ってこんなこともできねーのか
41デフォルトの名無しさん
2015/02/11(水) 15:41:17.19ID:I3RcppAe
たかし、休みだからって昼間からお酒なんか飲んで
42デフォルトの名無しさん
2015/02/11(水) 15:58:10.30ID:lWf1wIdf
>>40
構造体は値型でclassとかと違って常に実体があるから
_hogeの中の_hogeの中の_hogeの中の_hogeの中の_hogeの中の_hogeの中の…
みたいになる
43デフォルトの名無しさん
2015/02/11(水) 16:54:42.71ID:29qyXWgk
>>32
めちゃくちゃやな
44デフォルトの名無しさん
2015/02/11(水) 17:29:15.53ID:xhm7zQSL
D言語人気あるなw
45デフォルトの名無しさん
2015/02/11(水) 17:46:14.73ID:DokQQA8v
>>40にその説明で分かるか疑問だ
46デフォルトの名無しさん
2015/02/11(水) 17:53:34.97ID:GbZ4KuWH
struct Hoge
{
Hoge* _hoge;
}

なら可能なのかな
47デフォルトの名無しさん
2015/02/11(水) 19:48:00.41ID:AEgPMJkt
>>46
それはもちろんできる。
実際にstd.container.SListとかDListはそんな感じになってる。
(正確には内部のNodeが、だけど)
48デフォルトの名無しさん
2015/02/12(木) 13:29:24.84ID:4XYPAIWu
>>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がないが、ソースにはインポートされている。
こうなったらもうこのプログラムの実行は無理かな。
49デフォルトの名無しさん
2015/02/12(木) 17:37:55.21ID:q1EoFTcz
>>48
バージョン1.1.4が古すぎて、dubリポジトリから消えたのが原因
(最新30バージョンしかダウンロードできない)

dependenciesに書いてるバージョンのgfmを持ってくればいいよ
git clone (gfmのgitレポジトリ); git checkout v1.1.4してdub add-localするなり、手動でコンパイルするなり
50デフォルトの名無しさん
2015/02/12(木) 19:48:39.30ID:bXvlMxGY
wxDでポトペタで開発できる環境はまだ無かったり?
そういう環境があればあっさり普及しそうなんだが
51デフォルトの名無しさん
2015/02/12(木) 19:50:51.16ID:PfMIiKi9
あっさり動かなくなるのが先
52デフォルトの名無しさん
2015/02/12(木) 19:51:29.35ID:y+H1/X6i
なるほど
53デフォルトの名無しさん
2015/02/12(木) 20:51:21.63ID:q1EoFTcz
QMLバインディングがあるから、QtCreatorとやらでGUIを作れるんじゃないか
試したことないから知らないけど
54デフォルトの名無しさん
2015/02/12(木) 20:53:00.31ID:3kErsrEg
ポトペタは実はあった
DFLとDWTのコードが書けていた
遠い遠い昔の話だ
55デフォルトの名無しさん
2015/02/12(木) 21:06:55.00ID:4P7uNPIb
そもそもwxDが今や死んでるという…

お願いですからwxDかQtDかのどっちかでいいから生き返ってください
C++からのポーティングはやっぱ難しいのかな
56デフォルトの名無しさん
2015/02/12(木) 21:29:47.24ID:3kErsrEg
QtDは最初よかったけどなんか根が深そうなエラーが散発的に出てきて辛くなったな
開発者の人もくじけてしまったんだろうか
57デフォルトの名無しさん
2015/02/12(木) 21:34:47.94ID:PfMIiKi9
DFLのポトペタは今もできる
58デフォルトの名無しさん
2015/02/12(木) 22:16:49.62ID:q1EoFTcz
ポトペタという単語、自分とは別の文化圏の香りがする……
59デフォルトの名無しさん
2015/02/12(木) 23:09:30.23ID:PfMIiKi9
QtD サポートのために traits 増やしたお というのを数年前に見て度肝を抜かれた
だがそれでも時既に遅しだったのかもしれない
60デフォルトの名無しさん
2015/02/13(金) 01:55:34.54ID:Bhurw0eL
>>49
なるほど、確かに古いパッケージ見てみたら該当のソースがあった!
しかし今度はね。それだけじゃなくてね。std.loggerってのもないんだって・・w
Wikiでちょっと見た所、過去にあったimportファイルみたいなのだが、
今はstd.experimentalとやらに分類されてるようで、
それは標準添付ではなくて、リポジトリから持ってこないといけないみたい。
で、loggerというディレクトリに5つのソースファイルに分割されていた・・w
たった1年か2年前のソースをビルドするのがこんなにも大変とは、
D言語の破壊的成長力に、め・・目を見張るばかりだ!
61デフォルトの名無しさん
2015/02/13(金) 08:41:05.07ID:OQXQ5SVC
互換性維持しない方向で成長するのは別に構わんけど
過去のリポジトリ消される(ライブラリ含めて)のはめっちゃ困る罠
62デフォルトの名無しさん
2015/02/13(金) 08:46:04.43ID:wpAfYcVd
こういうことがあるからあんまり流行らないんだろうなぁと思う
63デフォルトの名無しさん
2015/02/13(金) 10:04:02.80ID:Bhurw0eL
うーん・・
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見ても原因がさっぱり分からない助けてくれ。
64デフォルトの名無しさん
2015/02/13(金) 10:44:48.60ID:GGd+ovbB
Dの破壊的変更はもっとマシになるべきだが対策することが出来る
だが半生ライブラリはダメだ 滅ぶべき
パッケージシステムは道を誤りし背教者どもの墓標
65デフォルトの名無しさん
2015/02/13(金) 13:22:45.55ID:hveNpu6j
>>60
え、そっちもGitレポジトリでしょ? 過去の状態のを使えばいいのでは
(内容も変わってるかもしれないし)
66デフォルトの名無しさん
2015/02/13(金) 13:33:09.45ID:hveNpu6j
>>61
dubレポジトリは個人がボランティアで運営してるっぽいから仕方ない
あそこはGithubからミラーしてるだけだから、どうしても古いバージョンが入手できないということはないしね

2015年前半に、D言語の宣伝・普及のための団体を作るとかいう計画を立ててるらしいけど
それ以前にこういうボランティア任せの部分をちゃんとしたサービスとして運営できる組織を作って欲しいなぁ
67デフォルトの名無しさん
2015/02/15(日) 02:45:27.03ID:cP5B7v6s
人を動かすにはお金が必要なのです…
68デフォルトの名無しさん
2015/02/15(日) 03:06:40.00ID:f2y5BLpx
永遠の17歳でいればずっと輝いていられる
そんなD言語
69デフォルトの名無しさん
2015/02/15(日) 09:59:28.43ID:lHovhrIX
Swiftのポジジョンに収まっていれば安泰(?)だったかもなぁ
70デフォルトの名無しさん
2015/02/19(木) 13:19:34.20ID:HRi6jpIR
必要なのは D言語の入門・解説ではなく D言語とのつきあい方のガイドである
71デフォルトの名無しさん
2015/02/19(木) 13:26:50.22ID:HRi6jpIR
Beta2
http://downloads.dlang.org/pre-releases/2015/
72デフォルトの名無しさん
2015/02/19(木) 15:56:05.50ID:IlBmsRQL
オオカミ言語
73デフォルトの名無しさん
2015/02/19(木) 19:41:27.84ID:XR+Fo/Bc
>>70
たしかにそうかも
自称ですら「2番めに学ぶ言語としていいよ!」とか言ってるし
74デフォルトの名無しさん
2015/02/19(木) 23:05:32.06ID:/l77WhQC
1番目に学ぶべきはCかJavaかC#
2番目に学ぶべきはCかJavaかC#のまだやってないの
3番目に学ぶべきはJavaScriptかPythonかRuby
75デフォルトの名無しさん
2015/02/19(木) 23:20:17.85ID:VH3d6pj7
実際の状況を考えると、CとJavaとC#が選択肢に並ぶ場面ってそうそう無いよな
76デフォルトの名無しさん
2015/02/19(木) 23:22:06.59ID:VH3d6pj7
>>73
ありゃ相当古い記述なのであまり真に受けない方がいい
今は割と初心者向けのリソースがあるし(英語が読めない人間には無いも当然だけど)
77デフォルトの名無しさん
2015/02/20(金) 00:33:37.66ID:0dV0e97W
D言語はまだ英語無しで学べる言語じゃない

まあレファレンス読むよりソース読んだ方が手っ取り早いかもしれないけど
(でもソースがレファレンスの代わりになるってunittestのおかげだよね)
78デフォルトの名無しさん
2015/02/26(木) 23:20:00.62ID:3O66RLhf
お前らが「最近のD言語は安定しててつまらない」って言い始めたら本気出す
79デフォルトの名無しさん
2015/02/27(金) 00:27:23.38ID:K5JNT6u2
本当に安定しててつまらないよ、細々とした調整ばかり
今年はDIP69含めて大幅な変更に期待
80デフォルトの名無しさん
2015/02/27(金) 00:35:21.49ID:f/HlKW2K
RoRみたいなキラーフレームワークの登場が最優先だろ
変更ばっかじゃいつまでたっても出てこねえんだよお
81デフォルトの名無しさん
2015/02/27(金) 16:16:04.75ID:K5JNT6u2
まさにRubyも仕様変更の多い言語なわけだし、あまり関係なさそう
キラーなんたらが出る以前に、それなりに人気が無いと始まらん
82デフォルトの名無しさん
2015/02/27(金) 17:00:53.63ID:fb9Ltl2D
RubyやPythonと違ってネイティブ吐けるところがメリットだけど
Pythonで間に合ってます
83デフォルトの名無しさん
2015/02/27(金) 17:16:40.06ID:K5JNT6u2
PythonとDの両方が、同時に選択肢に入ってくる状況なんてあまり無さそうだがな
84デフォルトの名無しさん
2015/02/27(金) 17:23:58.74ID:iHoQTjKY
>>81
ライブラリが充実して実用的に使えるバージョンがない
複数組み合わせて使うとたちまち破綻する
比べる土俵が間違ってる
85デフォルトの名無しさん
2015/02/27(金) 18:00:21.53ID:V3GT5Jyg
バージョンが変わって動かないなら自分で直せばいいじゃない
86デフォルトの名無しさん
2015/02/27(金) 18:17:54.33ID:XIuqZzpl
他の言語に比べて、D言語でしかできない or ものすごくやりやすい ことってなによ?
87デフォルトの名無しさん
2015/02/27(金) 19:17:07.04ID:mK3Wrb1I
自分がそうだけど継ぎはぎだらけのC++の汚さに絶望した人がやってるんだと思う
スマートなコーディングができるのにアセンブリコードが出力されるから
Javaやスクリプト系のように速度で妥協することもない
88デフォルトの名無しさん
2015/02/27(金) 19:22:04.02ID:qLq7jEUd
C++で同じことできるって言われても意味ないんだよねえ。
単なる見せかけの機能だけに釣られてる奴はC++やってた方がいい。
89デフォルトの名無しさん
2015/02/27(金) 19:23:14.99ID:mK3Wrb1I
ちょっと理解できてないのかな
C++よりスマートなコーディングができることに魅力を感じてるって話なんだけど
90デフォルトの名無しさん
2015/02/27(金) 19:28:30.17ID:mK3Wrb1I
とりあえずバカはレスしない方がいいと思うんだ
91デフォルトの名無しさん
2015/02/27(金) 19:36:30.29ID:6qk14JOo
>>88はお前に同意してるだろ
92デフォルトの名無しさん
2015/02/27(金) 19:50:40.22ID:XIuqZzpl
>>87 >>89
たとえば?
C++ も 11, 14 で多少はマシになったと思うんだけど、
どの辺りが問題で、D言語ならどういうふうにスマートに書けるんだろう?
93デフォルトの名無しさん
2015/02/27(金) 19:58:54.66ID:K5JNT6u2
>ライブラリが充実して実用的に使えるバージョンがない
?
94デフォルトの名無しさん
2015/02/27(金) 21:39:53.48ID:PrbBT478
テンプレート絡みだけでかなり差別化できてるんじゃね
あと今更イテレータとか触りたくないよね
95デフォルトの名無しさん
2015/02/28(土) 00:25:57.89ID:eZcrJ6fq
C++の偉い人もタイムマシン手に入れたら何したいって聞かれて
C++のテンプレート周りの構文をD言語風にしたいって言ってたな
96デフォルトの名無しさん
2015/02/28(土) 01:49:28.71ID:2/mdATAK
D言語は気持ちよくプログラミングできるんだ

俺にとってのD使う理由はそれで十分
97デフォルトの名無しさん
2015/02/28(土) 02:14:47.96ID:OQbzO6Hu
C++は気持ち悪いからな
関数ポインタとデリゲードが別物であった時点で俺の中では終わった。
98デフォルトの名無しさん
2015/02/28(土) 07:17:05.89ID:dohjXiRJ
>>97
C++で統一できるなら、std::function<...> で統一すれば済む問題だろ?
DのデリゲードはCの関数ポインタに変換できるのか? 既存のC製ライブラリを使うときはどうするんだ?
99デフォルトの名無しさん
2015/02/28(土) 07:59:44.49ID:MvLmnYM1
AOっても誰も教えてくれませんよ?
100デフォルトの名無しさん
2015/02/28(土) 10:26:19.86ID:X4brU/QV
>DのデリゲートはCの関数ポインタに変換できるのか?
Dにも普通の関数ポインタがあるので、そちらを使う
まあデリゲートでも(cast(void function())dg.funcptr)とか出来る、もちろんキャプチャした変数は使えなくなるけど
101デフォルトの名無しさん
2015/02/28(土) 10:31:56.76ID:X4brU/QV
訂正:dg.funcptrは既に関数ポインタなのでキャストは不要
当たり前だな、何を勘違いしてたんだろう
102デフォルトの名無しさん
2015/02/28(土) 10:32:47.26ID:OQbzO6Hu
キャプチャなんてもんがある辞典でC++は消滅すべき
103デフォルトの名無しさん
2015/02/28(土) 10:41:51.15ID:dohjXiRJ
>>100
C++もキャプチャ変数が無ければC関数ポインタとして渡せるから、似たようなものだね。
つまり >>97 は単に無知だったということだな。
>>102 も言葉通りだとナンセンスだが、「キャプチャ変数を明示する必要がある」という意味なら一理ある。
104デフォルトの名無しさん
2015/02/28(土) 12:34:31.63ID:C0E19LHH
キャプチャ自体はなるほど、と思ったけど
キャプチャ周りの書式はもうちょっとどうにかならんかったかなと思う
初見のときはあまりの違和感に頭がしばらくぐよんぐよんした
105デフォルトの名無しさん
2015/03/01(日) 09:38:36.00ID:OUJYb7d1
https://issues.dlang.org/show_bug.cgi?id=14213
S氏のバグ報告、これってProxyにtoHash付いたのが原因か
getHash(cast(const void*)a)としてるけど、delegateをconst void*にキャストするのがdeprecatedになった
106デフォルトの名無しさん
2015/03/01(日) 11:03:23.35ID:aFT4GJSL
constなdelegateとかにいまだに違和感がある
107デフォルトの名無しさん
2015/03/01(日) 20:39:46.21ID:OUJYb7d1
2.067マダァ-? (・∀・ )っ/凵⌒☆チンチン
108デフォルトの名無しさん
2015/03/01(日) 22:07:38.95ID:H0vTWA+P
まだ RC も出てないよ
後1,2回ベータが出てからその後のはず
109デフォルトの名無しさん
2015/03/02(月) 04:53:56.17ID:AZdlh9F+
始まる前に終わるのか
110デフォルトの名無しさん
2015/03/03(火) 18:26:41.34ID:lY8jIC0A
>>96これ
111デフォルトの名無しさん
2015/03/04(水) 10:09:49.78ID:FV6jzTFn
beta3
http://downloads.dlang.org/pre-releases/2.x/2.067.0/
112デフォルトの名無しさん
2015/03/04(水) 23:56:06.11ID:FV6jzTFn
vibe.dの問題が解決できるまで2.067のリリースを遅らせるようだ
113デフォルトの名無しさん
2015/03/05(木) 01:37:44.30ID:gwTnmSIO
D言語わくわく
http://next 2ch.net/tech/1425486862
       ↑
      ツメル
114デフォルトの名無しさん
2015/03/05(木) 02:08:06.26ID:x1uxCIef
スパムみたいな書き方だな
115デフォルトの名無しさん
2015/03/05(木) 04:06:53.30ID:n3NecQLR
punycodeでも検閲回避不能か
116デフォルトの名無しさん
2015/03/05(木) 09:52:56.19ID:x1uxCIef
2.067ではGCが高速化したらしい
117デフォルトの名無しさん
2015/03/15(日) 12:30:14.94ID:gUpehvCT
フォーラム見てるとWalterとAndreiに対してヘイトが溜まるなぁ
なんだこいつら
118デフォルトの名無しさん
2015/03/16(月) 00:49:17.06ID:+bImnCtP
>>117
なんか横暴なことでもしてるの?
119デフォルトの名無しさん
2015/03/16(月) 08:22:23.11ID:rfonf8fQ
別に横暴って訳じゃないけど、なんか他人を見下してる風なんだよな
自分たちと違う意見を持つ人間ってだけで馬鹿にするような返答や皮肉を繰り返してた時はちょっと引いた
特にWalterは何かにつけて「30年間プログラマをやってきた経験」とやらで他人の意見を蹴ったり、一方で都合が悪くなると返事しないので腹立つ
120デフォルトの名無しさん
2015/03/16(月) 10:32:44.07ID:r187UUhH
>自分たちと違う意見を持つ人間ってだけで馬鹿にするような返答や皮肉を繰り返してた時はちょっと引いた

あるある
こういう態度からは何も生まれない
121デフォルトの名無しさん
2015/03/17(火) 11:46:22.59ID:JR5CbamM
2.067RC 出た
122デフォルトの名無しさん
2015/03/22(日) 11:14:50.00ID:GjqveEz/
やっとか
123デフォルトの名無しさん
2015/03/23(月) 09:50:52.33ID:YJLz3rN2
FacebookがD言語を開発してるみたいな誤解を与えられたの、AAの目論見通りなのかな
実際はちょいと金貰っただけだし、業務ではほぼ使われてないとAAも言ってたし
124デフォルトの名無しさん
2015/03/26(木) 10:19:51.24ID:jtu1q66h
正式リリース出たで
125デフォルトの名無しさん
2015/03/27(金) 10:32:23.05ID:i1/0Dr4k
以前ここで見た気がするけど

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)
126デフォルトの名無しさん
2015/03/27(金) 22:14:20.45ID:CTT/twdI
GC「それはな…ちゃうねん」


なんかGC作動オプションつけられるようになったっぽいから色々試してみたけど
どうやっても落ちるのな
127デフォルトの名無しさん
2015/03/28(土) 14:05:37.34ID:1FIUchx6
PreciseGC にならないとダメ

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

自前で malloc/free するか Win64使うか
128デフォルトの名無しさん
2015/03/28(土) 14:54:58.16ID:1U0GdOh9
でかいJPEGファイルをロードしたくらいで引っかかる上に
外部ライブラリを使ってるから回避できなくてとても困る
やはり時代は@nogcか…
129125
2015/03/28(土) 14:55:17.12ID:3c7jmW0j
いい加減、64bit環境を構築するかー
さんくす!
一応 delete で、不要と教えてあげれば落ちないけど
GCの意味ないなあとか思っていじってました

GC「要らないならいうてやー」
130デフォルトの名無しさん
2015/03/28(土) 15:40:21.32ID:1FIUchx6
10-20MB以上のデカいブロックだけmalloc/freeするのがいい
GCに預けたやつを中途半端に手出しするのもあんまり
131デフォルトの名無しさん
2015/03/28(土) 15:42:10.46ID:F7N+uTWP
GCの方がトータルで速いと主張してたのはなんだったんや・・・
つか、GC無しが有り環境に移行するのはまだしも、有りだったのが無しに移行するのって辛いよな
132デフォルトの名無しさん
2015/03/30(月) 13:07:23.56ID:i+YJuxFC
D言語からC言語のヘッダファイルを読み込むにはどうしたらよいですか?
具体的にはwindows.hとかを読み込みたいです。
DirectXとかも使いたいのでC++用のCOMのヘッダも読み込みたいです。
D言語はライブラリが少ないし、
マイナー言語なので、ライブラリ提供者から公式なサポートが無いです。
そのため、C/C++用のライブラリをそのまま流用して使いたいです。
ヘッダファイルには、C/C++用のマクロなども定義してあるので、
D言語はC/C++の全機能をサポートする必要があります。
このために、DとC/C++を切り替えるスイッチが必要で、( 例えば extern C++{ } )
私が知りたいのはこの機能です。
133デフォルトの名無しさん
2015/03/30(月) 13:45:54.48ID:yiQdteM4
原則:
・C/C++のヘッダを直接読むことはできず変換が必要
・DMDでWin32アプリを作る場合に限り、C/C++ののライブラリの変換も必要

大抵のライブラリはすでに変換済みのが用意されてるのでそれを使うだけ
Win32API -> http://www.dsource.org/projects/bindings/wiki/WindowsApi/
ゲーム用とかなら github/DerelictOrg が充実してる
134デフォルトの名無しさん
2015/03/30(月) 13:51:58.23ID:yiQdteM4
いちおう公式のバインディング集 使ったことないからどのくらいあてになるかは知らない
https://github.com/D-Programming-Deimos
135デフォルトの名無しさん
2015/03/30(月) 23:00:53.68ID:QPp3Flh2
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
136デフォルトの名無しさん
2015/03/30(月) 23:02:22.58ID:QPp3Flh2
dmd 2.067.0, dmd 2.054
wxWidgets-2.8.12
wxd 0.16
dmd 2.067.0, 2.054どちらでもエラー内容は同じでした。何が問題なのでしょうか?
137デフォルトの名無しさん
2015/03/31(火) 00:23:32.12ID:DLD3Q9u2
どう見ても C++ でコケてるんだが
138デフォルトの名無しさん
2015/04/05(日) 02:08:57.94ID:i8c3cK/q
久しぶりにさわったらUFCSとかrangeとかイケてるやん、書いてて気持ちえ〜わ〜
139デフォルトの名無しさん
2015/04/08(水) 21:42:13.87ID:QBLG8yia
replaceはstringとregexで被ってるのか
140デフォルトの名無しさん
2015/04/08(水) 22:47:53.09ID:bms3DTdi
http://www.kmonos.net/alang/d/overview.html
>非仮想メンバ関数。C++では、関数がvirtualになるかどうかは クラスの設計者が前もって決定します。
>メンバ関数をオーバーライドすることにしたのに、基底クラスの方で改造を忘れる… というのは、
>よくある(けれども非常に見つけにくい)コーディングミスです。
>全てのメンバはvirtualにしておき、 オーバーライドが存在しないことをコンパイラが検知して非 virtual に変える、
>というアプローチの方が信頼性があります。

と書いてありますが、実際にどこまでそんな最適化が機能しますかね。
ローカルスコープでnewされたオブジェクトなら簡単に検地できますが、
メソッドの引数で渡されたオブジェクトや、
メンバ変数で保持しているオブジェクトに対して、
オーバーライドが存在しないことを、どこまで検地できるものなのでしょうか。
D言語はモジュール単位でコンパイルするので、
自分のモジュール以外で何が行われるかわからないのでは?
141デフォルトの名無しさん
2015/04/09(木) 05:18:11.14ID:uR76CfxE
詳しくないのでさっぱりなのだがこっちにも
http://www.kmonos.net/alang/d/function.html#virtual-functions
>コード生成時にDはクラス階層を全て把握していますので、
>オーバーライドされていない関数への呼び出しは全て最適化されて non-virtual になります。
って自信満々に書いてあるね。

で、なんかそんな話題どっかでみたなあと思って探してみたが
http://hibari.2ch.net/test/read.cgi/tech/1293500945/300-303
別に結論出てなかった。
まあ「finalつけると速くなる」なら(今でも同じかは確認してないが)
可能であろうと、少なくとも真面目に実装はしてないんだろうね。
142デフォルトの名無しさん
2015/04/09(木) 09:23:07.96ID:BNp5TkNs
virtual がキーワードとして追加された後しばらくして撤回されたのが最近の出来事
143デフォルトの名無しさん
2015/04/09(木) 18:19:45.10ID:HK14cBmq
D言語のコンパイラで一番いいのは何ですか?
144デフォルトの名無しさん
2015/04/09(木) 19:55:59.27ID:38RAslub
dmdしか使ってない俺にもdmdが最善ではなさそうなことはわかる
145デフォルトの名無しさん
2015/04/09(木) 21:10:41.59ID:BNp5TkNs
コンパイルが最速でプロファイルもカバレッジもちゃんと動くdmdが最善でないとな?

win32/simd とか win64/seh とか足りないのはあるけど
146デフォルトの名無しさん
2015/04/10(金) 06:51:36.42ID:uqc+UxkP
dmdのsimdってまだSSE2までしか対応してないのけ?
147デフォルトの名無しさん
2015/04/11(土) 15:44:58.43ID:E/CwOvDs
D言語ってなんで流行らないんですか?
148デフォルトの名無しさん
2015/04/11(土) 17:32:39.43ID:7fSRDMX5
ポストC++を目指してるんだけど
C++自体が使われてないから
149デフォルトの名無しさん
2015/04/11(土) 17:42:57.03ID:u+ugD/Y+
俺が思うに、Cとソースレベルの互換を切ったのが不味かったな。
Cのヘッダが読み込めないんじゃ、生産性悪すぎ。
Cのライブラリを使おうと思っても、誰かがこっそりDに移植したのを使うしかない。
そんな怪しげなものは企業じゃ使いにくいわな。
150デフォルトの名無しさん
2015/04/11(土) 22:26:51.94ID:BiO0sN0+
でもプリプロセッサみたいなXXXXXXなもの積んだら元の木阿弥だしなあ
151デフォルトの名無しさん
2015/04/12(日) 02:43:30.27ID:XESAGs1Z
精度の高いhtodまだ?
152デフォルトの名無しさん
2015/04/12(日) 09:38:06.20ID:y8PA+brm
C言語にはマクロがあるから難しいだろうね。
マクロとインライン関数とじゃ微妙に動作が違うし。
それを再現するのは難しいし、再現したらしたでDの人たちが怒る
153デフォルトの名無しさん
2015/04/12(日) 11:32:27.28ID:E16OManC
他の言語に比べりゃマシ。
普通はC側からもグルーコードを書かないといけない。
154デフォルトの名無しさん
2015/04/12(日) 11:41:30.34ID:kQPdUAS+
JNIとか死ねるし
155デフォルトの名無しさん
2015/04/12(日) 11:47:57.98ID:UmUJTIj0
ライブラリ側の改造なしで普通にリンクできるってのは大きいなあ
156デフォルトの名無しさん
2015/04/12(日) 14:18:52.37ID:y8PA+brm
でも、CのライブラリはC++からだと何の改造もなく普通に読み込めるし、
殆どのライブラリはC++から使われること「も」想定して書いてあるし。
ライブラリの公式なサポートがあるってのも大きいかと。
Dの宿敵は完全にC++なわけで、ここからシェア奪うの厳しくね?
しかも最近のC++はやたら高性能になってて、Dが圧倒的に優位といえるのは、
GCが有ることぐらいか。しかしDのGCは完全じゃないので、実際には開放できる領域を
見逃すことがあるらしい。>>125-127
しかもメモリを使えば使うほど、切迫していればいるほど、誤認の確率が高くなる。
本当にGCが必要な時ほど、GCが上手く動かなくなるという・・・。これはなんかおかしい。

まー一生C++使ってろって言われそうだが。
157デフォルトの名無しさん
2015/04/12(日) 17:59:43.09ID:E16OManC
京大院卒の元日立社員ですらrust,go,nimとやってきたがDは目次で投げ出すほど難しいらしい
158デフォルトの名無しさん
2015/04/12(日) 21:04:55.27ID:tlWGpnIJ
C++やってないのかよ
159デフォルトの名無しさん
2015/04/12(日) 21:27:54.60ID:Kyho4V/V
そこであげられてる言語は比較対象になるのか
160デフォルトの名無しさん
2015/04/13(月) 17:54:24.16ID:bnhydr1P
仕様書であるTDPLを入門書と間違えて買ったんだろうな
161デフォルトの名無しさん
2015/04/13(月) 19:57:56.23ID:S0M+DdK2
D言語パーフェクトガイドの時代が来たようだな
162デフォルトの名無しさん
2015/04/14(火) 22:00:35.44ID:TJwhWYq7
スマホアプリが作れれば流行るんじゃね?
163デフォルトの名無しさん
2015/04/14(火) 22:05:11.14ID:NpitylM9
Visual D使ってる人に質問です。
Visual Dって標準ライブラリの予測変換でないんですか?
164デフォルトの名無しさん
2015/04/14(火) 22:38:44.42ID:o5X1XXSP
>>163
入力補完できるよ

http://rainers.github.io/visuald/visuald/Editor.html
165デフォルトの名無しさん
2015/04/14(火) 23:57:41.21ID:VlJAU5Jf
どうせ出てほしい時に出なくて
必要ないときに邪魔なポップアップが出るみたいな
お粗末なものにしかならないべ

言語設計レベルからそこまで考慮してないと
166デフォルトの名無しさん
2015/04/15(水) 18:59:26.48ID:V49K0zxq
C#はforeach使うとGCが増えるらしいけど
Dはどうなの?
167デフォルトの名無しさん
2015/04/15(水) 21:22:05.40ID:DNCbFPiX
Dってどこで学んだらいいんだ
dlang.orgしかない?
168デフォルトの名無しさん
2015/04/15(水) 22:20:50.17ID:kuK1eeQu
https://gist.github.com/repeatedly/2470712
ここ読んで文法身につけて、
標準ライブラリは公式がそこそこわかりやすいからそれで。
(日本語訳はちょっと古いが、参考には十分なる)
んで、わからないことはここか、
最近はtwitterで#dlangのハッシュタグつけて質問するのも流行り。
自分も去年一度質問投げたら、一時間で三人から同じ解答来て震えた。
169デフォルトの名無しさん
2015/04/15(水) 22:50:13.61ID:H6ZOKNFw
>>164
ありがとうございました。なんか出てきました。
170デフォルトの名無しさん
2015/04/16(木) 06:03:51.02ID:3n63vngU
以前にC++とねんごろになれるうpあったとか見た気がしたけど、あれは幻覚だったのかこの流れ見ると
171デフォルトの名無しさん
2015/04/17(金) 08:38:36.34ID:LOaAnlcG
namespaceに対応したり、C++側でインスタンス化されたテンプレートがDから使えるようになったんじゃなかったっけ?

C++ヘッダを直接import出来るようにするDコンパイラも開発されてるけど結構実用的ぽい
https://github.com/Syniurge/Calypso/blob/master/tests/calypso/libstdc++/vector/vector.d
172デフォルトの名無しさん
2015/04/17(金) 13:06:38.13ID:n6u60MAl
>C++ヘッダを直接import出来るようにするDコンパイラも開発されてるけど結構実用的ぽい

あ、それいいね。てかそれしないと普及しないでしょ。互換性は大事。
COMとかもそもまま使えるようになるんかね。
173デフォルトの名無しさん
2015/04/21(火) 22:23:29.12ID:k+lIUh1M
☆ 日本の核武装は絶対に必須ですわ。☆
http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html

☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると日本国憲法の改正です。皆様方、必ず投票に自ら足を運んでください。
私たちの日本国憲法を絶対に改正しましょう。☆
174デフォルトの名無しさん
2015/04/22(水) 16:58:34.80ID:w0Yyg9N7
dsource.org もいよいよ廃止に向かう模様
使ってる人ほとんどいないだろうけど
175デフォルトの名無しさん
2015/04/22(水) 17:06:41.43ID:QMLocF8n
ちなみに移住先は?最近D使ってないんでよくわからんけど
176デフォルトの名無しさん
2015/04/22(水) 17:25:07.03ID:Atokf9a2
>>2のDUBに登録が最近の流行り
177デフォルトの名無しさん
2015/04/23(木) 15:06:10.81ID:atwBzKak
ノイズが減るのは良いこと
178デフォルトの名無しさん
2015/04/23(木) 19:54:37.61ID:g8/zXSRM
この言語
親クラスのprivate変数に継承先のクラスがアクセスできるじゃん
179デフォルトの名無しさん
2015/04/23(木) 19:58:37.29ID:lZQ1F1hI
継承先のクラスが同一ファイル内にないか?
同一ファイル内のメンバは常にpublicだぜ
180デフォルトの名無しさん
2015/04/23(木) 20:23:40.71ID:g8/zXSRM
まじかよ酷いな
ファイル=モジュールだからファイル分けるの面倒くさい
181デフォルトの名無しさん
2015/04/24(金) 06:25:45.44ID:6TulMhAx
同一ファイル内にあるものは自動的にfriendだと思えばC++より便利だな
182デフォルトの名無しさん
2015/04/26(日) 21:31:40.36ID:M02Af7kd
D2はまだ使用が固まってないからとうぶんの間は開発にはD1を使うことになるな
183デフォルトの名無しさん
2015/04/26(日) 23:49:43.65ID:NpZzAF6y
1のことは忘れるんだ……。
2も最近は破壊的変更が少ないし、
どうしても仕様が固まってるものを求めてるなら別の言語のほうがいいよ。
少なくともD1を使っていいことは一つもないと思う。
184デフォルトの名無しさん
2015/04/27(月) 01:41:11.15ID:nAsvEGea
じゃあC++使うかな
とは言えない雰囲気
185デフォルトの名無しさん
2015/04/27(月) 03:54:29.19ID:3o/5kFDH
D1かC++かならまじでC++使えばいいと思うよ
雰囲気っていうか、まあ確かにC++使うならここで宣言する必要はないと思うけど
186デフォルトの名無しさん
2015/04/27(月) 07:50:54.32ID:XqA1wgYz
意外なことにrustの方が言語とAPI仕様の安定化に積極的っぽい
187デフォルトの名無しさん
2015/04/27(月) 08:51:18.76ID:ZDDsb7dY
明確なゴールもなくフワフワと手を広げるから収束しないんだよ
188デフォルトの名無しさん
2015/04/27(月) 19:40:18.02ID:u+p+733x
effectivec++読んだ時点でc++を見限らない奴はセンス無い
189デフォルトの名無しさん
2015/04/27(月) 19:41:43.14ID:JZyYoAVB
>>186
それここ1ヶ月くらいのことじゃね?
まあでもそういう姿勢を公式に明確にするのはいいことだ
190デフォルトの名無しさん
2015/04/30(木) 23:13:29.89ID:DC2IuzKP
PCがオワコンになって一般人はスマホやアップルウォッチしかコンピューターを持たない時代が来るのに
Dを始めとするPCアプリ専用言語に未来はあるのか
191デフォルトの名無しさん
2015/05/01(金) 12:43:57.40ID:ZnsZ9ufL
>>190
そもそも、一般人はプログラミングしていない。
192デフォルトの名無しさん
2015/05/01(金) 15:43:57.35ID:VV0Lze55
サーバーサイドでも使われないとか終わってる
193デフォルトの名無しさん
2015/05/03(日) 12:05:34.37ID:frUd71C/
>>192
Goで泥アプリ開発できるようになったし、PCから移行するにつれいろんな言語が泥とかアフォン
とかでも使えるようになる。

という妄想
194デフォルトの名無しさん
2015/05/11(月) 22:49:25.75ID:umG0fBs5
Tcpを用いたサーバーアプリケーションを作成しています。
一つのSocketを処理するスレッドをspawnで起動しようとしたのですが、
"Aliases to mutable thread-local data not allowed." というエラーが出てしまいます。

Socketをスレッドのコンテキストとして渡す方法はありますか?
195デフォルトの名無しさん
2015/05/19(火) 19:36:36.05ID:nbiNTEdK
sharedクラスに突っ込むとかかな
196デフォルトの名無しさん
2015/05/20(水) 14:35:43.34ID:RjQMrwaX
enumのメンバの中からランダムに1つ取り出すにはどう書いたらいいですか?
197デフォルトの名無しさん
2015/05/20(水) 17:11:00.71ID:VhPE5aVV
import std.stdio, std.traits, std.random;

enum E { Hard, Normal, Easy, }
auto lv = [ EnumMembers!E ];
lv[ uniform(0, 3) ].writeln();
198デフォルトの名無しさん
2015/05/20(水) 17:35:41.74ID:RjQMrwaX
>>197
ありがとうございます。
std.traitsにenumのメンバの配列を作る機能があったんですね。
199デフォルトの名無しさん
2015/05/20(水) 19:21:10.83ID:VhPE5aVV
あ、配列なんだからuniform(0, $)でよかった…。

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

他にも関数の引数リストとか、構造体のメンバ変数を
タプルでとれたり、std.traitsは結構楽しい
200デフォルトの名無しさん
2015/05/23(土) 09:46:23.34ID:LbQhEyX4
メンバにUDAを付加するだけで
文字列化やシリアライズのメソッドが自動or暗黙生成されるような
いい感じの小技はないかしら
201デフォルトの名無しさん
2015/05/23(土) 20:05:33.06ID:T/VMnfch
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"
}
202デフォルトの名無しさん
2015/05/24(日) 19:07:17.52ID:TlBS03PH
これいいなあ
それにしてもstatic foreachが欲しい…
203デフォルトの名無しさん
2015/06/13(土) 18:35:51.38ID:GIDis6QW
>>190
そんなのは日本だけだぞ
海外ではPCとモバイルを使い分けるのが普通
204片山博文MZ ◆T6xkBnTXz7B0
2015/06/17(水) 19:52:38.87ID:/OO8ry8l
Dの簡単インストーラー作るぜ。アイデア募集。
205片山博文MZ ◆T6xkBnTXz7B0
2015/07/03(金) 16:37:05.52ID:Cj/+Kw22
DmInst ver.0.0を公開しました。
コンパイラーのDMCとDMDを簡単にインストールできるプログラムです。

http://katahiromz.web.fc2.com/dminst/
206デフォルトの名無しさん
2015/07/03(金) 16:45:04.27ID:PTQIZZxq
苛寝
207デフォルトの名無しさん
2015/07/09(木) 00:26:47.91ID:vgLfGCMi
std.experimental.allocator の vote 始まった

https://github.com/andralex/phobos/tree/allocator/std/experimental/allocator
http://erdani.com/d/phobos-prerelease/std_experimental_allocator.html
208デフォルトの名無しさん
2015/08/07(金) 01:19:25.71ID:AOl5d/Q7
vote
209デフォルトの名無しさん
2015/08/11(火) 09:22:39.47ID:JJHEPwAB
2.068
210デフォルトの名無しさん
2015/08/11(火) 21:22:49.65ID:/rELv5XJ
AliasSeq を Alias Equal と読み間違ってしまうマン
211デフォルトの名無しさん
2015/08/20(木) 19:16:20.38ID:6X6++Eio
お前らってeclipseのDDT使ってるの?
212デフォルトの名無しさん
2015/09/12(土) 04:06:34.44ID:+P5YetMW
CTFE時に連想配列の値が上書きされてしまう。
http://dpaste.dzfl.pl/4daf8db6ce08
213212
2015/09/13(日) 01:16:43.63ID:6EXYsBmd
>>212 がgithub版でもおきるかなー?と思ったんだけど、github版dmdをコンパイル中にエラーが出た。
内容は、「ソースに\r\nが含まれますよ」というもの。
出してるのは、dmd -run src/checkwhitespace.d の部分。
このツールは
1. \r\n がソースに含まれている場合。
2. インデントに\tを使っている場合。
3. 行末に不要な空白文字がある場合。
にエラーを出すようなんだけど、3はともかく、これで行くことに決まったのかな。
smart-tab派なんだけどなー。
あ、github版でも212は再現しました。
214デフォルトの名無しさん
2015/09/14(月) 08:11:30.88ID:zHbMvpj8
dmdがDベースになるね
215デフォルトの名無しさん
2015/09/23(水) 01:15:09.12ID:c39jTuOR
おまいらこれはなんでなんだぜ
http://dpaste.dzfl.pl/7fa1a12a8c4a

1. enum をクラスインスタンスで初期化できない→わかる。構造体でラップすると通る→?
2. 1. において、ラップされたクラスが mutable。
216215
2015/09/24(木) 17:04:49.35ID:Q3uW0SwS
>>215 自己レスなんだけど、
1. https://issues.dlang.org/show_bug.cgi?id=11697
2. https://issues.dlang.org/show_bug.cgi?id=12385
なんだって。
217デフォルトの名無しさん
2015/09/26(土) 08:34:31.58ID:58nZ62zg
This Week in D (英語)
http://arsdnet.net/this-week-in-d/

年初から続いてて筆者はDの入門書出版したりしてる
218デフォルトの名無しさん
2015/09/29(火) 09:14:53.57ID:2BMWd/g5
2.068.2 出てた

ちなみに Win32-COFF が隠しオプション(-m32mscoff)で出来るようになってるので
OMF/optlink がイケてないと思っていた諸兄は試してみるがよいよいよい
219デフォルトの名無しさん
2015/10/04(日) 20:25:42.92ID:fx9NWY8o
int arr[x][y][z];
これと同じメモリレイアウトでヒープに確保するにはどうすればいいですか?
220219
2015/10/04(日) 20:56:03.94ID:fx9NWY8o
new int[x*y*z]でよかった。
問題なのはint[]のメモリへのアクセスをint[x][y][z]と同じようにする方法だった。
221219
2015/10/04(日) 20:59:30.10ID:fx9NWY8o
自己解決。
[0][0][0],[0][0][1]...[0][1][0],[0][1][1]...の順番で並んでるだけだった。
222デフォルトの名無しさん
2015/10/06(火) 01:18:13.90ID:4WYMUnp4
くっそ!
↓Manifest ConstantsのenumとAAのからみがおかしい。
http://dpaste.dzfl.pl/36ab529d6fc5c
↓CTFEで変数を修飾する方のscope class使うと abnormal termination
http://dpaste.dzfl.pl/8ad7e24e5d05
223デフォルトの名無しさん
2015/10/09(金) 21:58:55.85ID:So4fPMkx
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)" なのがおかしい気がするんだが。
224223
2015/10/09(金) 23:28:50.19ID:So4fPMkx
書き込んでから思い出したけど、Rebindableとかできて結構経つしあきらめるしかない気がしてきた。

>>218 optlink死んでまうん?
225デフォルトの名無しさん
2015/10/10(土) 00:27:09.81ID:MYHuAGIQ
const classとかscope classとかは今もまともに使おうと思えないね
普通のclass内でメンバをconstにするとかじゃないとまともに動く気しない
226デフォルトの名無しさん
2015/10/15(木) 18:54:50.42ID:pJRyZOgY
nullではなく、空の連想配列で初期化するにはどうすればよいですか?
227デフォルトの名無しさん
2015/10/16(金) 08:36:04.34ID:CAVKRc42
空の配列 == null なので無理

ただし空文字列 "" は例外 落とし穴になりがちなので注意
228デフォルトの名無しさん
2015/10/16(金) 13:11:04.24ID:TDfNRPC3
ちょっと良くわかりませんが、D言語は空の配列すら作れないんですか?
不便ですね
229デフォルトの名無しさん
2015/10/16(金) 17:46:08.84ID:ZZ3JoxKg
nullでない空ってなに
230デフォルトの名無しさん
2015/10/16(金) 17:54:55.90ID:MCgyDKhx
a = {};

こんなのを期待してるのかな
231226
2015/10/16(金) 18:32:37.08ID:+5uWvhRc
>>227-230 レスありがとう。やりたかったのはこういうことです。

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行で書きたいな。
という話でした。
232デフォルトの名無しさん
2015/10/16(金) 19:36:08.03ID:TDfNRPC3
結局どういうことなんですか?
Dでは空の配列を作れないんですか?
必ず何か入っていなければダメなんですか?
int[] a; って書けば空の配列になるんじゃないんですか?
233226
2015/10/16(金) 21:04:57.54ID:+5uWvhRc
>>232
int[] a; で空の配列になりますよ。
226のは「連想配列」が俺にはややこしいっていう話です。
234デフォルトの名無しさん
2015/10/16(金) 21:47:10.30ID:BcAfRt/g
>>231
string[string] buf = (a => (a.remove(""), a))(["" : ""]);

ところで、コンマ演算子を廃止しようとか言ってたのは自然消滅したのか?
235226
2015/10/16(金) 22:51:07.22ID:GwISFyO6
>>234 ありがとうございます。ところでもっと基本的な疑問がわいたのですが、
>>231 の後半での、bufとbuf2の中身がずっと同じであるっていうのは、仕様で保証されてるんでしょうか?
Windows版dmd2.068.2では、1000個値を追加しても同じでした。
236デフォルトの名無しさん
2015/10/17(土) 09:05:55.54ID:M7lcZRBS
>>231
バグっぽい removeしつくしたら null になってるはずなんだけど
237デフォルトの名無しさん
2015/10/17(土) 09:08:29.29ID:M7lcZRBS
それに連想配列の内部実装は最近まで大きく書き換えられてて
動作の微妙な違いとかあるのでトリッキーなことは避けるべき
238226
2015/10/17(土) 22:20:49.79ID:KpZ8gQf0
>>236-237 そうなんですね。書き換えます。ありがとうございます。
239デフォルトの名無しさん
2015/10/20(火) 00:01:18.64ID:wy5QxwnK
リンクエラー。2.067.1では通ってた。
http://dpaste.dzfl.pl/255495e7489a
1. -m64 で
2. CTFEで実行されるラムダ内で定義されている
3. 配列をメンバに持つ構造体の
4. 配列のconcatを行う
240デフォルトの名無しさん
2015/10/22(木) 22:35:23.39ID:WlXBpB56
↓CTFEでtoHash/opEqualsが効いてない。
http://dpaste.dzfl.pl/ec40b544f45d
CTFEはまだまだなかなかナヤマシイな! >>237 がらみかしらん。
241デフォルトの名無しさん
2015/10/28(水) 16:43:28.27ID:w9dndjrH
D言語って、Javaみたいにソースファイル名とクラス名を同じにしてしまうと、
他のソースでクラス名のつもりで記述したものがパッケージ名扱いになってしまうため
Hoge.Hoge のように同じ名前を2回書かないとクラス名と解釈してくれないと思うのですが、
これを1回だけの記述で済ましたい場合、皆さんはどのように解決されているんでしょうか?
ソースファイル名を変えるのもmodule文で別名にするのも、何か違うように感じてしまいます。
242デフォルトの名無しさん
2015/10/28(水) 19:24:28.95ID:9zUX3+we
モジュール名とファイル名は小文字
クラス名は大文字始まり
それでもカブるようなケースはパッケージを作るからまず困らない
243デフォルトの名無しさん
2015/10/29(木) 01:37:25.50ID:0VE0VetC
>>241 D言語の命名規則に則れば >>242 の言うとおり。
ただ、どうしてもと言うならこんなんはいかがか。
http://dpaste.dzfl.pl/dce8977dacc7

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

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

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

>>243
おぉ‥改名選択importというやつでしょうか。確かにこれで通りました。
import _Hoge = Hoge : Hoge; という風に変換されるんですね。
import文までコンパイル時生成できるとは、D言語きm‥素晴らしいです。
ただこの書き方ではモジュール名変更リファクタリングの際にIDEが解析しにくい気がするので
(そもそもそこまでお世話してくれるIDEは現存しないようですけれど‥)、
取り敢えずは先のパッケージへの配置法でがんばってみます。
凄いものをありがとうございました。今後の困難の際に参考にします。
245デフォルトの名無しさん
2015/11/04(水) 15:13:08.14ID:L5M/yopQ
dmd2.069.0
246デフォルトの名無しさん
2015/11/06(金) 23:00:00.73ID:XSTiM1/K
Error: template std.algorithm.searching.countUntil cannot deduce function from argument types !()(int[11], int), candidates are:
こういうエラーが出たんですけど、countUntilに静的配列は使えないということでしょうか?

Error: template instance sort!((uint a, uint b)
あと、sortに無名関数を渡したらエラーが出ました。無名関数も使えないのでしょうか?
247デフォルトの名無しさん
2015/11/07(土) 11:16:15.31ID:oYYknJv4
静的配列に対して popFront() が呼べない(初めて知った!)
だからレンジ系操作に対しては全滅に近い

ソートの方はそれだけじゃ分からんね
無名関数は使い方間違えた時にわかりづらい
248デフォルトの名無しさん
2015/11/07(土) 15:26:06.21ID:k3hAw3NX
静的配列は要素数が変更できないからですか。
Rangeの要件を満たしてないとなると結構不便ですね。

sortはエラーメッセージがこの1行しか出ないんですよね。
シンプルな例でテストしたらコンパイルは通ったんですけど、他のコードが影響してるのかなぁ。
249デフォルトの名無しさん
2015/11/07(土) 22:04:33.49ID:X4t7LIyp
固定長配列の全体のスライスを取って動的配列に見せかければ
ある程度のRange操作だったら固定長配列にもかけられるのでちょっと便利です
250デフォルトの名無しさん
2015/11/09(月) 04:06:00.73ID:PiWCufYC
はあ、なるほど。
251デフォルトの名無しさん
2015/11/09(月) 04:09:17.37ID:PiWCufYC
delegateのcovariane/contravarianceはなくなったんですかね
252デフォルトの名無しさん
2015/11/14(土) 10:33:38.52ID:TuAUCuHQ
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
253デフォルトの名無しさん
2015/11/14(土) 12:16:16.84ID:AP01jWaC
真のD言語erはそんなに書いて(書かせて)もらえることに感謝する
254デフォルトの名無しさん
2015/11/14(土) 20:42:57.89ID:uWuWWunU
デバッグ用に関数名を出力したいんですけど、関数名を取得する方法はあるでしょうか?
__FILE__や__LINE__みたいな感じのが欲しいです。
255デフォルトの名無しさん
2015/11/15(日) 00:26:31.44ID:4YAQhy/L
標準入出力をフラッシュするにはどうすればいいですか?
256デフォルトの名無しさん
2015/11/15(日) 00:49:19.11ID:DVr3HCs9
基本的には、DではCの標準ライブラリと同等の関数をほぼそのまま薄いラッパで提供しています
257デフォルトの名無しさん
2015/11/15(日) 01:23:34.60ID:4YAQhy/L
dout.flush()ということですか。
writeln()に対応するものはないんでしょうか?
258デフォルトの名無しさん
2015/11/15(日) 02:08:17.69ID:4YAQhy/L
stdout.flush()でできました。
259デフォルトの名無しさん
2015/11/15(日) 07:41:57.52ID:ndJn5r2D
>>254
__FUNCTION__ も使える
日本語訳サイトは古すぎるから
英語サイトも必ず併用すべき
260デフォルトの名無しさん
2015/11/15(日) 14:56:12.51ID:4YAQhy/L
>>259
関数名の取得もあったのですね。
英語苦手だけど見ないとだめですね。
261デフォルトの名無しさん
2015/11/15(日) 15:01:11.74ID:4YAQhy/L
自作のプログラムを実行すると毎回同じ場所でobject.Error: Access Violationが発生します。
エラーとは関係なさそうな修正(stderr.writeln()を増やしたり減らしたり)をするとエラー発生の場所が変わったり、
InvalidMemoryOperationErrorに変わったりします。
エラーの原因がさっぱり分からないんですけど、どういうことが考えられるでしょうか?
262デフォルトの名無しさん
2015/11/15(日) 15:29:26.30ID:r8bNQIop
リーク
263デフォルトの名無しさん
2015/11/15(日) 16:21:30.07ID:4YAQhy/L
GCのある言語でメモリリークとなると、どういうケースがあるのか想像がつかないです。
エラー発生の場所も変わるので謎です。
264デフォルトの名無しさん
2015/11/15(日) 17:04:42.06ID:PV6fOtMt
GCのリーク以外に
確保してない場所に書き込むのもリークって言わない?
265デフォルトの名無しさん
2015/11/15(日) 17:07:38.68ID:lu/bgS1P
こマ?初めて聞いたその結び付け
リーク=解放処理漏れ 以外の認識ないわ
266デフォルトの名無しさん
2015/11/15(日) 17:19:50.76ID:4YAQhy/L
newする前のクラスのインスタンスの関数を使ってAccess Violationが出たことは過去にありますね。
しかし、今回はちゃんとnewされているし、1回目の呼び出しでエラーが発生してるわけでもないんですよね。
そして>>261で書いたようにstderr.writeln()を追加するだけでエラー発生のタイミングが変わるので難解です。
267デフォルトの名無しさん
2015/11/15(日) 18:08:15.11ID:PV6fOtMt
初期化してない変数でアクセス
268デフォルトの名無しさん
2015/11/15(日) 18:39:09.01ID:ndJn5r2D
AVならばぬるぽか RangeErrorか deleteの間違い
-g -debug してないんかいな

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

デストラクタの中でdeleteとかしちゃダメダメよ〜
269デフォルトの名無しさん
2015/11/15(日) 18:44:09.41ID:zgz009B6
似たことなったことあるなあ。なんやったか。
templateとかmixinがらみで依存関係見落としててobjの更新忘れとか。
270デフォルトの名無しさん
2015/11/15(日) 19:02:33.53ID:4YAQhy/L
すみませんReleaseビルドになってました。
DebugビルドにしたらRangeErrorになりました。
271デフォルトの名無しさん
2015/11/15(日) 19:09:44.01ID:PV6fOtMt
報告乙
272デフォルトの名無しさん
2015/11/19(木) 16:51:28.76ID:I2rQS35X
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);
もどちらも不要ですか?
273デフォルトの名無しさん
2015/11/19(木) 23:48:30.24ID:kWkiLP1L
色々とカオス(感想)
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することに保証はないと思う、知らんけど
274デフォルトの名無しさん
2015/11/20(金) 01:05:01.96ID:gniDkGmv
× foreach(elem; hoge)
○ foreach(ref elem; hoge)
275デフォルトの名無しさん
2015/11/20(金) 10:48:03.85ID:LnAg0HCn
ありがとうございます!!
276デフォルトの名無しさん
2015/11/20(金) 22:50:35.51ID:KMWFgUCm
クラスの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)を見てから何か方法があるような気がしてきて・・・
277デフォルトの名無しさん
2015/11/21(土) 13:20:00.57ID:1cOWOBSi
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);
}
===
こういうのはどうだろう
(もっといい方法ありそう。。)
278デフォルトの名無しさん
2015/11/21(土) 14:42:18.71ID:8z9xCqW5
Hoge という型と Fuga という型があって

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

Any という任意の型があるとして
Any[Any] moge;
みたいな連想配列は作れますか?
279デフォルトの名無しさん
2015/11/21(土) 14:47:56.80ID:8z9xCqW5
ちなみに
["A": "B", "C": 3, 4: "E"]
みたいなのを作りたいのです
280デフォルトの名無しさん
2015/11/21(土) 15:28:20.57ID:8z9xCqW5
Object[Object] moge = ["A": "B", "C": 3, 4: "E"];

これでだめでした orz
281デフォルトの名無しさん
2015/11/21(土) 22:31:38.28ID:jpeEJ7vY
import std.variant;
auto moge = [Variant("A"): Variant("B"), Variant("C"): Variant(3), Variant(4): Variant("E")];
とかいうダサい感じのしか思いつかない。
282デフォルトの名無しさん
2015/11/21(土) 23:35:17.00ID:BXVotCtM
>>277
確かにもう外に出してしまう方がいいかもしれないですね
外に出すことは考えてなかったのでもうちょっと考えてみます
283デフォルトの名無しさん
2015/11/22(日) 12:23:27.44ID:rXOpUu6m
>>278
型付き言語に喧嘩売ってんのか
284デフォルトの名無しさん
2015/11/22(日) 12:42:54.55ID:rXOpUu6m
>281
ダサくてよければ

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"]);

試してないけど
285デフォルトの名無しさん
2015/11/22(日) 18:10:01.30ID:K6EhBG35
引数が1個ずつ別のAAになってる…?
きもちわるすぎる
286デフォルトの名無しさん
2015/11/22(日) 18:34:22.00ID:uPJ5yBy3
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);
}
287デフォルトの名無しさん
2015/11/22(日) 19:32:11.41ID:QPIcOg4c
>>280
http://dpaste.dzfl.pl/2879b11f3fec
ま、やっぱロクなことにはならんわなあ。
288287
2015/11/22(日) 19:46:28.38ID:QPIcOg4c
やっぱコード追加で。連投御免。
http://dpaste.dzfl.pl/19cc3ea3bd0d
289デフォルトの名無しさん
2015/11/23(月) 14:44:46.01ID:5yZmzCJ8
mixin使ったら負けな感じ半端ない
290デフォルトの名無しさん
2015/11/23(月) 23:06:50.39ID:zlo1l7ot
やろうとしてること自体闇魔術臭いしわりと妥当なのかもしれない
291デフォルトの名無しさん
2015/11/24(火) 12:03:53.42ID:Dj+m8Q01
>>284>>286 ってどちらもコンパイル時に
解決された型変換のコードが生成されるのですか?
つまり前者も後者も実行時の速度パフォーマンスは同じですか?
292デフォルトの名無しさん
2015/11/25(水) 00:37:26.01ID:euvQfHeH
>>291
どんなコードが生成されるか知らないのでベンチとって見た結果
http://dpaste.dzfl.pl/85212474e9f0
281: TickDuration(3595337)
284: TickDuration(9347285)
286: TickDuration(4128184)
288: TickDuration(3554533)
293デフォルトの名無しさん
2015/11/26(木) 17:49:18.83ID:yeqvnwwH
Dでcomのclientを書こうとして付属のサンプルソースを試したら動作しました

wshサーバーをdispatchしてEcho('hoge')みたいなポップアップを出したいのですが
サンプルをどのように書き直せばよいのですか
294デフォルトの名無しさん
2015/11/26(木) 17:58:08.82ID:yeqvnwwH
途中まで書いたコードです
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
に書き換えてもだめでした
295デフォルトの名無しさん
2015/11/26(木) 21:43:51.54ID:FqPwpLUO
>>294
ちょっとまだよく分かってなくてEcho呼んでも何も起きなかったけど、
PopUp呼べたので参考になりますか?
http://dpaste.dzfl.pl/15f1655e540e
296デフォルトの名無しさん
2015/11/27(金) 08:55:22.81ID:H96QzFnR
>>294
IDLとかタイプライブラリとか見ずに静的バインディングしようとしてる
普通は中間ヘッダを入手するかツールで生成する
C++で一度やったことがないとダメ

ちなみに >>295 は動的バインディング
297デフォルトの名無しさん
2015/11/27(金) 09:52:51.69ID:c/N8jVfb
>>294
WScript.Shell に Echo は無いよw
298デフォルトの名無しさん
2015/11/27(金) 10:48:43.15ID:Og1YQ9Di
>>297
うっかり勘違いしてました

標準の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);
したら
後は >>295 さんと同じように PopUp("Hage") を Invoke 出来ました
ほんとうにありがとうございました
299デフォルトの名無しさん
2015/11/27(金) 11:49:41.82ID:c/N8jVfb
質問です。
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
です。
300デフォルトの名無しさん
2015/11/27(金) 11:52:34.38ID:c/N8jVfb
ちょっと紛らわしいので一部訂正します。

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

x hnsecs==0 のときにこのパターンが
o msecs==123, usecs=456, hnsecs==0 のときにこのパターンが
301デフォルトの名無しさん
2015/11/27(金) 14:33:53.29ID:gmvL3Mcs
"年月日T114500.123456" == "年月日T114500.1234560"じゃないの?
302デフォルトの名無しさん
2015/11/27(金) 15:13:20.37ID:c/N8jVfb
なるほど小数点以下だから末尾の0は除かれるんですね。
7桁だと思って決め打ちしない方が良いですね。
303デフォルトの名無しさん
2015/11/27(金) 15:16:44.79ID:c/N8jVfb
Duration d = hoge - fuga;
d.total!"msecs", d.total!"usecs", d.total!"hnsecs" を使うことにします。
304デフォルトの名無しさん
2015/11/28(土) 10:52:50.96ID:BU0Z8dtz
python の __getattr__
ruby の method_missing
javascript の __noSuchMethod__
みたいなものを期待して
D で同じようなものが有るかどうか検索したら
http://forum.dlang.org/post/op.usipp0mij5j59l@my-tomato
というやりとりが見つかりました
そこのサンプルをコンパイルしようとしたのですがエラーになります
D で opDotExp ってどう使うんですか?
305デフォルトの名無しさん
2015/11/28(土) 11:37:36.45ID:3W8Apw0w
opDispatch()

ただし型のコントロールは引数とか名前付けとか工夫して自前で面倒を見る必要がある
306デフォルトの名無しさん
2015/11/28(土) 17:00:55.36ID:OpEOTh0X
ないですね
307デフォルトの名無しさん
2015/11/29(日) 18:45:48.60ID:DyLnKIJJ
import std.stdio;

class Hoge {
void opDispatch(string s)() {
308デフォルトの名無しさん
2015/11/30(月) 20:34:23.05ID:SJumDZBl
有賀d
309デフォルトの名無しさん
2015/11/30(月) 20:43:06.11ID:SiMJvgO4
IDispatch で
auto xl = Dispatch("Excel.Application");
xl.Visible = true;
auto workbooks = xl.Workbooks;
まではうまく逝くのに
auto book = workbooks.Add();
で Access Violation してしまう
何が間違ってるんだろう
310デフォルトの名無しさん
2015/12/01(火) 02:22:06.91ID:Zh0/OJc/
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()はリストに追加しますよってメソッドじゃね?
311デフォルトの名無しさん
2015/12/01(火) 08:39:45.47ID:yW8K+bhB
Add がデフォルト引数を持ってるけど引数明示したらどうなるかな
ぐぐったら xlFileFormat 列挙型 とか出てくる
312デフォルトの名無しさん
2015/12/01(火) 20:10:30.52ID:9BYkXgQy
a.unknownproperty = hoge;
みたいなのも opDispatch!"unknownproperty"(Args args...) で書けますか?
313デフォルトの名無しさん
2015/12/01(火) 23:55:05.63ID:LyUKVfDv
http://dpaste.dzfl.pl/1d06a7cd8d37
こういうこと?
314デフォルトの名無しさん
2015/12/02(水) 04:01:42.11ID:53wnCEvY
ちょっと違う気がしますが
なんとなく方向性はわかりました
315デフォルトの名無しさん
2015/12/02(水) 05:34:41.55ID:53wnCEvY
さっきから変な現象になりました
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 のブラックリストに登録されちゃってるんですか?ω
それともうちだけですか?
316デフォルトの名無しさん
2015/12/02(水) 05:39:16.56ID:53wnCEvY
opDis_patch.exe もだめです
名前変えるだけで動かなくなります orz
317デフォルトの名無しさん
2015/12/02(水) 06:03:46.07ID:J+Rb91dQ
UACのインストーラ自動判定によるものだね
http://sceneryandfish.withnotes.net/?p=1632
318デフォルトの名無しさん
2015/12/02(水) 08:37:40.95ID:nn4vPBry
実行ファイル名で必要権限が変わるという余計なお世話なアレか
319デフォルトの名無しさん
2015/12/02(水) 19:11:19.07ID:7L3lrCLQ
>>317
横からですがありがとう
320デフォルトの名無しさん
2015/12/03(木) 01:03:51.80ID:8SmBlBH8
Dのenumってどうなってんの?
名前付きだけA.B.Aとかできるのがわけわからん
http://dpaste.dzfl.pl/99ffb64db405
321デフォルトの名無しさん
2015/12/03(木) 01:25:39.08ID:y1qNQeGi
名前付きenumが普通に想像するようなenum
名前なしenumは常時インライン展開されてデータセクションに出力されないconstもどき、じゃなかったっけ

その上で 型.メンバ の形で使えるプロパティは 変数(定数).メンバ の形でも使えるというだけのような気がする
322デフォルトの名無しさん
2015/12/03(木) 01:51:22.50ID:2XsySS+x
>>321
なるほど、(名前付き)enumが型という認識が不足してたのか
それなら各要素自体はprivateじゃないからアクセスもできて当然なのかな
ありがとう
323デフォルトの名無しさん
2015/12/04(金) 09:37:05.62ID:prxSfFNA
auto hoge(T...)(T args){ return args[0] ; }
みたいな関数があるとき

呼び出し側で
auto fuga = hoge();
で呼ばれたか
auto fuga = hoge;
で呼ばれたか
どちらなのかを呼ばれた側で区別出来ますか?
324デフォルトの名無しさん
2015/12/04(金) 11:41:34.38ID:qnfnKzej
たぶん無理
それにその辺りの仕様はふらついているので
今の仕様で組んでも後でダメになる可能性がある
325デフォルトの名無しさん
2015/12/04(金) 15:12:03.13ID:prxSfFNA
call と get と set を実装して dispatch する目論見だったんですが
PyObject だと get と call の区別が微妙なんです
326デフォルトの名無しさん
2015/12/04(金) 15:29:35.37ID:eLJR6e6w
DWT(https://github.com/d-widget-toolkit/dwt)を試しているのですが
Drag and Drop のサンプル(snippetxx.d)が全く見つからないので
SWT(http://www.eclipse.org/swt/snippets/#dnd)を取ってきて試すも
cannot cast expression event.data of type object.Object to string
のコンパイルエラー、cast じゃダメなので何がしかの変換が必要らしい

で、DWT の Drag and Drop はこんな感じで
動かしてるよ〜という情報をお持ちの方おしえてくださいませm(_ _)m
327デフォルトの名無しさん
2015/12/04(金) 16:03:35.97ID:u0bQfuw3
ここはみた?
https://github.com/d-widget-toolkit/org.eclipse.swt.win32.win32.x86/tree/master/src/org/eclipse/swt/dnd
328デフォルトの名無しさん
2015/12/04(金) 18:01:46.27ID:5R2qZuA/
2.069.2でDelimited Strings内にASCII以外があると怒られるよぅ
q"EOS
日本語 ← Error: character 0xa5 is not a valid token
EOS"
329デフォルトの名無しさん
2015/12/04(金) 18:39:04.25ID:qnfnKzej
2.069の文字列処理で日本語入ってるときの挙動が変わって往生した
330デフォルトの名無しさん
2015/12/05(土) 11:43:03.20ID:pK0sc289
>>324
とりあえず呼び出し側で
auto fuga = hoge.unknownmethodcall([]);

auto fuga = hoge.unknownproperty;
で区別することにしたらうまく別けられました
ところが今度は
hoge.unknownproperty = hage;
で代入しようと hoge class 内で
void opDispatch(string propertyname, T)(T arg){
}
と setter を定義したのですが
hoge.unknownmethodcall([]);
の方まで setter に奪われるようになってしまいました
331デフォルトの名無しさん
2015/12/05(土) 23:07:38.68ID:IGesALUR
getterのopDispatchの戻り値を構造体でラップするとか。
http://dpaste.dzfl.pl/e089dbd99093
332デフォルトの名無しさん
2015/12/06(日) 13:00:28.84ID:OHUYOsyJ
ああテンプレートで呼び分けるんじゃなくて
全部まとめて一ヶ所で受けて if で分けるんですね
参考になります
ありがとうございます
333デフォルトの名無しさん
2015/12/07(月) 22:12:53.36ID:yUJmRPdi
import std.process;
で pipeProcess とか spawnProcess とか使えるのは判ったのですが
windows で win32api の CreateProcessAsUser とか CreateProcessWithLogonW
に相当することが実行可能なモジュールはありますか?
334デフォルトの名無しさん
2015/12/07(月) 22:30:26.17ID:ka6hrItk
標準では最低限のAPIしかないので
自分でポーティングするか拾ってくるかしましょう
335デフォルトの名無しさん
2015/12/07(月) 22:42:24.23ID:yUJmRPdi
thx!
336デフォルトの名無しさん
2015/12/09(水) 01:01:38.90ID:Iqk5klbT
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++から呼び出すことが、
それぞれできたのですが、とてもまともな解決策とは思えません。
どうすべきでしょうか。
337デフォルトの名無しさん
2015/12/09(水) 06:33:38.56ID:wRgo2YTq
クソして寝ればいいと思うよ
338デフォルトの名無しさん
2015/12/09(水) 09:39:07.56ID:3EPxHLPC
7zip
http://www.kmonos.net/alang/wnd/topics/winapi.ja.html
ここの最後
339デフォルトの名無しさん
2015/12/09(水) 10:05:46.43ID:IXqPU77s
winじゃなくてlinuxでやりたいみたいよ
一晩寝たら 空のデストラクタなんていらなかったんや
って気づくかもしれない
340336
2015/12/09(水) 18:59:13.67ID:bSTrBSEY
>>337-339 クソして寝ましたが、仮に空(とはいえvirtual)のデストラクタがまるで無意味だったとしても、
bindingの体をとっているのでp7zip側のコードを変えるのはちょっと。
むしろvtblのズレが336程度の単純さならばソレで行くかと。
気になるのはDから呼ぶ場合とC++から呼ぶ場合の非対称性ですが、こういうもんなんですか?
341デフォルトの名無しさん
2015/12/09(水) 19:32:29.57ID:sRhtlXMa
C++ネイティブの呼び出しっていつから「ちゃんと」できるようになったんですか?(小声)
342336
2015/12/09(水) 20:30:12.63ID:bSTrBSEY
あ、非対称っていうのは勘違いだったかもごめ。
http://dpaste.dzfl.pl/4e7956f36a47
これで解決や!どうもありがとう!
>>341 WindowsでCOMを使った7zipのbindingはもっとすんなりいきましたよ。
343デフォルトの名無しさん
2015/12/10(木) 12:53:37.73ID:gg94mj0B
Dで書かれた2chブラウザって何かあったっけ
344デフォルトの名無しさん
2015/12/11(金) 10:36:51.24ID:Q/bqtNpc
振りかな?
345デフォルトの名無しさん
2015/12/11(金) 11:05:46.98ID:DzIPXkfp
http://qiita.com/advent-calendar/2015/dlang
Advent Calendar 2015
まだ若干の空席がございます
346デフォルトの名無しさん
2015/12/11(金) 16:50:35.23ID:W1u3sjBk
http://qiita.com/advent-calendar/2015/d-man
こっちのほうが盛り上がってる感じでちょっと笑う
347名無しさん@そうだ選挙に行こう
2015/12/14(月) 11:06:28.62ID:baKxaSGv
自分のクラス(Fuga)を定義していて string へ変換するときに
Fuga f("hage");
string hoge = f;
みたいな書き方をしたいのですが
どんなメソッドを作っておけば良いのですか?
348名無しさん@そうだ選挙に行こう
2015/12/14(月) 11:07:18.65ID:baKxaSGv
Fuga f = new Fuga("hage");
string hoge = f;
です
349名無しさん@そうだ選挙に行こう
2015/12/14(月) 14:25:36.75ID:ilKRKXII
class Fuga {
private string s_;
this(string s) { s_ = s; }
alias s_ this;
}
350名無しさん@そうだ選挙に行こう
2015/12/14(月) 14:30:09.48ID:baKxaSGv
alias s_ this; とは驚きですが

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

条件後出しですみません
351名無しさん@そうだ選挙に行こう
2015/12/14(月) 14:33:32.26ID:baKxaSGv
ちなみに

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

という意味です
これも alias だけで出来てしまうんでしょうか?
352名無しさん@そうだ選挙に行こう
2015/12/14(月) 15:09:08.43ID:2JSVZtRY
そういうのはたいてい変数に移して終わりじゃなくて、その先があるでしょ
例えば関数に渡すならその関数をテンプレートでうまくまとめるのが D流
単に出力するだけなら writeln(f)
353名無しさん@そうだ選挙に行こう
2015/12/14(月) 17:11:34.59ID:reTGASBb
ここを参考に
http://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 するときも結果が違うのは何故でしょうか?
(ただし表示は違うのですが同じファイルが対象になってちゃんと動作します)
354名無しさん@そうだ選挙に行こう
2015/12/14(月) 17:23:00.56ID:reTGASBb
文字化けしてるので補足

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

2 鷗外

3 ��る

がそれぞれ環境依存文字です
この辺が関係ありそうなのですが fromMBSz のバグなのか何なのかよく判りませんでした
https://msdn.microsoft.com/ja-jp/library/cc419800.aspx
http://download.microsoft.com/download/B/0/9/B09F266D-8D54-4476-A3EC-E974CA5F61F8/BS_303.pdf
355デフォルトの名無しさん
2015/12/14(月) 21:06:28.36ID:uspa+zNB
>>351
Multiple AliasThisを使えば可能
もちろんコンストラクタ内で変換して保持とかする必要はあるけど



……なので実装されるのを楽しみに待っててくれよな!
356デフォルトの名無しさん
2015/12/15(火) 04:33:41.61ID:iPeNyqfl
>>353 SHIFT-JISに含まれてない文字だから仕方ないとおもわれ。
DragQueryFileAの方ではかわりに 63(ASCIIのハテナマーク)が送られてきてる。
A付関数のことなんて早く忘れるんだ!
357デフォルトの名無しさん
2015/12/15(火) 09:35:34.07ID:GmzcEDm2
string valueOf(){ return s_; }
int valueOf(){ return to!int(s_); }
alias valueOf this;
358デフォルトの名無しさん
2015/12/15(火) 09:37:35.44ID:GmzcEDm2
>>356
不思議なのは *A バージョンの方でも正常に動作してるって所なんだよね
359デフォルトの名無しさん
2015/12/15(火) 09:57:14.35ID:ax++RPg4
上は Utf16->Utf8->SJIS で余計な変換してるからじゃないの
360デフォルトの名無しさん
2015/12/18(金) 01:01:03.51ID:fYXmJuMp
>>358
A版の内部処理でことごとく文字化けしてるから
文字化けしたファイル名がマッチするせい
361デフォルトの名無しさん
2015/12/18(金) 17:04:11.83ID:mbvyIjbK
>>360
わたしもそう思ったんですが
出来上がった hoge.7z ファイルの中の
ファイル名は文字化けしておらず正常なんです
362デフォルトの名無しさん
2015/12/20(日) 01:09:48.99ID:VpDH1DV/
>>361
?が1文字マッチのワイルドカードってのは関係してない?
363デフォルトの名無しさん
2015/12/20(日) 11:01:49.72ID:8RLYRFXT
>>357
出来ました
ありがとうございます
364デフォルトの名無しさん
2015/12/20(日) 17:10:30.71ID:uT5SbDNR
あれ、戻り値だけ違う関数ってオーバーロードできたっけ?
365デフォルトの名無しさん
2015/12/21(月) 12:10:28.67ID:ayhLnjzU
宣言はできるけど使えない
左辺値から型推論とかしてくれると嬉しいんだけどね
366デフォルトの名無しさん
2015/12/21(月) 14:13:11.66ID:1HvlxK+M
T valueOf(T)(){ return to!T(s_); }
これもうまくいかんな
367デフォルトの名無しさん
2015/12/22(火) 23:01:04.25ID:RP62Thfp
明示cast必須になるけど
T opCast(T)(){ return s_.to!T; }
368デフォルトの名無しさん
2015/12/23(水) 08:52:41.01ID:2F8TsTF+
alias hoge this; しなくてよくなるからありがたいね
369デフォルトの名無しさん
2015/12/23(水) 10:13:41.06ID:1VnhNGH+
明示的キャスト滅すべし
370デフォルトの名無しさん
2015/12/26(土) 10:10:16.02ID:PvF8tuZ2
みなさん良いお年を
371デフォルトの名無しさん
2015/12/26(土) 12:41:22.97ID:yhjxl89x
D言語話題ないの?
372デフォルトの名無しさん
2015/12/26(土) 13:55:49.41ID:Y1V4v3Og
Advent Calendar面白かったよ。
書いた人たち乙です。
373デフォルトの名無しさん
2015/12/26(土) 17:44:23.06ID:OqNeHPOm
冬休み中にAdventCalendarゆっくり読む
楽しみだなあ。書いた人たち乙〜。
374デフォルトの名無しさん
2015/12/27(日) 16:08:22.48ID:xwOrDqSJ
Voting For std.experimental.ndslice
http://forum.dlang.org/thread/[email protected]

そろそろ投票終わり
375デフォルトの名無しさん
2016/01/04(月) 12:10:44.32ID:bFE828K2
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の方が初めてのプログラミングには良いと思うんだがなぁ
376デフォルトの名無しさん
2016/01/04(月) 18:59:05.97ID:uh/Y4MEw
BASICは害悪
377デフォルトの名無しさん
2016/01/04(月) 19:11:18.78ID:SQWKaGiq
まあ妥当と思う。Basicって括りがざっぱだけど、
(N-88とかそういう)BASIC → まあやらんでええやろ。行番号とか。ねえ?
VB → PowerShellが出てシリスボミ感がある。
Python → 個人的にはtkinterの存在がでかい。
JavaScript → すぐ遊べる。すぐ自慢できる(←重要
あとは英才教育的な観点からならプログラミンとか?
378デフォルトの名無しさん
2016/01/05(火) 13:16:14.19ID:L7c5HugA
時代は Elixir ですよ
D でもいいけど
すぐ自慢できるのは Python だろ
379デフォルトの名無しさん
2016/01/05(火) 13:36:42.75ID:Woj1scU2
インデントを間違えて恥をかくのが Python
380デフォルトの名無しさん
2016/01/05(火) 22:00:16.80ID:aZwzN0+G
BASICといったらbload
381デフォルトの名無しさん
2016/01/14(木) 17:59:53.06ID:vRAUMBFP
std.experimental.yesnogc
http://forum.dlang.org/post/[email protected]

おなまえ募集
382デフォルトの名無しさん
2016/01/15(金) 15:37:05.03ID:2/bjUIYj
std.experimental.yeslolitanotouch
383デフォルトの名無しさん
2016/01/16(土) 10:21:44.91ID:CPZavs1f
64bitのWin32対応DLL作りたいんだけど?
384デフォルトの名無しさん
2016/01/16(土) 15:12:02.78ID:CPZavs1f
それぞれ微妙に主張が違う気がす
https://gist.github.com/repeatedly/2470712
https://dlang.org/dmd-windows.html (-m64)
http://wiki.dlang.org/Installing_DMD_on_64-bit_Windows_7_(COFF-compatible)
http://www.ku6.jp/report/65.html
http://stackoverflow.com/questions/2376816/how-well-does-d-support-64-bit
385デフォルトの名無しさん
2016/01/16(土) 15:55:41.85ID:qeKxK5Cv
>>383
http://wiki.dlang.org/Win32_DLLs_in_D
ここのmydll.dの64bit版なら
dmd -m64 -shared
386デフォルトの名無しさん
2016/01/16(土) 15:57:39.55ID:qeKxK5Cv
あれ途中で切れた。
dmd -m64 -shared mydll.d dll.d mydll.def
387デフォルトの名無しさん
2016/01/16(土) 16:12:25.40ID:qeKxK5Cv
>>384 それぞれ書かれた時期が違うんじゃまいか
388デフォルトの名無しさん
2016/01/16(土) 16:31:09.62ID:eTAXMCcj
DMD で単純な x64 バイナリを作るところまでは行けてるんでしょ?
Win32 DLL も作れるんでしょ?
x64 で Win32 App と結合できるかって話でしょ?
出来ないと思うけど
389デフォルトの名無しさん
2016/01/16(土) 18:04:51.96ID:w507ceUH
ブリッジ役のDLLも用意して64<-->32間をプロセス間通信でうんたらかんたら
390デフォルトの名無しさん
2016/01/22(金) 17:45:10.29ID:tiw7VxmH
>>336
> DのIUnknownの宣言のReleaseの後にダミーのメソッドを、
> ・2個追加することでC++で実装されたinterfaceをDから呼び出すことが、
> ・1個追加することでDで実装されたinterfaceをC++から呼び出すことが、
> それぞれできたのですが、とてもまともな解決策とは思えません。

https://issues.dlang.org/show_bug.cgi?id=15589#comment_text_0
やっぱりダミーを追加するしかないらしい
391336
2016/01/22(金) 20:16:27.79ID:6NMzASC5
わぁ!どうもありがとう!まだ書きかけ&お粗末ですが、その時の成果物です。
https://github.com/garlic-flavor/D7z
ツッコミ/プルリクお待ちしております。m(_ _)m
392デフォルトの名無しさん
2016/01/22(金) 22:46:33.96ID:ph7VTr94
いつのまにか公式が改装してた
なんかすごくプログラミング言語の公式ページっぽい
393デフォルトの名無しさん
2016/01/25(月) 22:17:17.47ID:bhSAv5/D
/r/programming 見てるとほぼ毎日Dの記事があって、ついに時代がきたか感がある
394デフォルトの名無しさん
2016/01/27(水) 00:28:20.96ID:KSmE0N2z
scope(exit)はスコープ抜けるときに実行されるけどさ、
呼び出し元のスコープ抜けるときに実行されるような処理を書く方法って存在しないのかな

例えば
foo(){
  hoge();
}
で、hoge()の定義内に書いてfoo()の最後に実行されるようなやつ
395デフォルトの名無しさん
2016/01/27(水) 00:56:43.14ID:0fSZRkm9
そんなんバグの地雷原やがな
396デフォルトの名無しさん
2016/01/27(水) 01:33:09.39ID:EmUF4YzU
部品化の概念を否定するその硬派な姿勢、俺は評価するよ
397デフォルトの名無しさん
2016/01/27(水) 01:46:23.73ID:KSmE0N2z
事故解決。mixinという道具があったではないか
398デフォルトの名無しさん
2016/01/27(水) 05:55:19.47ID:mt1RyfFz
>>394-396
scoped型をhogeが返せばいいんじゃね、って思ったけど
もうscoped型って無くなったんだっけ?
399デフォルトの名無しさん
2016/01/27(水) 09:42:58.44ID:PS/Qpp4W
呼び出し元で scope(exit)
400デフォルトの名無しさん
2016/01/27(水) 23:58:59.71ID:W8pZv3Sr
std.datetime.measureTime がそんなんだったような。
401デフォルトの名無しさん
2016/01/28(木) 12:36:28.83ID:U7RHxiIq
2.070
402デフォルトの名無しさん
2016/01/28(木) 15:55:14.52ID:AP1O7sAh
もう2.070か早い
403デフォルトの名無しさん
2016/01/28(木) 23:48:56.81ID:tnawcIV/
core.sys.windowsのナカミがおきかわっとるー\(・∀・)/
404デフォルトの名無しさん
2016/01/29(金) 00:16:04.81ID:iqnom6tW
>>328 なおった!
405デフォルトの名無しさん
2016/02/01(月) 11:49:31.71ID:C4njzqYk
もしかしてdmcって64bitのコンパイルオプションないの?
406デフォルトの名無しさん
2016/02/01(月) 12:03:33.19ID:gmWomOLn
ないっしょ
16bit ならまだあるかもしれない
それに optlink まで含めると 32 ですら騙し騙し使ってる状況
407デフォルトの名無しさん
2016/02/02(火) 23:16:29.97ID:N0vbs9wX
今さらだけどD用のお勧めのGUIライブラリある?
マルチプラットフォームで。
408デフォルトの名無しさん
2016/02/03(水) 11:18:15.33ID:Drvvyslw
>>407
お勧めはDWT
対抗はDlangUI

DWT http://qiita.com/sfujita/items/18bd56ae505c4b3de7b3
DlangUI http://qiita.com/namachan10777/items/5a792bc1ac93ce1ccb1c
409デフォルトの名無しさん
2016/02/03(水) 12:53:31.69ID:5/pxQ4tU
wxD
410デフォルトの名無しさん
2016/02/03(水) 13:07:25.53ID:uEOUJl1K
自分でメンテする気があれば正直どれでもいいし
そうじゃなければ D でGUIなんて考えないほうがいい
411デフォルトの名無しさん
2016/02/03(水) 15:13:27.73ID:IpVTmFVK
LDCからEmscripten通してHTML5にでも変換したほうがいいんじゃない?(適当)
412デフォルトの名無しさん
2016/02/03(水) 15:49:20.75ID:5/pxQ4tU
時代は io.js + Electron ですねわかります
413デフォルトの名無しさん
2016/02/03(水) 19:08:22.05ID:JdStCQ++
ぜんぜんわからない

D普及のために、できるだけわかりやすく情報を提供してください。切に望みます
414デフォルトの名無しさん
2016/02/03(水) 19:10:01.79ID:JdStCQ++
Cのインタフェースがていきょうされていれば、利用できる
これが鍵なんだろうけど、初心者むけではない
415デフォルトの名無しさん
2016/02/03(水) 19:11:50.36ID:JdStCQ++
DWTは、マルチプラットフォームではないのでは?
416デフォルトの名無しさん
2016/02/03(水) 19:15:47.11ID:JdStCQ++
わからんわからんわからんわからんわからんわからんわからんわからん
417デフォルトの名無しさん
2016/02/03(水) 20:44:42.00ID:NLGo/bvc
自分は何がしたいのか、何ができなかったのか
情報がなければ答えようもなかろう
418デフォルトの名無しさん
2016/02/03(水) 23:06:56.80ID:mzIeyrY+
わからんわからんわからんわからんわからん
419デフォルトの名無しさん
2016/02/04(木) 01:50:12.30ID:jp6x7PMB
>>408
DlangUI、結構良さそう
使ったことある人いたら感想聞きたい
420デフォルトの名無しさん
2016/02/04(木) 15:18:46.80ID:wiwVjChn
>>408
dクス
やっぱDWTが定番かー
DlangUI、最初のmixinが美しくないなぁ・・・・・・(笑)

>>409
あれ、Dの利点あんまりないですやん><
421デフォルトの名無しさん
2016/02/04(木) 17:17:07.59ID:ob+62gtm
DでwrapしたPythonObjectでwxPython使ったら意外と便利だったな
422デフォルトの名無しさん
2016/02/05(金) 19:27:30.79ID:HabP63UN
DFLがマルチプラットフォームになれば文句ないんだがなぁ
423デフォルトの名無しさん
2016/02/05(金) 21:20:24.44ID:hmTKeVMY
どうしてもマルチプラットフォームが必要なら
HTML5 でどうにかする方が現実的
424デフォルトの名無しさん
2016/02/06(土) 20:54:27.15ID:2Uy/PFwr
もう仕様固まってきて大きな動きないのにサードパーティのライブラリが整備されないのは
Dが今まで積んできた業かな
425デフォルトの名無しさん
2016/02/07(日) 18:20:11.44ID:eIUfmNby
これからに期待します
426デフォルトの名無しさん
2016/02/08(月) 17:21:11.18ID:LpGg46bP
Oh my
427デフォルトの名無しさん
2016/02/08(月) 18:04:50.88ID:M0j0fnEJ
Oh my D-lang, Oh my D-lang,
Oh my D-lang Clementine.
428デフォルトの名無しさん
2016/02/13(土) 18:13:48.32ID:tVuFpQtK
単にユーザが少ないんじゃね
429デフォルトの名無しさん
2016/02/13(土) 20:34:35.13ID:OlzkmTVA
ライブラリが整備されないのはなぜ? ユーザーが少ないから
ユーザーが少ないのはなぜ? ライブラリが整備されないから
430デフォルトの名無しさん
2016/02/13(土) 20:41:50.43ID:tVuFpQtK
パワフルなユーザが少ないのかな……うん
431デフォルトの名無しさん
2016/02/15(月) 18:05:56.16ID:+caJiYS4
コンパイル時にテキスト読み込んでさ、
行数の数だけ文字列mixinして関数作りたいんだけど
任意回数の文字列ミックスインのループってどう書くんだろう・・・・・・。
432デフォルトの名無しさん
2016/02/15(月) 18:13:18.59ID:TvNTryet
仕様変更しすぎたな
433デフォルトの名無しさん
2016/02/15(月) 18:53:15.56ID:8Os0TVn8
>>431
先に文字列加工して最後にまとめてミックスイン出来ないのん?
434デフォルトの名無しさん
2016/02/15(月) 19:14:52.44ID:Dah95cUu
LDC 0.17リリースおめでとう。

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

本家に追いつくまであと少し。
435デフォルトの名無しさん
2016/02/15(月) 19:20:06.77ID:8Os0TVn8
本家に追いつくのは無理だから mingw で動くように戻しておくれ
436デフォルトの名無しさん
2016/02/15(月) 20:48:59.61ID:RiiAF+b/
ここ1, 2年くらい大した仕様変更ないような
437デフォルトの名無しさん
2016/02/15(月) 21:17:10.53ID:NUVEFX4y
>>436
過去に仕様変更し過ぎたせいでD言語=仕様変更っていう認識が一般に広まったせいじゃね?
438デフォルトの名無しさん
2016/02/15(月) 22:47:40.09ID:obZmlxnC
>>431
mixin template loop(string s,r...){mixin(s); mixin loop!(r);}
mixin template loop(string s){mixin(s);}
439デフォルトの名無しさん
2016/02/16(火) 16:56:10.74ID:qagv5yy3
信用は一度失うと取り戻すのは困難ってことさね

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

よし!あとはまかせたぞ!
440デフォルトの名無しさん
2016/02/18(木) 12:23:28.05ID:S96kZ0X7
もう Julia でいいような気がしてきた
手遅れかもな
441デフォルトの名無しさん
2016/02/19(金) 13:09:30.63ID:Ap7HgcUx
http://www.tiobe.com/index.php/tiobe_index
少し人気出てきた
442デフォルトの名無しさん
2016/02/19(金) 13:59:24.31ID:hw/X0Y/j
簡単過ぎて調べなくても判ってしまう言語だと人気が無いことになるな
443デフォルトの名無しさん
2016/02/19(金) 18:48:50.77ID:3Pzm9drf
D言語って名前のイメージが悪くなっちゃってるからD++とかに変えよう
444デフォルトの名無しさん
2016/02/19(金) 20:15:44.55ID:unMO5CFj
求められているのは D-
445デフォルトの名無しさん
2016/02/20(土) 14:46:25.61ID:X13YwWkx
マイナスなんか要らないわ
446デフォルトの名無しさん
2016/02/20(土) 16:07:27.61ID:WzAGBuRR
D#
447デフォルトの名無しさん
2016/02/21(日) 10:34:55.98ID:zmvsu5mb
>>440
exeはnativeなDの足元にも及ばない
448デフォルトの名無しさん
2016/02/21(日) 22:57:01.53ID:satROU6m
D未満はおっぱいと呼ばない
449デフォルトの名無しさん
2016/02/22(月) 02:56:00.48ID:gsexe38f
D†
450デフォルトの名無しさん
2016/02/22(月) 12:16:25.94ID:Y1bHL8fN
D<0
451デフォルトの名無しさん
2016/02/27(土) 03:16:45.72ID:GUJ5wO/X
iota(-10,1)やrecurrence!(q{ -n })(0)がintになるのに
sequence!(q{ -n })だけuintで負の値を使えないんですがこれって何か理由があるんですかね?
452デフォルトの名無しさん
2016/02/29(月) 00:18:12.07ID:zsA7yhFD
>>451 ソース見た感じ、
recurrence!(q{-n})(0) は 0 の型とってる→int
sequence!(q{-n}) は -n の型とってる、ここで n の型は size_t → size_t
ってことみたい。
453デフォルトの名無しさん
2016/02/29(月) 07:53:56.99ID:9aTNra24
 alias compute = binaryFun!(fun, "a", "n");
 alias ElementType = typeof(compute(State.init, cast(size_t) 1));
で、nにcast(size_t)1を入れてsize_tになってるんですね
単に気になっただけなんですけど
454デフォルトの名無しさん
2016/02/29(月) 15:44:30.93ID:iGEmA67j
配列の中の最大値を探すときって普通どうやるんでしょうか

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

aliasSeqOf!arr.max.writeln; // 要std.metaなのと定数でないとダメ
arr.minPos!
455デフォルトの名無しさん
2016/02/29(月) 15:52:25.48ID:iGEmA67j
なんか途中で切れた
minPosとか使ってるんですが、しっくりこなくて
456デフォルトの名無しさん
2016/02/29(月) 16:26:00.44ID:VNz3PeoZ
>>454
std.algorithm使って関数型っぽく

arr.reduce!max.writeln;
457デフォルトの名無しさん
2016/02/29(月) 22:57:05.78ID:6Vt2kK/P
リデュースリユースリサイクル♪
458デフォルトの名無しさん
2016/03/01(火) 00:52:26.74ID:joyDtek2
LDC 1.0αでとる。
459デフォルトの名無しさん
2016/03/01(火) 21:04:14.81ID:s5WMaGjg
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でエラーが出るのはどういう理屈なんですか?
460デフォルトの名無しさん
2016/03/01(火) 21:12:38.53ID:oyuxQPKV
arr.lengthが右辺値を返すから?
461デフォルトの名無しさん
2016/03/01(火) 21:23:46.68ID:CYOvNsDD
out が付いてるなら当然としか
462デフォルトの名無しさん
2016/03/01(火) 21:26:20.10ID:CYOvNsDD
いや、ひょっとして length のセッターを呼んで欲しい…?
流石に無理なんじゃ
463459
2016/03/01(火) 22:02:04.13ID:s5WMaGjg
arr.length = 0とかできるから普通の変数と同じように考えてました。
hogeに渡す時に、ただの右辺値のuintとして評価されるってことですね。
464デフォルトの名無しさん
2016/03/01(火) 22:18:28.05ID:BG2OG/pG
できてもいいとは思うけどな
内部的には一時変数が作られるとかで
465デフォルトの名無しさん
2016/03/02(水) 03:05:50.56ID:S8FWiipj
もしlengthをいじりたいなら深く考えず
void nobasu(T)(ref T[] arr) {
 arr.length ++;
}
とかでいいんじゃ?
466459
2016/03/02(水) 21:10:33.37ID:Py15QFNz
lengthをいじりたいというより、out引数を持つ関数を使いたかったんですよね。
なのでこうしました。
uint lenght;
hoge(length);
arr.length = length;
467454
2016/03/07(月) 16:09:07.92ID:KpyO6Zd7
>>456
reduce!maxか!
遅くなりましたが、ありがとうございました。
468デフォルトの名無しさん
2016/03/07(月) 16:22:17.87ID:nbAKle/L
遅い、遅すぎる
時代は既に reduce から fold に変わろうとしているのに
469デフォルトの名無しさん
2016/03/07(月) 17:38:25.23ID:hzTv2Fg2
とはいえまだマージされただけでリリースはされてないし
内部でreduce使ってるから無くなることはないだろうけどな
470デフォルトの名無しさん
2016/03/07(月) 21:13:14.18ID:ZACCB8Ww
struct S { int[] arr; }
S s1;
...
S s2 = s1;

構造体のデフォのコピーコンストラクトを使った場合、メンバarrはシャローコピーされますよね?
ディープコピーしたい場合、コピーコンストラクタを書き換えるか、ディープコピー用のメンバ関数を書く方法が思いつきますけど、
もっと手軽な方法はないでしょうか?
471デフォルトの名無しさん
2016/03/07(月) 22:22:23.50ID:hzTv2Fg2
前者はpostblitを指してるんだと思うけど、すでに十分手軽じゃね?
this(this){arr=arr.dup;}

ところでマニュアルによればpostblitは初期化時の話らしいけど、代入時にも呼ばれるのは何故だ
472デフォルトの名無しさん
2016/03/07(月) 22:31:36.23ID:ZACCB8Ww
>>471
構造体なのでコピーコンストラクタじゃなくてpostblitでしたね。
this(this){arr=arr.dup;}を構造体ごとに書いていかないといけないのが面倒くさく感じました。
473デフォルトの名無しさん
2016/03/07(月) 22:49:33.64ID:hzTv2Fg2
>>472
つまり1回書くだけで全ての構造体に一括して適用されるような方法を期待してる?
さすがに無い気がするし、むしろあったら怖い
せいぜいmixinして文字数削る程度じゃね
474デフォルトの名無しさん
2016/03/08(火) 00:13:35.69ID:P+r5NzGC
>>473
自分で書くならtupleofとtraitでdupテンプレートを書いて
S s2 = s1.dup;
っていうのを思いつきました。
475デフォルトの名無しさん
2016/03/08(火) 00:30:29.31ID:y3RNmON1
>>474 実装してみた。
http://dpaste.dzfl.pl/0464d5f310e6
476デフォルトの名無しさん
2016/03/08(火) 00:43:55.17ID:P+r5NzGC
>>475
おお、仕事が速いですね。
477デフォルトの名無しさん
2016/03/12(土) 05:14:08.80ID:/9wKb/bF
>>433
今更だけどありがとう、
そんなアタリマエのことを全然思いつかなかったw
CTFEすげー(今更)
478デフォルトの名無しさん
2016/03/15(火) 00:58:06.47ID:sgjiEx6Z
VS2013とLDCでビルドしたら、
LINK : fatal error LNK1104: cannot open file 'legacy_stdio_definitions.lib'
というエラーが出たんですけど、原因は何が考えられますか?
479片山博文MZ ◆T6xkBnTXz7B0
2016/03/15(火) 01:02:28.11ID:zLB+iwEH
>>478
読み込むライブラリの場所の指定がおかしい
480デフォルトの名無しさん
2016/03/15(火) 02:36:06.05ID:sgjiEx6Z
>>479
うーん、わからないです。
legacy_stdio_definitions.libがHDDの中にないし、ぐぐってもなんなのかよくわからない。
481デフォルトの名無しさん
2016/03/15(火) 07:36:35.68ID:vxrFHeSb
>>478
デフォルトは VS2015 の設定だから
etc/ldc2.conf の該当行 を書き換えてくれってどっかに書いてあった

"-Llegacy_stdio_definitions.lib" とその前の行のカンマを消せばいい
482デフォルトの名無しさん
2016/03/15(火) 15:54:15.40ID:sgjiEx6Z
>>481
ldc.confにlegacy_stdio_definitions.libはありませんでした。

色々、調べてて気づいたんですけど、LDCを使うにはLLVMもインストールしないといけないですか?
LLVMのバイナリは公開されていないみたいだし、ビルドしないといけないとなると面倒ですね。
日本語の解説サイトもなさそうだし難易度が高い。
483デフォルトの名無しさん
2016/03/15(火) 19:09:38.41ID:vxrFHeSb
忘れてた VS2015 以外のバージョンで動かすには
LDC をその設定で再構築してくれと書いてあった
今探してもどこだったか見当たらないけど…

たぶん VS2015 入れるのが一番簡単
484デフォルトの名無しさん
2016/03/15(火) 22:12:49.10ID:sgjiEx6Z
>>483
なるほど・・・VS2015なら簡単でしたか。
485デフォルトの名無しさん
2016/03/18(金) 15:04:55.64ID:adG1WSEK
D言語でGCが動かなせない環境(組み込み環境)で
クラスを使ったコードを走らせるために手動でメモリ管理をする(配置new)
みたいなC++的な使い方できますのん?

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

Dでこの望みは叶えられる?
GCが完璧な言語で何を言ってるんだって話だけど
C言語とABI互換バイナリが吐ける言語でかつ、きれいな構文のDはかなり魅力だから、つい。
486デフォルトの名無しさん
2016/03/19(土) 16:14:28.14ID:fGh+hC5f
>>485
Cにポインタ渡すのにこんなんつかってます。
http://dpaste.dzfl.pl/1d143cf043f4
487デフォルトの名無しさん
2016/03/19(土) 16:46:55.65ID:pnhuGA3J
>>486
あざます!!!!
ちとググってみましたけど
WikiにExplicit Class Instance Allocationっておもいっきり書いてありました・・・

手元の環境でもそれ書いたら動いたので
組み込み先の環境でもコレができるか試してみます!
488デフォルトの名無しさん
2016/03/19(土) 17:36:21.89ID:emjvs9Sn
foldとかHaskellみたい
いいぞもっとやれ
実行時のパターンマッチとかどんどんやって
489デフォルトの名無しさん
2016/03/19(土) 17:51:51.55ID:szPk7uBU
パターンマッチは本当に欲しい
castSwitchは型で分岐するだけで不満が残る
ついでにAlgebraicもいい感じにしてほしい
490デフォルトの名無しさん
2016/03/19(土) 19:52:53.93ID:fGh+hC5f
Cライクな構文でパターンマッチをどう表現するか?
dropThree :: [a] -> [a]
dropThree (_:_:_:xs) = xs
dropThree _ = []
491デフォルトの名無しさん
2016/03/19(土) 21:01:17.80ID:vRfO35T6
C#だと、次のバージョンでパターンマッチ採用されるみたいね
https://github.com/dotnet/roslyn/blob/future/docs/features/patterns.md
492デフォルトの名無しさん
2016/03/19(土) 23:58:06.13ID:fGh+hC5f
>>491 を読んで、>>489 に必要なのは490ではなくて
if (auto a = cast(A)x) if (0 < a.b) {...}
の省略表記みたいのなのかなと思った。
493デフォルトの名無しさん
2016/03/20(日) 00:15:59.18ID:sW9GrChn
今試してて気づいた
if (auto a = 0 < (cast(A)x).b, cast(A)x) {...}
は通るんだね。キャスト2回いるけど。
494デフォルトの名無しさん
2016/03/20(日) 00:42:09.88ID:sW9GrChn
...と思ったけど違うな。バグ臭い。
http://dpaste.dzfl.pl/8e56a6c3d640
495デフォルトの名無しさん
2016/03/20(日) 01:02:17.46ID:sW9GrChn
あ、バグですらないや。結果を使わないからカンマの前半が評価されてないだけだ。
スレ汚しでしたorz
496489
2016/03/20(日) 04:59:55.44ID:270cchqR
>>492
考え直してみたら、俺が欲しいのは、クラス以外にも対応したcastSwitchと多重代入かなと思った
最初に欲しかったのは定数もパターンとして扱えるようなものだけど、それ自体は条件分岐で事足りる
497デフォルトの名無しさん
2016/03/21(月) 08:32:26.92ID:PBSyTjzr
さあ早く shibuyad とやらの潜入リポート作成に戻るんだ
498デフォルトの名無しさん
2016/03/22(火) 18:21:28.75ID:9L67FCyK
new int[][](10,10)
なんてあったんだな・・・今の今まで律儀にループしてたわ・・・
恥ずかしい
499デフォルトの名無しさん
2016/03/24(木) 06:29:39.15ID:JYtPWttv
レスポンシブなウェブページになってるね
https://dlang.org/
500デフォルトの名無しさん
2016/03/24(木) 18:45:07.21ID:dsBEx2Ez
まるで今時のプログラミング言語っぽいじゃないか!
501デフォルトの名無しさん
2016/03/26(土) 15:48:00.20ID:Hp90Cudb
未来の言語だろ
502デフォルトの名無しさん
2016/03/26(土) 18:28:21.07ID:ZDevVvUe
本来の言語
503デフォルトの名無しさん
2016/04/06(水) 16:38:36.98ID:goAIGnqr
2.071

deprecation特盛り一丁
504デフォルトの名無しさん
2016/04/17(日) 20:07:45.76ID:jaxl7tJu
Dってエルミート行列の固有値と固有ベクトルを下か上の三角行列から出してくれるライブラリある?
505デフォルトの名無しさん
2016/04/17(日) 23:05:34.24ID:Rgu4hbC0
知らないが、
「Cでそれ扱ってるライブラリ」→「Dのバインディング」の順番で探すと見つかるかもしれない。
506デフォルトの名無しさん
2016/04/18(月) 14:54:59.76ID:AtRZD2WH
そんな劣化バインディングの出てくる場面じゃないと思う

Dよお前の力はその程度かッ
507デフォルトの名無しさん
2016/04/18(月) 15:40:47.97ID:NxXedIF3
バインディングに劣化とそうじゃないものの区別方法を教えれ
508デフォルトの名無しさん
2016/04/18(月) 15:56:31.40ID:wndeF4nL
EUC-JPの文字列をUTF-8にエンコードするにはどうやればいいですか?
509デフォルトの名無しさん
2016/04/18(月) 16:29:48.39ID:4lmkHLOP
>>508
iconvかicuのバインディングを探します
510デフォルトの名無しさん
2016/04/18(月) 16:39:21.91ID:wndeF4nL
>>509
なるほど。
標準ではできないんですね。
511デフォルトの名無しさん
2016/04/18(月) 23:04:02.22ID:8LbOm6LB
>>506 複素数はがんばってほしいよね。Dに。
>>510 EUC-JPは滅んだんだよ!もうそういう事にしようよ!
512デフォルトの名無しさん
2016/04/19(火) 15:15:23.43ID:DoDYnfhi
EUC->(簡単)->JIS->(どのAPIがいい?)->UNICODE->(簡単)->UTF8
513デフォルトの名無しさん
2016/04/27(水) 10:07:10.53ID:h7nUlsO3
writeにクラスを渡した時クラス名だけじゃなくて中身も表示させたいんだが何に手を加えればいいんだろか?
514デフォルトの名無しさん
2016/04/27(水) 10:09:28.75ID:Nq/5t8Sv
toStringオーバーライドすればいい
515デフォルトの名無しさん
2016/04/27(水) 10:27:53.40ID:KQtnTftA
>>514
即座に返事くれてすごい助かった
ありがとうございます
516デフォルトの名無しさん
2016/04/30(土) 12:14:38.56ID:XHbnmWX8
D言語でクラスを使って dmd -c Dソース でコンパイルだけして
GCC(mingw)でWindows用dllをクロスコンパイルする時、リンカが参照できないエラー吐くけども

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

この参照できないメソッドが入ってるライブラリとその依存関係にあるライブラリって
どのファイルか分かります?
517デフォルトの名無しさん
2016/04/30(土) 12:48:14.66ID:RhLYi0Bf
そうやって混ぜてコンパイルするのは無理…で普通は済む問題なんだけど
何がしたいのかしら
518デフォルトの名無しさん
2016/04/30(土) 14:53:50.70ID:XHbnmWX8
>>517
https://github.com/kubasz/uefi-d
これを参考に、UEFI AppをD言語で作りたいんだけども、
クラスを使うとリンクエラーでてしまい と言う話で、>>516
やっぱり、Dのクラスの仕組み上、こういう変な使い方するのは厳しいかな
519デフォルトの名無しさん
2016/04/30(土) 16:19:04.96ID:FuZy8SxD
サンプルは再現出来てんの?
520デフォルトの名無しさん
2016/04/30(土) 17:06:09.96ID:XHbnmWX8
>>519
サンプル自体ビルドは通ってQEMUで動作確認済みです。

確認済みのサンプルソースに、追加で適当なクラス
(プリミティブ型(検証時はintのみ)のメンバ1つとコンストラクタ、セッタ、ゲッタのみ)とか
プリミティブ型(同上)メンバのみ構造体を定義すると
リンクしないといけない何かが足りなくなるらしいと言うところです
521デフォルトの名無しさん
2016/04/30(土) 17:18:34.76ID:RhLYi0Bf
それなら
-debug -release のオプションの不一致かな
druntime の debugあり/なし バージョンが分かれてるのかな
522デフォルトの名無しさん
2016/05/01(日) 11:23:20.12ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

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

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

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


The Covenant Project
概要

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

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

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

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
523デフォルトの名無しさん
2016/05/01(日) 12:30:45.52ID:5H9PV7Hp
年収いくら?
パナマに振り込み可能?
524デフォルトの名無しさん
2016/05/01(日) 14:08:25.32ID:vpP9ivFq
新規性がない
525デフォルトの名無しさん
2016/05/02(月) 12:22:10.19ID:IEVsN46J
>>521
とりあえず、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クラスの最小実装ってどうすればいいかわかります?
526デフォルトの名無しさん
2016/05/02(月) 15:11:51.74ID:aR8AOrvI
どつぼにそれてるパターン?
527デフォルトの名無しさん
2016/05/02(月) 17:55:15.75ID:IEVsN46J
ごめんなさい、話が飛んでた。(ドツボにはまってました)
>>516は一旦解決しました。ありがとうです。

-releaseオプションつけたら、一先ずassert関連の
リンクエラーは出なくなりました。
528デフォルトの名無しさん
2016/05/02(月) 18:01:06.10ID:aR8AOrvI
良かった
良かった
529デフォルトの名無しさん
2016/05/04(水) 16:57:34.57ID:3BQvrgH5
DConf 2016 ustream
https://www.sociomantic.com/blog/2016/05/follow-dconf-2016-in-real-time/#.VymqqVWLQ7Y

Twitter
#dconf
530デフォルトの名無しさん
2016/05/04(水) 18:15:35.48ID:cRuVDbfJ
GJ
531デフォルトの名無しさん
2016/05/05(木) 10:11:25.96ID:l/2+Jb+M
割とマジで
http://b.hatena.ne.jp/entry/togetter.com/li/970814
532デフォルトの名無しさん
2016/05/06(金) 20:12:27.55ID:7fiYERlP
Dって長方形配列を動的に確保するにはどうするのがベストなんでしょう?
533デフォルトの名無しさん
2016/05/06(金) 22:45:34.04ID:W1xQbJku
>>532
>>498
534デフォルトの名無しさん
2016/05/07(土) 12:22:21.49ID:w1sNmh/I
>>533
おお、この記法でギザギザ配列回避できるのか!ありがとうございます
535デフォルトの名無しさん
2016/05/08(日) 14:44:32.46ID:sTrGOFZo
多次元配列は最近こういうのもある
http://dlang.org/phobos/std_experimental_ndslice.html
536デフォルトの名無しさん
2016/05/12(木) 09:37:33.44ID:3GMYNf4t
>>535
これがまさに求めていたものだった
日本語のページではこれ全然見つからないし教えてくれなかったらこれに気付かず過ごすところだった
ありがとうございます!
537デフォルトの名無しさん
2016/05/12(木) 14:42:51.13ID:yoZypm21
d言語の日本語情報は古くて、結構アテにならない
538デフォルトの名無しさん
2016/05/12(木) 15:10:26.64ID:9ZRvi6Dg
それまだ入ってから半年も経ってないし
experimental な上に注目度高いからガンガン変わるよ
539デフォルトの名無しさん
2016/05/13(金) 09:27:38.80ID:XXFnZH8x
DerelictAllegro用のdllファイルがAllegro公式漁ってもみつからねぇ
いっそ同封してくれりゃいいのに
540デフォルトの名無しさん
2016/05/13(金) 10:05:11.23ID:+7L1Kkkt
公式配布のdllでダメなの?
541デフォルトの名無しさん
2016/05/14(土) 11:24:42.35ID:r8zKr16p
>>538
542デフォルトの名無しさん
2016/05/15(日) 12:10:35.85ID:5BLNb8Jh
dってpythonでやれるように関数の引数としてクラスをとることは出来ますか?
543デフォルトの名無しさん
2016/05/15(日) 13:23:09.57ID:0JYIjYbN
型と値は別物なので、Pythonのtypeクラスみたいなものは無いはず
テンプレートでは型を引数に取れるからそれで大概足りるしな
544デフォルトの名無しさん
2016/05/15(日) 13:26:52.30ID:/LAeaQVK
そのままのものはなくても
__traits/std.traits を隅々まで見るとだいたいのことは出来る
545デフォルトの名無しさん
2016/05/15(日) 16:23:19.03ID:5BLNb8Jh
なるほどdでは型を引数にしたかったらテンプレートを使うんですね
わかりましたありがとうございます
546デフォルトの名無しさん
2016/05/16(月) 18:01:26.97ID:SzBm3KOG
すいません、>>535のndsliceを包含したクラスでnumpyのように動的にshapeを変えられるクラスを作ることは可能でしょうか?
slicedの引数が動的配列ではいけないせいでスライスの形をメンバ変数として持てず、Sliceの次元がコンパイル時に決定されていないといけないせいでslicedの結果をメンバ変数として持てなくて困っております。
547デフォルトの名無しさん
2016/05/16(月) 20:47:31.03ID:1yYFRP5Q
>>546 同じインスタンスに対してshapeをかえるのはむりっぽいとおもわれ
決め打ちできる所までtemplate化していくしかないきがす
https://dpaste.dzfl.pl/32747b208179
548デフォルトの名無しさん
2016/05/17(火) 08:13:05.26ID:8mvnsosn
>>547
やっぱり無理でしたか……
コードの例まで載せてくれてありがとうございます。参考になりました
549デフォルトの名無しさん
2016/05/18(水) 07:28:31.57ID:tzs1T2aJ
テキストファイルをstringに読み込んでstd.string.indexOfを使うと
Invalid UTF sequence: e5x a3x - Attempted to decode past the end of string (at index 2)
という実行エラーが出ます。
テキストファイル自体は、TeraPadで開くとUTF-8として自動認識されているのですが、
D言語の標準ライブラリが認識してくれない原因は何が考えられますか?
550デフォルトの名無しさん
2016/05/18(水) 13:02:57.20ID:yAlr13Jm
エラーメッセージそのまま
文字列が中途半端なところで終わってる
読み込むサイズが足りないか、元々ファイルがおかしくてTeraPadが開く時に自動で直してくれてるのか
551デフォルトの名無しさん
2016/05/18(水) 13:51:37.18ID:tzs1T2aJ
>>550
thx
コードの中に、文字列が中途半端に終わってる部分がありました。
552デフォルトの名無しさん
2016/05/22(日) 07:52:01.31ID:vou34ySW
D言語の複素数ってなんか組み込みのとライブラリのがあってしかも行き来が不自由なんだけどどうなってんだこれ
553デフォルトの名無しさん
2016/05/22(日) 08:03:25.90ID:KneT9rID
ライブラリの方を使う
組み込みのやつは互換性のために残してあるだけ

https://dlang.org/deprecate.html
554デフォルトの名無しさん
2016/05/22(日) 08:10:54.35ID:AqdMtFt7
組み込みで使えるの便利だったのに……
555デフォルトの名無しさん
2016/05/22(日) 09:20:35.38ID:KneT9rID
「ライブラリで実現できる」「言語仕様を小さくする」とかで
機能追加が却下されたり言語の機能が削られたりしてるが
「できる」じゃなくて本当にライブラリ側でやった方が良いのかどうか検討してからにして欲しい

言語仕様の大きさなんてユーザには関係ないよ、必要な部分しか使わないんだから
556デフォルトの名無しさん
2016/05/22(日) 10:51:13.93ID:cWYsuk0t
言語仕様が小さくなってフットワークが軽くなる(== 破壊的変更が増える)
ならそれはユーザ体験の向上であろう。
さあはやく俺のstd.math.expi多用したコードをはじくのだ!
557デフォルトの名無しさん
2016/05/22(日) 11:23:25.91ID:7hG4VCWt
>>555
つまりどういうことです?
558デフォルトの名無しさん
2016/05/22(日) 14:41:12.39ID:P1iBYgIC
ライブラリでやるより言語仕様充実して欲しい
559デフォルトの名無しさん
2016/05/22(日) 15:55:15.13ID:/FrpjXvP
初期の頃は、ライブラリより構文側でやった方が最適化できるというスタンスだったのに
いつの間に方針転換したんだろな
560デフォルトの名無しさん
2016/05/22(日) 19:14:04.72ID:6Zib/w67
少なくとも>>553読む限りでは、需要がないと判断されただけに見えるけど
http://dlang.org/builtin.html でも最初に挙げられてる理由は「よく使われる」だし

8年間futureのままだったが、今月ようやく警告を出すPRが出たんだな
561デフォルトの名無しさん
2016/05/24(火) 11:51:00.77ID:ng4V60az
>>559
CTFE が充実したとかLDCにぬかれたとかありそう
それに PreciseGC が未だにないのにビルトイン型だけ充実してますと言われても困る
562デフォルトの名無しさん
2016/05/24(火) 23:39:58.92ID:mrDJwu+1
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を使って一行くらいで表現できますか?
563デフォルトの名無しさん
2016/05/25(水) 02:32:41.24ID:ywcZQvWe
>>562
import std.algorithm, std.range;
3.iota.map!(a=>5.iota.map!(b=>[a,b])).join
ndslice使ってないけどこんなんですか
564デフォルトの名無しさん
2016/05/25(水) 13:31:47.54ID:7HlacyyV
>>563
おお、綺麗だ……
まさかpythonより短く書けるとはびっくりしました。
ありがとうございます
565デフォルトの名無しさん
2016/05/25(水) 14:49:41.33ID:JMqhkYJX
Dとpythonは相性良い感じ
566デフォルトの名無しさん
2016/05/27(金) 18:54:45.88ID:a5zDK+Zd
dmcの質問なんですけど
a->b(a);
みたいなオブジェクトaに対するインスタンスメソッドbの呼び出しを
#define M(x, y) x->y(x)
みたいに定義して
M(a, b);
と書きたいのですが
エラーになります
どうマクロを書くのが正しいのですか
567デフォルトの名無しさん
2016/05/27(金) 23:33:42.41ID:XThKS0xC
>>566 俺の環境ではその書き方のままで動くけど?
そもそもそのマクロの意図がわからんが。
http://codepaste.net/j8ub3f
568デフォルトの名無しさん
2016/05/27(金) 23:53:06.16ID:0lBzfo5D
>>567
ここD言語のスレやで
569デフォルトの名無しさん
2016/05/28(土) 11:08:25.75ID:YkPoIoOS
現象がdmc限定っぽかったのでここで質問しました
実際のコードはメソッドにいくつかパラメータ(可変長)があって
a->b(a);
のケース以外に
a->b(a, c, d, e);
でも呼ぶケースがあるので
#define M(x, y, ...) x->y(x, ## __VA_ARGS__)
みたいに定義して
M(a, b);
するとエラーになります
条件後出しで済みませんでした
570デフォルトの名無しさん
2016/05/28(土) 12:41:24.79ID:2veKovfq
>>569 その書き方はgccのコンパイラ拡張じゃまいか
https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html
ちなcl https://msdn.microsoft.com/en-us/library/ms177415.aspx
>>568 ごめ。
571デフォルトの名無しさん
2016/05/28(土) 12:45:14.86ID:YkPoIoOS
「##」 を無くしてもエラーになるんです

#define M(x, y, ...) x->y(x, __VA_ARGS__)
M(a, b);
572デフォルトの名無しさん
2016/05/28(土) 15:20:08.53ID:2veKovfq
可変個引数が0個の場合、C99的にはコンマが余っちゃうからそれぞれ独自拡張しますってリンク先に書いてあります。
dmcはもうあんまり使わないほうがいいかも
http://en.cppreference.com/w/cpp/compiler_support
時代はDだよね!?(スレチ回避)
573デフォルトの名無しさん
2016/05/28(土) 15:31:12.42ID:YkPoIoOS
ありがとうございます!!
Dで書き直すことにします!!!
574デフォルトの名無しさん
2016/05/28(土) 22:37:06.78ID:/97ybqru
mixin templateでopIndex(size_t I)を定義した後mixinなしでopIndex(size_t i, size_t j)を定義するとopIndex(size_t I)が無効になりますが、これは何が起こっているのでしょうか?
575デフォルトの名無しさん
2016/05/29(日) 02:18:09.41ID:KH4GuwqF
>>574
http://dlang.org/spec/template-mixin.html#mixin_scope
If the name of a declaration in a mixin is the same as a declaration in the surrounding scope, the surrounding declaration overrides the mixin one:
っていう仕様
576デフォルトの名無しさん
2016/05/29(日) 09:19:07.17ID:xui0wAEZ
>>575
これって引数の型や数が違っててもオーバーライドするんですか……
577デフォルトの名無しさん
2016/05/29(日) 18:01:34.33ID:TAOnosGl
575のリンク先の下のほうにあるけど、aliasでオーバーロードに含めることができます。
578デフォルトの名無しさん
2016/05/29(日) 19:40:16.20ID:Ai+IvVh7
オーバーロード集合はちゃんと使えないとハマることがあるのに
説明が不十分だと思う
579デフォルトの名無しさん
2016/05/31(火) 22:06:56.78ID:RGgOwYh0
FreeStandingな環境向けのD2向けRTTIの実装って有ったりするです?
580デフォルトの名無しさん
2016/06/02(木) 12:17:10.24ID:kBgl6uD2
5月31日 5時10分

D言語 Part34©2ch.net	YouTube動画>3本 ->画像>2枚

31日、火星が地球に最接近します。「スーパーマーズ」とも言われ、今回は最近10年間で最も近い距離となり、都市部でも肉眼で見ることができることから、身近な天体ショーとして気軽に楽しめそうです。

太陽系で地球の1つ外側の軌道を回る火星は、太陽の周りを687日かけて1周しながら、およそ2年2か月に1回、地球に接近しています。ただ、地球の軌道がほぼ円形なのに対して、火星の軌道がだ円になっていることから、火星と地球との距離は接近するたびに変わります。

国立天文台によりますと、火星は31日に地球に最接近し、今回はおよそ7500万キロまで近づいて、この10年間では最も近い距離になります。
火星の明るさは1等星のおよそ15倍の「マイナス2等星」くらいになるとみられ、地球から見える火星の見かけの大きさも、ことしの最も小さいときと比べて直径がおよそ3倍になります。

(続きや関連情報はリンク先でご覧ください)
引用元:NHKニュース http://www3.nhk.or.jp/news/html/20160531/k10010540551000.html


※関連板 http://wc2014.2ch.net/galileo/ 宇宙
581デフォルトの名無しさん
2016/06/02(木) 12:25:16.50ID:kBgl6uD2
既出かもだけど、俺コレには震えた

http://qiita.com/mattn/items/b7889e3c036b408ae8bd
582デフォルトの名無しさん
2016/06/02(木) 18:38:00.61ID:e6XwNe8R
配列が提供するインターフェイスを揃えたクラスを簡単に作るには何のインターフェイスを継承して何にalias thisすればいいのでしょうか?
583デフォルトの名無しさん
2016/06/03(金) 22:56:31.52ID:7NE5KVgC
>>579 castじゃだめなん?
>>582 こうですか? https://dpaste.dzfl.pl/4f46d257323c
>>580-581 dmd と間違って smd と入れるとスーパーマーズD言語ちゃんが接近してくるジョークソフトを作ってくれるんですね↓
584デフォルトの名無しさん
2016/06/04(土) 18:51:35.81ID:DlnDvjYz
了解
585デフォルトの名無しさん
2016/06/04(土) 22:54:34.68ID:tpsKxr6y
>>583
rangeのいずれかのインターフェイスを継承させてやりたいです……

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

voidポインタなんて久々に見ました
586デフォルトの名無しさん
2016/06/04(土) 22:57:19.79ID:/ZaYqJqz
std.mathとstd.complexをimportしたらexpiが競合した……
まさか毎回どっちのを使うか指定しないといけないのか?
587デフォルトの名無しさん
2016/06/05(日) 01:15:03.75ID:wuPWHoc6
選択importするとか
588デフォルトの名無しさん
2016/06/05(日) 11:27:16.05ID:NUUYuMig
インターフェイスAとBがあって、関数fはインターフェイスAとBの両方を継承したクラスを引数に取る
こんな関数fの引数の記述方法はありますか?
589デフォルトの名無しさん
2016/06/06(月) 01:34:29.33ID:mLcW0ja8
>>585 range はダックタイプで、https://dpaste.dzfl.pl/6d9bc674089e
>>588 こんな感じではないだろうか https://dpaste.dzfl.pl/b3f7f2d0ebae

やっつけSMDつくったよー
https://github.com/garlic-flavor/smd
590デフォルトの名無しさん
2016/06/06(月) 18:47:18.37ID:Ed/7rB97
>>589
なるほどtemplate+ifでやればいいのですか
こんなに汎用性のあるものとは知りませんでした
ありがとうございます!



D使いもWindowsユーザーの方がやっぱり多いんだろか……
591デフォルトの名無しさん
2016/06/07(火) 11:54:47.42ID:Fo09osKo
dmcの質問なんですけど、
wchar_t *hoge = L"あ";
としてファイルを UTF-8 で保存&コンパイルして実行したとき、
hoge の中の値は \u3042 を期待していたのですが、
なぜか \xe3\x81\x82 になるみたいなのですが、
なぜでしょうか?
592デフォルトの名無しさん
2016/06/07(火) 13:35:54.18ID:dYQbvyOv
入力がUTF-8と思われてないんじゃね
Windowsなら普通はSJISかLatin-1かが仮定されてるはずだから、オプションを付ける必要があると思う
dmcのことは知らん
593デフォルトの名無しさん
2016/06/07(火) 14:58:01.24ID:wTM17UsZ
core.simdのfloat4って、要素を移動させるのにシフト演算って使えないでしょうか?
例えば[1.0, 2.0, 3.0, 4.0]のベクトルを[2.0, 3.0, 4.0, 4.0]にしたいです。
594デフォルトの名無しさん
2016/06/08(水) 07:59:41.76ID:51dlGdh/
iotaからの一連の流れで好きな配列つくれるのホント便利だわ
595デフォルトの名無しさん
2016/06/08(水) 16:27:08.87ID:c99ZJOB9
>>593
何bit分を何bitシフトさせたの?
596デフォルトの名無しさん
2016/06/09(木) 18:13:41.96ID:nQlOEPkQ
LDC 1.0.0 リリースおめ
597デフォルトの名無しさん
2016/06/09(木) 20:51:27.58ID:jEie4NkL
>>595
もしかしてそのままシフト演算子が使えたりします?
http://www.kmonos.net/alang/d/simd.html
ここに書いてないので、単純にそのままできるとは思いませんでした。

で、試そうと思ったらError: undefined identifier 'float4'というエラーが。
core.simdはimportしてるんですけど、なぜでしょう?
598デフォルトの名無しさん
2016/06/09(木) 21:09:40.20ID:4WAQK3bH
>>583
castは型のキャストって意味?

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

最低限、そういう環境で構造体は使えるようにObject.TypeInfo_Structクラスが
実装されてるもの無いのかな・・・と。
dmd ver2.071.0でObjectクラスを自作するとErrorクラスの実装でコケるので
既存で最小限(RTTIのみ?)の機能を持つライブラリがあればそれを使いたいなと言うことで。
599デフォルトの名無しさん
2016/06/11(土) 08:53:33.73ID:CU/y+sw+
std.rangeに入ってるRandomAccessFinitを継承してクラスを作ったら、メンバの配列にalias thisしてもなお実装すべきものがいっぱい残ってるんですが、
これは全て自分で一つ一つ書いていくのですか?

もしくは配列と同じ操作を提供するインターフェイスを作るにはどうすれば楽でしょうか?
600デフォルトの名無しさん
2016/06/11(土) 09:15:16.03ID:sZRxwhEp
あそこの一連のインターフェイスは「こんなん作ってみたんだけど〜」程度のもので
ほとんど使われてない

構造体テンプレートにしてコンパイルエラーが出ない程度に既定プロパティを補うのが主流
そのやり方なら alias this の転送でほとんど足りるはず
ただしどのプロパティを再定義すべきかはインターフェイスを見るのがいい
601デフォルトの名無しさん
2016/06/11(土) 09:41:32.26ID:j5Azp1YN
>>600
ええっとすみません。間違っていたら申し訳ないのですが、もしかしてinterfaceとclassを使うよりstructを使うのが主流なのですか?
602デフォルトの名無しさん
2016/06/11(土) 10:36:32.51ID:sZRxwhEp
D言語のファンはオーバーヘッドとかGCとか嫌う声が大きい
実際のところ GC の実装がチープでそれほどあてにならないし

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

でもインターフェイスでやりたければやればいいのよ
>>599 の 大半のメソッドは1行関数で済むはず
双方向とか明らかにいらなそうなのを省くなら std.typecons.WhiteHole が使えるかも
603デフォルトの名無しさん
2016/06/11(土) 11:30:53.78ID:awsUhPf2
>>602
Whiteholeは知らなかったし参考になります。
人気のライブラリとかってどこを見ればわかるんでしょうか?
604デフォルトの名無しさん
2016/06/12(日) 21:29:10.60ID:HMmiIFiS
>>598 わかんないや。ごめんね。
>>603 人気ぶりはわからないけど、ここのを https://code.dlang.org/
これ https://code.dlang.org/packages/dub 使ってダウソして欲しいと、ヲルたんは思っているのではないだろうか。
605デフォルトの名無しさん
2016/06/13(月) 05:06:45.55ID:PElmNHhw
>>604
あ、すみません。人気のライブラリって標準ライブラリ中でも人気な奴という意味からと思ってました。
そういうことでしたか。ありがとうございます。

ところで、ひとつ聞きたいのですが、dではpureやimmutableが使えますが、これらを使うと実際どの程度最適化されるのでしょうか?
606デフォルトの名無しさん
2016/06/13(月) 15:35:28.75ID:iihvfQlB
InterfaceにopBinaryなどのテンプレート関数を持たせるにはどうするのですか?
607デフォルトの名無しさん
2016/06/13(月) 16:12:58.29ID:+zMNrpMB
すいません
>>606
これ自己解決しました
finalにすれば良いのですね
608デフォルトの名無しさん
2016/06/14(火) 14:11:58.45ID:JvVSF706
GCの性能は連想配列とかクロージャとかクラスの性能に直結するので、
「できるだけGCが動かないように」じゃない方向に進んでGC性能うpしてほしいな・・・
609デフォルトの名無しさん
2016/06/20(月) 08:40:03.61ID:EnFKsdbU
D-Man culture
http://forum.dlang.org/thread/[email protected]
610デフォルトの名無しさん
2016/06/23(木) 11:59:01.34ID:332nxUAD
http://www.digitalmars.com/download/freecompiler.html

Download latest version for Win32.
What's new for C/C++ 8.57

Digital Mars C/C++ Version Info
http://www.digitalmars.com/changelog.html#new857
611デフォルトの名無しさん
2016/06/23(木) 13:49:32.96ID:ZQfpp6dv
D-Man adventures
http://dlangcomicstrips.tumblr.com
612デフォルトの名無しさん
2016/06/25(土) 11:45:41.24ID:M9L0G4Rl
Dって多重代入なかったっけ?
613デフォルトの名無しさん
2016/06/25(土) 12:05:40.78ID:mYN7KAdL
そんなものはない
614デフォルトの名無しさん
2016/06/25(土) 22:16:23.10ID:hxA5cJiF
残念
615デフォルトの名無しさん
2016/06/26(日) 11:50:32.74ID:YRduG3pc
速い行列演算したいんだけどIntel mklのblasを読み込む方法がよくわからん……

あとScidってなんか開発止まってるっぽいけどどうなんだろ?
616デフォルトの名無しさん
2016/06/26(日) 12:08:12.61ID:Hr+drjlN
ネイティブも吐けるJuliaと比べて
どっちが速いん?
どっちが書きやすいん?
617デフォルトの名無しさん
2016/06/26(日) 13:03:10.20ID:0+Or/a+e
C系に慣れてればこっちが書きやすい

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

ベンチマーク取った!→チューニングが足りん!
てのがいつもの流れ
618デフォルトの名無しさん
2016/06/26(日) 14:45:48.76ID:Hr+drjlN
なるほどthx!
619デフォルトの名無しさん
2016/06/28(火) 14:04:24.39ID:MNOhqMou
ってかDで線形代数する時のスタンダードってなんだ?
620デフォルトの名無しさん
2016/06/28(火) 14:27:17.46ID:a3nSzCGl
おhr
http://qiita.com/k3_kaimu/items/e7aab2ef090c53cac819
http://forum.dlang.org/post/[email protected]
621デフォルトの名無しさん
2016/06/28(火) 21:33:02.21ID:NXkyNPDs
Scidもdepricated放置されてるし科学方面弱いな
622デフォルトの名無しさん
2016/06/29(水) 20:56:03.25ID:6Q9/xyGV
std.experimental.ndsliceはどうなんだろう
experimentalだし俺は使ってないからわからんけど
623デフォルトの名無しさん
2016/06/29(水) 21:52:28.61ID:AXw9t+Ft
ndsliceは行列演算ついてなかったはず多分
624デフォルトの名無しさん
2016/06/29(水) 22:24:24.36ID:9iO2eMNn
多分ね
625デフォルトの名無しさん
2016/07/06(水) 02:30:21.03ID:yrz/Jj7I
https://dpaste.dzfl.pl/75f0f6d8bb00
と言う事を知った夏。
626デフォルトの名無しさん
2016/07/06(水) 11:02:58.90ID:X105+0ra
import std.stdio;
// 例えばこういう interface に対して、
interface Iinc{
final int opUnary(string OP : "++")(){ return opInc; }
int opInc();
}
// こんな mixin template 使う場合に、
mixin template incImpl(alias target){
int opInc(){ return ++target; }
}

class A : Iinc {
int a;
// ↓これはまあいいとして、
mixin incImpl!a;
}

class B : A {
int b;
// ↓ ここに override って書いて動くってはじめて知りました。
override mixin incImpl!b;
}

void main(){
Iinc c = new B;
++c;
(cast(A)c).a.writeln;
(cast(B)c).b.writeln;
}
627デフォルトの名無しさん
2016/07/08(金) 07:42:04.17ID:0UOH05eF
テンプレート制約で複素数とか、複素数または実数にヒットさせるにはどうすりゃええんや……
組み込み複素数は__traitで簡単にヒットさせれるけど
628デフォルトの名無しさん
2016/07/08(金) 22:01:04.69ID:7n1yPXzP
>>627 こう?
is(T == Complex!U, U) // T が std.complex.Complex の場合に true
std.traits.isNumeric!T // T が組み込みの数値型の場合に true
629デフォルトの名無しさん
2016/07/09(土) 22:27:59.54ID:lSFNvjJ5
>>628
こんなis の使い方あったのか
勉強不足でしたすいませんありがとうございます
630デフォルトの名無しさん
2016/07/10(日) 00:27:46.10ID:PefByr9S
やべえndsliceのライブラリstatic if多すぎて何が起こってるのか全然わかんねえ
631デフォルトの名無しさん
2016/07/16(土) 14:39:39.16ID:9Y22Kipm
Julia(女) に浮気中
632デフォルトの名無しさん
2016/07/18(月) 09:14:41.70ID:V9a/Rv5f
Juliaは線形代数得意だもんな
633デフォルトの名無しさん
2016/07/19(火) 16:01:58.15ID:U82S7i4O
1、dub.exeを実行すると、コマンドプロンプトが一瞬立ち上げってすぐに消えます。
2、コマンドプロンプトからdub init
634デフォルトの名無しさん
2016/07/19(火) 16:02:38.07ID:U82S7i4O
1、dub.exeを実行すると、コマンドプロンプトが一瞬立ち上げってすぐに消えます。
2、コマンドプロンプトからdub init"プロジェクト名"でプロジェクト制作すると、
  プロジェクト名のフォルダーが制作され、フォルダー内には、以下の階層ができる
   1./source/
   2./source/app.d
3、ここで、"dub.jsonを記述する"とありますが、そのファイルが何処にも有りません。
  
dubの設定及び使用方法教えてもらえませんか。
Win10、dmd.2.071.1.windowsです。よろしくお願いします。
635デフォルトの名無しさん
2016/07/19(火) 17:26:50.31ID:Ez5hwRqa
実行するとコマンドプロンプトが一瞬立ち上がってすぐに消えるのって
dub.exeをエクスプローラからダブルクリックした時とかの挙動じゃね?

ちゃんとコマンドプロンプトからdub init
636デフォルトの名無しさん
2016/07/19(火) 17:43:18.52ID:fscdSyYa
気の利いた IDE が作ってくれるかもしれんけど
そうでないなら自作
https://code.dlang.org/package-format?lang=json

まあ実際はどっかのプロジェクトから持ってきて修正して流用くらいじゃないの
637デフォルトの名無しさん
2016/07/19(火) 17:45:43.54ID:o21q4Wh2
まず、Windowsのロゴがあるキー( 田 )を押しながら、Rを押してください。「ファイル名を指定して実行」ウィンドウが開きます。
次に、cmdを入力して、Enterを押してください。
638デフォルトの名無しさん
2016/07/19(火) 19:18:09.42ID:3sf6xm4M
>>633 が一瞬書き込んですぐに消えました
639633
2016/07/19(火) 19:38:28.66ID:U82S7i4O
1、コマンドプロンプトからdub init"プロジェクト名"Enter
2、Package recipe format (sdl/json) [json]:このようになり、
  Package recipe format (sdl/json) [json]:json
                       ↑これ入力
3、Enterキー連打していくと、
  Name [test]:
  Description [A minimal D application.]:
  Author name [user]:
  License [proprietary]:
  Copyright string [Copyright ツゥ 2016, user]:
  Add dependency (leave empty to skip) []:
  Successfully created an empty project in 'C:\Users\user\test'.
  Package sucessfully created in test
  ↑このようになり、プロジェクト名のフォルダー内に"dub.json"が制作されました。
4、しかしながら、"dub.json"に"dependencies"が無く、ぼちぼち格闘中です。
  プログラム歴0の初心者には敷居が高いですね^^;
640633
2016/07/19(火) 19:44:14.42ID:U82S7i4O
↑これ入力←この位置が少しずれていますので、書き直しました。
Package recipe format (sdl/json) [json]:json ←これ入力
641デフォルトの名無しさん
2016/07/19(火) 19:58:45.99ID:fscdSyYa
いやいやいや プログラム歴0の初心者が dub init 使うってどんな状況よ
最初の一歩から間違ってるとしか
642デフォルトの名無しさん
2016/07/19(火) 20:05:03.34ID:fscdSyYa
あれ、今は普通のアプリ開発でもビルドツールに dub 使うんだっけ?
やったことないな
643デフォルトの名無しさん
2016/07/19(火) 20:20:26.23ID:555Vvc50
たしかにD言語ってコマンドラインの文化に慣れてないと厳しいな。ってか大体の言語がそうだが

dependencyは最初はdub.jsonに書いてないけど、手入力したら認識してくれるから、>>636を参考に自分で手入力するといいよ
コマンドラインの文化に慣れてないと違和感感じるかも知れないけど、この手の設定ファイルは最初は何も書かれてないから項目を自分で書いていくのが定石

ってかdubのライブラリ使わないならdependencies 書かなくていいから最初はdependencies 書かなくていいよ
644633
2016/07/19(火) 21:06:11.43ID:U82S7i4O
>>641
  某イクサゲームをやっていまして、10万円金くじ引いても天なるものが1枚しかでなくてwww
  自分でゲーム作ったほうがいいんじゃね!っと思い立ったのが吉日でして。
>>643
  ゲーム用のライブライ追加してぼちぼちやってみようかと思ったのですが、
  ズッコケすぎて全然前に進みません。^^;
  dmdダウンロードして4日目くらいですがw
  ちなみに、"プログラミング言語D"とゲーム開発関係書籍2冊ほど手元に置いてますけど
  最初の一歩目で迷子になってます、、、。
645633
2016/07/19(火) 22:42:44.72ID:U82S7i4O
1、"dub.json"に下記を追記しました。
   
   "dependencies": { "dgame": "~>0.6.4" }

2、C:\Users\user>dub build Enterキー

   Neither a package description file, nor source/app.d was found in
   
   ↑このようになります。
   app.dに何のために、どんなソースを書くのかわかりません><
   よろしくお願いします。
646デフォルトの名無しさん
2016/07/20(水) 07:03:39.83ID:/Ye1vbG1
dlangerの人口減らしたくないし取っ掛かりの部分だけナビゲートしちゃる

dub initによって作られたsource/app.dには
コンソールに文字列を出力するコードが最初から書かれてるから
そっから自分で動かしたいように書き換えるのが通例

dependenciesは https://code.dlang.org/ のリストにあるパッケージが必要な時に書く
これで何言ってんだか分かんなかったらdub.jsonは弄らないで最初のままでおけ
てか dub(ビルドツール)の前にdmd(コンパイラ)の使い方を覚えるほうが先だね

そもそも言語仕様も標準ライブラリ(phobos)も知らん段階だろうから

main.dを新規作成してエディタで開いて
std.stdioをimportしてmain関数内でwriteln関数を使って
HelloWorldをコンソールに出力するコードをmain.dに記述して
コマンド
647デフォルトの名無しさん
2016/07/20(水) 07:06:09.24ID:/Ye1vbG1
レス本文にダブルクォーテーションが入ると文章途切れるのか

>>646の途切れた部分)
main.dを新規作成してエディタで開いて
std.stdioをimportしてmain関数内でwriteln関数を使って
HelloWorldをコンソールに出力するコードをmain.dに記述して
コマンド dmd main.d でコンパイルするとこからはじめようか

新しいプログラミング言語に触れるなら↑が本来の最初のステップになる
648633
2016/07/20(水) 09:29:26.81ID:Oo0kZypL
>>646
助言ありがとうございます。
HelloWorldの門は一番最初にくぐりました。
レス文見てたら、dubの使い方を勘違いしてたみたいでした。
最初は任意のライブラリを勝手にダウンロードし、dmdにサインイン。 
その後自由にライブラリが使えるものだと思っていました。
違う方法でライブラリが使える方法を探ってみたいと思います。
レスをくれた皆さんありがとうございました。
649デフォルトの名無しさん
2016/07/20(水) 13:49:05.59ID:S0wpPWZM
test "hoge D" hage
650デフォルトの名無しさん
2016/07/21(木) 02:31:14.62ID:+htOPDkp
「D言語は2番目に覚えるべき言語」とか言うけど、「ゲーム作りたい」という動機だと、もっと、かなり順位下がる気がする。
ABA GamesさんからD言語入った身で言えたギリじゃないけど。
短い期間で出力を得たいならJavaScript(かそのトランスパイラ)おすすめ。
コントローラからの入力がまだ標準化されてないかもしれないけど。
というか俺が思ってる某IXAゲームもクライアントサイドはJS+WebGLなのでは?
7〜8年前だったらActionScript推したけどなー。
あ、やる気に冷や水かけるつもりじゃないですよ。言語の習得は平行してできるので、どっちもやるとイイよ!
651デフォルトの名無しさん
2016/07/21(木) 18:46:26.48ID:Vj/xPVWN
いまならUnityじゃね
652デフォルトの名無しさん
2016/07/25(月) 00:17:46.47ID:XTQ4vcgC
D言語にも深層学習用のライブラリがあればなあ
653デフォルトの名無しさん
2016/08/05(金) 01:29:38.10ID:yG1Q1Zfx
DMDScriptってこの先生きのこれるの?
例えばreadme.txtのMain Goalのリストにも載ってない64bit対応とかする目あるのだろうか?
654デフォルトの名無しさん
2016/08/05(金) 12:18:44.40ID:LJe/qM3f
そこに山があれば登るのが真のDer
655デフォルトの名無しさん
2016/08/16(火) 18:52:17.71ID:D9Aqh5ca
Releaseビルドで作られたexeファイルには、開発環境由来の個人情報は含まれますか?
656デフォルトの名無しさん
2016/08/16(火) 23:45:49.73ID:aXbZPgJ2
hello, worldをダンプしてみたけどPhobosのシンボルが読めるからまあ
D言語が使われているであろうこととか>>655がマゾ豚であることとかがわかる。
幼女>犯罪に使おうとかキモいこと考えてないでさっさとDちゃんの抱き枕相手に腰振る練習してなさいよ!このブタッ!
657デフォルトの名無しさん
2016/08/17(水) 00:15:35.35ID:lwRSgBSO
>>656
犯罪なんて考えてないです><
ネットで公開したとき、特定につながる情報が入ってないか気になっただけですよ。
あと、マゾ豚でもないです><
658デフォルトの名無しさん
2016/08/17(水) 19:37:22.85ID:Tv1IP5hX
パスにアカウント名入れてるバカは時々いる
659デフォルトの名無しさん
2016/08/17(水) 19:59:59.49ID:BDOXQSJ7
My Documents以下で開発してて、デバッグ情報にあるフルパスからアカウント名が……って話だな
660デフォルトの名無しさん
2016/08/18(木) 12:39:10.84ID:aeEeX8qQ
>Releaseビルドで

よくよめ
661デフォルトの名無しさん
2016/09/12(月) 21:07:12.99ID:g/2ERTf6
templateを使ってループをunrollしたいと思ってるんですけど、うまい方法はないでしょうか?
static ifならぬstatic foreach的なものが欲しいです。
662デフォルトの名無しさん
2016/09/12(月) 21:17:04.32ID:y21Asc3i
レンジの先読みとか save の方が現実的じゃないの
663デフォルトの名無しさん
2016/09/12(月) 21:59:01.32ID:g/2ERTf6
>>662
レンジの先読みっていうのは、1ループで例えば4要素ずつ回すとかするやつですか?
saveはよくわかりませんでした。

templateでは無理なんですかね?
664デフォルトの名無しさん
2016/09/13(火) 07:27:24.17ID:kzljWn49
タプルをforeachするときは静的に展開されるよ
import std.stdio;
template T(P...){ alias P T; }
alias MetaArr = T!("a", "b", "c");
void main() {
foreach (v; T!(0, 1, 1, 2)) { writeln(MetaArr[v]); }
//foreach (v; [0, 1, 1, 2]) { writeln(MetaArr[v]); } // error
}
テンプレート再帰を使って便利なやつ(iotaとか)を作るとよし。
std.metaにタプル操作テンプレート群がある
665デフォルトの名無しさん
2016/09/13(火) 10:29:18.28ID:W9Uq4kNW
せっかくAliasSeqって名前がついたんだから使ってやろうぜ
公式ももうタプルの名はtypecons.tupleに譲ろうって感じだし、せめて静的タプルとか
https://dlang.org/tuple.html
666デフォルトの名無しさん
2016/09/13(火) 10:47:13.49ID:GD/RUd4Y
こりゃ TDPL 第2版の再優先事項やね
667デフォルトの名無しさん
2016/09/13(火) 16:52:26.00ID:Sk3FDaZ1
>>664
なるほど、タプルを使うとstatic foreachみたいなことができるんですね。
>>665
型タプルの名称が変わってたんですね。
668デフォルトの名無しさん
2016/09/19(月) 17:22:06.82ID:XIBStaFM
assert(RegexMatch!string().empty,
669デフォルトの名無しさん
2016/09/20(火) 17:31:32.34ID:aVRW/GTu
https://dlang.org/changelog/2.071.2.html
670デフォルトの名無しさん
2016/10/08(土) 15:24:34.36ID:lyDMzk0a
質問です
C# なんかだとジェネリクスの変性を指定できて、たとえば Base <- Derived のとき List<Base> <- List<Derived> になる、つまり
List<object> a = new List<string>();
ってできたと思うんですが、こういうのって D言語だとどう書けばいいんでしょうか
opCast を使う?
671デフォルトの名無しさん
2016/10/10(月) 03:02:58.71ID:XeSbllOL
>>670
テンプレートの範囲を拡大させることで実現する。
しばしばmain直下まで汚染されるが気にしない。

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

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

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

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


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




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

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

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

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

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

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

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

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

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

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

DMD のバージョンは 2.076.0、VS のバージョンは 15.3.4 です。
757デフォルトの名無しさん
2017/09/16(土) 12:48:55.75ID:ZCzFTInQ
defなしで
758756
2017/09/16(土) 15:35:04.87ID:d6C/wUJg
defなしでも同じ結果になりました:

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

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



と一蹴したいところだが、あえて勇者に DlangUI を勧めてみよう
767デフォルトの名無しさん
2017/09/18(月) 21:53:06.19ID:X3R7dE7e
LazarusくらいのとこがてぎるIDEでた?
768デフォルトの名無しさん
2017/09/19(火) 12:37:25.75ID:NEmvstRb
ファイル、フォルダの命名規則がクソすぎる
別に無視してもかまわんだろうけど
769デフォルトの名無しさん
2017/09/19(火) 13:59:10.86ID:NEmvstRb
https://github.com/Dgame/Dgame

クソ命名規則を無視している優良プロジェクト
みんなもクソ命名規則は無視しよう
770デフォルトの名無しさん
2017/09/19(火) 17:18:15.85ID:xxOzXrDl
>>764
Tcl/Tk
771デフォルトの名無しさん
2017/09/29(金) 03:59:12.25ID:4agIphwV
private this()
だけでコンパイル通るのが糞だわ。
{}が無いのに。

ライブラリ作った時点では何もないのに
リンク時にエラーとして出てくるとかやめれ。
772デフォルトの名無しさん
2017/09/29(金) 21:47:52.84ID:sJSvcHfp
単体テスト書いてそれを通すまでがライブラリ作成ですよ
773デフォルトの名無しさん
2017/09/30(土) 16:02:54.64ID:4rbkY8QZ
馬鹿ほどコンパイラのせいにしたがる
774デフォルトの名無しさん
2017/10/01(日) 13:05:24.17ID:Uy9r/fJ2
連想配列に環境依存のバグがありそう
使ってるクソライブラリが端末によってエラーになるし糞かよ
775デフォルトの名無しさん
2017/10/01(日) 15:25:00.88ID:dZZybuoZ
おま環境ω
776デフォルトの名無しさん
2017/10/02(月) 17:59:12.33ID:oE42sBRL
tcltkってそんなに良いか?
777デフォルトの名無しさん
2017/10/03(火) 09:12:29.54ID:nH2BZkoP
gjgj
778デフォルトの名無しさん
2017/11/05(日) 23:15:29.42ID:Of1Ymqlf
2.077.0

テンプレート使うと修飾名がありえないほど長くなるという昔からの問題が改善された
ライブラリとか一通り注意すべし
779デフォルトの名無しさん
2017/11/05(日) 23:59:22.07ID:pQFnUEQW
Rustでええやろ
780デフォルトの名無しさん
2017/11/06(月) 15:47:25.08ID:TxT/hKw1
あれはGC使いたくない&ランタイムのデカさが気にならない巨大アプリ特化みたいなところある
Dの対抗はgoとかnim
781デフォルトの名無しさん
2017/11/06(月) 21:26:53.62ID:PRkrHOts
システムプログラミング言語なのでアプリ特化ってことは無いよ
下層も上層も両方いける
782デフォルトの名無しさん
2017/11/06(月) 22:26:18.14ID:FBpfr6Qh
スレ違いかも知れないが、D言語初心者だけど質問しても良い?
783デフォルトの名無しさん
2017/11/06(月) 22:48:55.76ID:7P3Nk5ci
ダメです

と言えば質問しないのか
784デフォルトの名無しさん
2017/11/06(月) 22:54:11.04ID:njCgvqVz
D言語に関する質問はどこのコミュニティがオススメですか?

stackoverflowもteratailもあまり活発ではなさそうなので

D言語のエラー・バグ・問題の解決方法|teratail
https://teratail.com/tags/D%E8%A8%80%E8%AA%9E

新着の 'd' 質問 - スタック・オーバーフロー
https://ja.stackoverflow.com/questions/tagged/d
785デフォルトの名無しさん
2017/11/06(月) 22:57:58.79ID:FBpfr6Qh
いきなり質問して荒れたらやだし....
786デフォルトの名無しさん
2017/11/07(火) 02:02:18.03ID:O5O/1Ksn
前置きしたらもっと荒れるぞ
787デフォルトの名無しさん
2017/11/07(火) 03:59:26.23ID:zRpLERto
D言語の質問はここでしるな
788デフォルトの名無しさん
2017/11/07(火) 04:59:58.50ID:uzn/nrN5
>>781
rustは巨大なランタイムとツールチェインがネックになって
ガチのシステムプログラミングには使えないと踏んでる
あと小物にも向かない。lsやechoみたいなコマンドが何MBもあったら嫌だろう
789デフォルトの名無しさん
2017/11/07(火) 07:18:59.93ID:/xdVk9AW
それってコンパイラが進化してもどうにもならんことなの?
790デフォルトの名無しさん
2017/11/07(火) 16:07:34.16ID:3f9DZLc4
>>788
lsやechoをrust,d,c++,go,swiftで書いて比較でもしたの?
791デフォルトの名無しさん
2017/11/07(火) 16:17:46.02ID:pha33qDk
rust はダイナミックリンクすれば小さくなるよ。
792デフォルトの名無しさん
2017/11/07(火) 22:01:57.06ID:ige9lhQ8
実際のとこは知らんがしばらくRust追っててランタイムが巨大とか初めて聞いたわ
試しにいくつかreleaseでビルドしてみたが大量のcrate使ってるやつは10MB超えてて
少なめの奴は300KBくらいだった
まあそりゃライブラリコミコミなら大きくなるわな
793デフォルトの名無しさん
2017/11/08(水) 03:06:14.25ID:aIBytdYn
ま、スタティックリンクで数kbからにならないとCの置き換えは不可能
794デフォルトの名無しさん
2017/11/08(水) 06:55:17.36ID:ZWKv78KM
>>792
C#をdisるなω
795デフォルトの名無しさん
2017/11/08(水) 08:02:35.68ID:CpShZ3Gu
stripすればCくらいのサイズになるのでは
796デフォルトの名無しさん
2017/12/08(金) 18:08:54.07ID:7lBDaG0K
C++を駆逐すると思っていた時期が私にも有りました
797デフォルトの名無しさん
2017/12/08(金) 21:55:28.01ID:TcYdv7Hd
.obj 互換オプションあればなー
798デフォルトの名無しさん
2017/12/08(金) 22:08:41.01ID:tFBuW21G
標準ライブラリの関数の名前の付け方がJavaっぽくて嫌なところ以外は好きだよDくん
799デフォルトの名無しさん
2017/12/09(土) 12:21:32.98ID:nuTX+Pqx
初期に仕様リセットし過ぎて愛想尽かされた
800デフォルトの名無しさん
2017/12/09(土) 17:05:48.02ID:xKc3yV2X
ideのデファクトスタンダードて結局何?
801デフォルトの名無しさん
2018/02/11(日) 10:30:07.64ID:KveISlUh
2.078.2
dwt もアップデートされたらしいぞいぞい

>>800
Win なら Visual D
802デフォルトの名無しさん
2018/03/04(日) 12:54:42.39ID:DD94zM8O
2.079
新機能大爆発なのに人がおらんぞー

そういえば公式の D Tour に日本語訳ついててのけぞった
https://tour.dlang.org/tour/ja/welcome/welcome-to-d
803デフォルトの名無しさん
2018/03/04(日) 13:12:32.36ID:8KjE9Kl8
おめ
804デフォルトの名無しさん
2018/03/04(日) 17:14:17.99ID:DD94zM8O
>>802
Tour のインストールしましょー!のページで 2.074 にリンクされてるのを見てしまった
(ノ∀`)アチャー
805デフォルトの名無しさん
2018/03/08(木) 00:37:26.91ID:fCcY28Fx
いやだってもうオワコンだろこれ
というか始まってもないというか
806デフォルトの名無しさん
2018/03/08(木) 04:35:22.50ID:0VTxSBk2
始まりかけのときに壮絶な自爆
807デフォルトの名無しさん
2018/03/09(金) 20:24:59.19ID:209TEL93
verうpしたらすぐライブラリが使えなくなるわ
808デフォルトの名無しさん
2018/03/10(土) 05:15:45.70ID:/6tM+FAO
個人的に00年代前半の頃はC/C++後継として期待してたんだけどな
なにやっとんねんと言いたい
勿体無い
809デフォルトの名無しさん
2018/03/10(土) 06:22:25.09ID:L0iyZELB
>>808
ほんそれ
810デフォルトの名無しさん
2018/03/10(土) 11:56:39.74ID:qIcg9Ap2
聞こえるぞ
D3 を唱えようといううぉるたんの鼓動が…
811デフォルトの名無しさん
2018/03/10(土) 12:35:03.41ID:TTti/WSS
また増やすんか
812デフォルトの名無しさん
2018/03/10(土) 13:38:23.67ID:kYhzAC0A
Rustやったことないけど
どうせ綺麗なメタプログラミングパズル解いてホルホルしてるだけで終わるだけの
実用的じゃない言語だと思う。
Caml書いてた俺だからわかる。
813デフォルトの名無しさん
2018/03/10(土) 17:08:02.19ID:lYWN/FxA
↑妄想君は凄い
814デフォルトの名無しさん
2018/03/10(土) 20:28:50.44ID:pNLClb7o
C/C++の後継は完全にGoにもってかれたね
うぉるたんはどう考えてるのか知らないけど
815デフォルトの名無しさん
2018/03/11(日) 03:27:33.77ID:fQarczMf
goroutineが有効な用途ならともかく
それ以外はD言語のほうが遥かにいいと思うんだけどなあ。何が命運を分けたのか
816デフォルトの名無しさん
2018/03/11(日) 07:17:06.70ID:1TPWJAVW
rubyの埋め込み文字列みたいなのできる?

"hoge=#{hoge}"
みたいなの
817デフォルトの名無しさん
2018/03/11(日) 08:35:05.74ID:Vr9GQpPg
>>815
頻繁に変わる言語仕様も問題と言えば問題だけど
やっぱ一番はライブラリっつーか周辺やろ…
818デフォルトの名無しさん
2018/03/11(日) 08:55:19.19ID:DS7F81oK
言語仕様が変わるからライブラリが根付かない定期
819デフォルトの名無しさん
2018/03/11(日) 10:09:42.46ID:zWe+i43K
>>815
同意
820デフォルトの名無しさん
2018/03/11(日) 11:43:49.89ID:7Ky5zjn9
Dはクラス使えばいいのかと思いきや構造体推奨ってのが初見殺しすぎる
821デフォルトの名無しさん
2018/03/11(日) 12:13:49.32ID:8JC0BCod
Dは関数型マクロωでコンパイル時に全て決定推奨
822デフォルトの名無しさん
2018/03/11(日) 12:26:01.28ID:PDfY//r3
きんたま?
823デフォルトの名無しさん
2018/03/12(月) 22:18:01.25ID:pqiyCWN9
>>820
推奨ってことはない
俺はほとんどクラスしか使わないしGC上等

まあクラスの派生とか皆無だし
vtable も邪魔に思えてきたけどw
824デフォルトの名無しさん
2018/03/12(月) 23:35:00.91ID:Y8Me4ew/
GoがC/C++の後継?
Goで下周り書けるかよ
825デフォルトの名無しさん
2018/03/13(火) 14:18:12.30ID:DeaEY/ek
それを言うならD言語だってC++の後継にはなんないわけで
そしてDとgoは割と被ってる。方向性は逆を向いててもターゲットとしている領域が
826デフォルトの名無しさん
2018/03/13(火) 15:20:28.05ID:MHQfuTqc
きんきホーム
たまホーム
827デフォルトの名無しさん
2018/03/13(火) 15:46:47.07ID:uPfPL/GN
goって他のVM使わない静的言語と何が違うんだよ。
実行速度が早いと言われているOCamlと何が違う?
828デフォルトの名無しさん
2018/03/17(土) 09:22:57.34ID:dunQcKnu
Cとの競合をはっきり掲げる Zig とかいう LLVM 言語が出てきてるな
https://ziglang.org/

Cのヘッダをそのまま読み込む?とかすげーこと書いてる…
まだ情報少ないし俺は調べないけど興味ある人よろ
829デフォルトの名無しさん
2018/03/17(土) 10:52:20.29ID:zK+A43YX
LLVMを吐くCで充分では?
830デフォルトの名無しさん
2018/03/18(日) 11:21:51.01ID:2szVz2pj
いい言語ですね!
前に進めてください!!
(感涙)
831デフォルトの名無しさん
2018/03/18(日) 11:42:10.14ID:isv4aoit
zig zag でよければ
832デフォルトの名無しさん
2018/04/20(金) 14:04:35.16ID:H1yQYpwW
いつの間にやら契約プログラミングのbody使う場面でdoを使えって話になってるな
833デフォルトの名無しさん
2018/04/21(土) 05:19:08.38ID:LqWa1ZEr
https://issues.dlang.org/show_bug.cgi?id=18770
834デフォルトの名無しさん
2018/04/22(日) 08:17:40.54ID:kKNIjb5q
DがしっかりしてればGoだのRustだのでてくる余地はなかったのに
835デフォルトの名無しさん
2018/04/22(日) 13:31:55.46ID:/2pIZVDm
所詮はコミュニティベースの開発だからな
GoogleやMozillaみたいな企業ベースに対抗するのはコアメンバーのモチベーションや運に依存する

そういう意味ではRubyやPythonってすげーな
836デフォルトの名無しさん
2018/04/22(日) 17:38:45.67ID:tG1AxaFx
うむ
837デフォルトの名無しさん
2018/04/26(木) 09:05:31.10ID:JKdk44sF
Dで作ったWindowsコンソールアプリで標準出力に文字列が流れ続けてるところに
例:while ( true ) { writeln( "hoge" ); }
クリックで文字列選択したあと右クリックすると
Access Violationで落ちる現象どうにかならんもんか

writeだろうがlogger.logだろうがprintfだろうがputsだろうが落ちる
VCのCコンソールで作ったコンソールアプリだとこんな事起きないのに

これの対策がtry-catchでErrorクラスをトラップとか馬鹿げてる
838デフォルトの名無しさん
2018/04/26(木) 16:07:08.57ID:obVS20md
バッファの問題なんかね
839デフォルトの名無しさん
2018/04/26(木) 18:27:38.60ID:JKdk44sF
落ちない場合もあったんで最小コードを探ってみたところ
これ↓だと>>837の操作をしても落ちなかった

import core.sys.windows.windows;
import std.stdio;

void main()
{
   SetConsoleOutputCP( CP_UTF8 );
   while ( true ) writeln( "ほげ" );
}

出力が"hoge"だとSetConsoleOutputCP呼び出しの有無に拘わらず落ちる
SetConsoleOutputCPを呼んでいない場合は出力の内容に拘わらず落ちる
SetConsoleOutputCPを呼んでいる場合は出力が"ほげ"だと落ちないが"ほげhoge"だと落ちる

どうしてそんな事になるのかワケワカメ
840デフォルトの名無しさん
2018/04/27(金) 15:42:00.69ID:ash3pEtl
カルノー図を描くんだ
841デフォルトの名無しさん
2018/04/28(土) 21:58:58.46ID:4vnB69wL
[[[ ][ ]]]\[[]] [[[]]]],[[[ [][] ]
842デフォルトの名無しさん
2018/04/29(日) 01:54:00.18ID:q/RtCgaj
>>837>>839
再現しませんでした
Windows7(32bit)
DMD32 D Compiler v2.074.1
LDC - the LLVM D compiler (1.3.0): 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");
}
}
843デフォルトの名無しさん
2018/04/29(日) 02:45:31.13ID:GU4PXxiP
既に 2.080 beta が出ているというのに
844デフォルトの名無しさん
2018/04/29(日) 03:37:46.18ID:I3o29iby
>>842
すまん、こっちの環境はWindows10(64bit) 、DMD32 D Compiler v2.079.1 だわ
でも俺の環境だと2.074.1でコンパイルしても落ちたわ

-g -debugオプション付けて>>842と同様のコードで例の手順やって出るエラーログが以下↓

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
845デフォルトの名無しさん
2018/04/29(日) 09:46:06.44ID:GU4PXxiP
少々遅くなってもいいなら
writeln() のたびに stdout.flush() してやるのが簡単

以前から終了時のバッファ排出でバグがあったけど
去年くらいに Writer 系内部処理を何度も"改善"してたと思う
846デフォルトの名無しさん
2018/04/29(日) 13:12:23.84ID:I3o29iby
stdout.flush();で問題は解決しなかったけど
-m64オプション付けてコンパイルしたら落ちないようになった
WOW64を過信し過ぎてたわ
847デフォルトの名無しさん
2018/04/30(月) 13:23:54.69ID:9wPwzi/d
[[[ [ "[]" ]]] [] [][[[ [] ]][]
848デフォルトの名無しさん
2018/05/03(木) 00:28:46.61ID:W9rxAk6I
Dカンファレンス2018 in ミュンヘンのライブ配信



日本電子専門学校で非公式Dカンファレンスやったのがもう10年前か…
849デフォルトの名無しさん
2018/05/03(木) 00:32:00.58ID:W9rxAk6I
ついでにDMD2.080.0リリース
https://dlang.org/changelog/2.080.0.html
850デフォルトの名無しさん
2018/05/05(土) 07:51:54.64ID:Hux5ZwPL
DでGUIってポトペタできるの?
851デフォルトの名無しさん
2018/05/05(土) 09:38:05.15ID:fc3S9c8B
wxD
852デフォルトの名無しさん
2018/05/06(日) 08:25:54.57ID:HIB9nax/
ポトペタどころか
バージョンアップにしっかり追随して安心して使えるGUIライブラリないよ
853デフォルトの名無しさん
2018/05/08(火) 03:20:35.99ID:ypr7siab
インスタンス作るまでオーバーライドしてない抽象メソッドがあってもエラーにならないってわけわからん
さっさと教えろよ
854デフォルトの名無しさん
2018/05/08(火) 16:24:19.12ID:75TKeVia
使うまではエラー出ない方がいいやん
855デフォルトの名無しさん
2018/05/09(水) 00:52:11.39ID:urtq8In6
-betterC が使えるようになってから出来ることが格段に増えたな
組み込み周りはもちろんのこと、DのコードからWebAssembly吐ける日が来るとは思ってなかった
856デフォルトの名無しさん
2018/05/09(水) 08:31:17.51ID:DadRmw9B
最初からやっとけばよかった
方向性を間違えていた
857デフォルトの名無しさん
2018/05/10(木) 20:31:51.52ID:pG/0Qta8
D言語も大分落ち着いてきた頃合いだしそろそろ見直される時代が来てもいいのよ?
(なんか最近deleteが非推奨になったような気もするが)
858デフォルトの名無しさん
2018/05/13(日) 23:12:24.94ID:l20zYg8v
競プロでD言語を使いまくってD言語を宣伝だ!
859デフォルトの名無しさん
2018/05/13(日) 23:40:01.38ID:zmXs6vK1
競プロとD言語は相性いいと思うんだけどな
俺も競プロでD言語使ってるし
860デフォルトの名無しさん
2018/05/17(木) 00:25:08.63ID:AoIdJqgi
変数への再代入禁止を意味するfinalがいつの間にか使えなくなっとるやん
コンパイラに促された通りconst付けてもnot callable using a `const` objectって怒られるし
ちゃうねん、Javascriptのconstみたいに事故防止に再代入のみを禁止したいねん

廃止要素に関してはどうも知識のアップデートが追いつかん
861デフォルトの名無しさん
2018/05/17(木) 12:42:43.82ID:HY+Xmele
umu
862デフォルトの名無しさん
2018/05/17(木) 21:48:23.32ID:aSY3G8ai
D言語はもう終わりなんだよ
というか始まってもないというか
863デフォルトの名無しさん
2018/05/17(木) 22:15:29.42ID:sUJws5+j
そういう煽りは要らないっすね、このスレには
864860
2018/05/17(木) 22:42:36.00ID:AoIdJqgi
final変数がいつの間にか廃止してた問題は
scope変数への再代入がいつの間にかコンパイルエラー出るようになってたことで解決したわ
スコープ内限定で再代入禁止でスコープを抜ければ変数の寿命が来る、ってことでscope変数で要件を満たせる
865デフォルトの名無しさん
2018/05/18(金) 17:47:42.29ID:0IKxFX6d
>>862
流産というか仕様変えすぎて育つ前に首切ってる感じ
866デフォルトの名無しさん
2018/05/20(日) 15:02:22.61ID:q06gwnuv
産みっぱなしの児童労働やで
867デフォルトの名無しさん
2018/05/20(日) 23:02:17.61ID:qH56GQyK
aliasがいつの間にか構文変わってたのは知ってたけど
typedefもいつの間にか消えて使えなくなってるのかよ
しかも従来のやり方と比べて代替手段がクソ面倒
868デフォルトの名無しさん
2018/05/20(日) 23:08:04.29ID:qH56GQyK
MDN並みに日本語ドキュメントが最新に追いついていて
現行仕様、廃止仕様がきちんと整理されていないとツライな
ちょっと離れてるだけで記憶に残ってるD言語とはまるで別言語になってる
869デフォルトの名無しさん
2018/05/21(月) 10:14:37.88ID:6DKDYwaD
うむ
870デフォルトの名無しさん
2018/05/23(水) 19:08:02.45ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

KUKID
871デフォルトの名無しさん
2018/05/23(水) 21:20:31.33ID:HAh7S+Yv
change log は見やすくなってるよ
時々重要な変更がすっぽり抜けてるけどな

言語レベルの廃止も一応リスト化されてるよ
https://dlang.org/deprecate.html

今気づいたが2ヶ月毎のリリースって明言されてるな
minor release とかふざけたこと書いてるけど
872デフォルトの名無しさん
2018/05/24(木) 01:24:55.66ID:cbZMWmWW
>>871
そのページ初めて見るんだけどどっから飛べるんや…
873デフォルトの名無しさん
2018/05/24(木) 01:51:49.54ID:cbZMWmWW
>>871
そして昔確かにあったはずのfinal/const/invariantの
( https://digitalmars.com/d/final-const-invariant.html )
再代入禁止を意味するfinal記憶クラスの仕様は何処へ消えたんや…
874デフォルトの名無しさん
2018/05/24(木) 09:58:50.53ID:fftgGS82
色々と残念になっていくな
875デフォルトの名無しさん
2018/05/24(木) 19:20:19.04ID:19Fz0o1F
文句あるならチミたちがD言語開発に直接関わりなさいな
876デフォルトの名無しさん
2018/05/25(金) 12:29:53.89ID:llbJVLc1
いつの間にか使えなくなってて
しかも廃止仕様リストにも載ってなきゃ
どこに消えたんだってのは普通に抱く感想だよ
877デフォルトの名無しさん
2018/05/25(金) 16:14:50.43ID:XO9fqtgP
そういうの大事だよね
878デフォルトの名無しさん
2018/05/25(金) 21:13:52.67ID:Kp5EEe8w
少なくとも俺がいじり出した10年くらい前には既にそんな機能なかった
879デフォルトの名無しさん
2018/05/25(金) 21:45:50.20ID:llbJVLc1
当時穴が開くほど読んだもんだなぁ

https://web.archive.org/web/20071011061638/http://www.kmonos.net/alang/d/final-const-invariant.html
880デフォルトの名無しさん
2018/05/26(土) 17:33:25.22ID:VmZ0B+DV
終わっていくってこういうことなんだな
881デフォルトの名無しさん
2018/05/26(土) 21:43:43.26ID:Yg2bLXCl
次バージョンから来る契約構文の追加は楽しみだ

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)
{
// ...
}
882デフォルトの名無しさん
2018/05/27(日) 10:51:50.80ID:K2zIueyC
Dってnull安全性の機能は今のところ標準では用意されてないカンジ?
template使って実現すること自体は簡単そうだけど
883デフォルトの名無しさん
2018/06/10(日) 18:04:56.72ID:arddwNhh
std.conv.to!intでstringからintに変換しようと思ったんですけど、
stringで表現される数字が全角でした。
こういう場合、どうすればいいですか?
884デフォルトの名無しさん
2018/06/10(日) 22:54:43.49ID:LYbFojL+
要素に対し'0'引くだけでint値を得られるし
'0'引いて'0'足せば半角数字の文字コード得られるし
あとは煮るなり焼くなり
885デフォルトの名無しさん
2018/06/11(月) 00:12:59.63ID:VBB2bpQs
>>884
なるほど。
文字コードが連続してるからそういう方法あるんですね。
886デフォルトの名無しさん
2018/06/11(月) 10:45:31.47ID:tK3aH3wF
漢数字はテーブル用意するのかそれともi18nされてるのか
887デフォルトの名無しさん
2018/06/11(月) 20:26:30.57ID:xf3num2h
意味的に連続する文字の文字コードが連続してる保証ってないって話ではなかったっけ
888デフォルトの名無しさん
2018/06/12(火) 16:49:06.21ID:bLF3+6cr
二支とか十干だな
889デフォルトの名無しさん
2018/06/12(火) 16:49:34.78ID:bLF3+6cr
変なとこで切れた
十二支と十干で干支
890デフォルトの名無しさん
2018/06/12(火) 17:10:31.20ID:eeJGE1xP
tr関数でASCIIに変換すればいいんじゃね。
と思ったらハイフン'-'が厄介だった。tr(s, "0123456789+−", "0123456789+-");
891デフォルトの名無しさん
2018/06/18(月) 19:23:44.09ID:MmynirXE
RustスレでD言語は死に絶えたって言われて何も言い返せなかったわ…
892デフォルトの名無しさん
2018/06/18(月) 19:48:03.22ID:UtQrM811
おかえり
893デフォルトの名無しさん
2018/06/18(月) 21:11:21.63ID:w1ISs/TA
むしろ更新が落ち着いた今こそ復権のタイミングじゃないか
というか他の言語だって追加に廃止に非推奨と仕様コロコロ変わってて
Dのこと言えないじゃないか
894デフォルトの名無しさん
2018/06/19(火) 11:25:39.55ID:tjlbsfDK
D->LLVM->ネイティブとかさ
アプリのフレームワークで共通の鰌で
Windows,Android,OSX,iOSとかで動くようにならないかな
895デフォルトの名無しさん
2018/06/19(火) 11:29:17.04ID:QOayKepT
UWPとかに対応しないと
896デフォルトの名無しさん
2018/06/27(水) 11:31:28.73ID:ZyTQ80WT
D言語でCGI作る場合POSTデータってどうやったら取れますか?
897デフォルトの名無しさん
2018/06/27(水) 11:58:51.27ID:qKnsPtkx
CGIならサーバーの設定次第で勝手にコマンドライン引数なり標準入力なりに入ってくるはずだろ
D側で考えることは特にない
898デフォルトの名無しさん
2018/06/27(水) 20:33:43.97ID:+T+Up6NP
むしろPOSTは普通に取れてた
取れないのはGETの方だった
まぁ結局getenv("QUERY_STRING")で取れたけど
DってCみたいにポイントをそのまま配列としては使えないんですね
899デフォルトの名無しさん
2018/06/28(木) 01:40:10.19ID:FdbC2U6h
unicode1バイト目が
\0
というオチ
900デフォルトの名無しさん
2018/06/28(木) 22:29:21.28ID:lMLAd/CT
>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
901デフォルトの名無しさん
2018/07/04(水) 14:01:26.85ID:lH1tX97N
ようやくDMD2.081.0のリリース版来たやんけ
902デフォルトの名無しさん
2018/07/04(水) 22:05:22.52ID:gFgZc5FG
PDR
903デフォルトの名無しさん
2018/07/05(木) 16:30:06.53ID:AeL6VB/V
PDR
904デフォルトの名無しさん
2018/07/21(土) 10:05:01.11ID:HztBSU4B
D言語って将来性あるの?
学んでおいて損はない?
905デフォルトの名無しさん
2018/07/21(土) 11:01:32.26ID:JzufiDOi
将来性は微妙
損はない
906デフォルトの名無しさん
2018/07/22(日) 07:56:57.07ID:7emN8jqZ
C言語みたいな化石言語使い続けないといけないの早くなんとかしてくれ
907デフォルトの名無しさん
2018/08/11(土) 12:00:22.25ID:3BcXSGzx
dflってもう使えんの?
908デフォルトの名無しさん
2018/08/19(日) 17:17:14.78ID:81TKEpi+
1年以上ほったらかしだったがフォーク版なら特に問題なかった
909デフォルトの名無しさん
2018/08/25(土) 09:37:03.11ID:TUMq6wBN
https://github.com/JesseKPhillips/dfl
ここが最新メンテナだと思ってたが更新停止を明言されちまったな

DWT が標準GUIとして継続してくれればいいんだが
910デフォルトの名無しさん
2018/08/25(土) 12:44:14.71ID:6IfF+cbw
ポトペタしたい
911デフォルトの名無しさん
2018/08/25(土) 15:59:29.12ID:l6qIS0xn
別にD言語に限った話でもないけど
DelphiやQt DesignerやXcodeのリソースファイルを読み込む部分だけ書けば
どんなGUIライブラリでもポトペタモドキはできると思うんだ
実例は見たことない
912デフォルトの名無しさん
2018/09/01(土) 11:14:11.93ID:QmQOTtaG
今日本で最もアツいD言語コミュニティって何処なん?
15年前はここだったけど
913デフォルトの名無しさん
2018/09/01(土) 13:47:55.16ID:i/jVHK5F
過疎ってるけどここ
914デフォルトの名無しさん
2018/09/01(土) 20:03:13.23ID:ZleIwKxc
競プロで流行らせて盛り上げようぜ
915デフォルトの名無しさん
2018/09/01(土) 21:05:32.60ID:KTWSZRWs
Rust,Goより良いと思うんだけどなあ
916デフォルトの名無しさん
2018/09/01(土) 21:59:11.71ID:rtR930fJ
自分もコミケでD同人買って読むまで知らなかったけどDUBっていうD言語のパッケージマネージャあるんだよな
http://code.dlang.org/
917デフォルトの名無しさん
2018/09/02(日) 01:33:02.61ID:YXkmV9AS
>>915
ほんそれ
918デフォルトの名無しさん
2018/09/02(日) 06:46:58.89ID:TkJi8FAz
こんなのあるのな
http://code.dlang.org/packages/vibe-d
http://code.dlang.org/packages/dlangui
919デフォルトの名無しさん
2018/09/02(日) 06:54:20.44ID:TkJi8FAz
ラズパイでも使えそうだな
http://code.dlang.org/packages/dgpio
920デフォルトの名無しさん
2018/09/02(日) 10:47:36.34ID:kbbUS7De
vive.d は希望の星やで
DUB もそこが作ってるし
921デフォルトの名無しさん
2018/09/22(土) 15:13:01.38ID:xOVRbYWf
Nim いいね
922デフォルトの名無しさん
2018/11/05(月) 01:16:39.94ID:rYTjRCxn
gccに入ったのおめ
923デフォルトの名無しさん
2018/11/05(月) 13:41:51.79ID:o5QGnfIr
いつの話よ
924デフォルトの名無しさん
2018/11/05(月) 18:04:59.72ID:rYTjRCxn
ごく最近だよ
gccの公式リポジトリにgdc一式が入った
925デフォルトの名無しさん
2018/11/05(月) 22:07:45.33ID:5ZQ/MJVc
入るのはだいぶ前に決まってたけど実際に入ったの?

だとしたらめでたい
926デフォルトの名無しさん
2018/11/06(火) 11:34:12.15ID:vyXuaWzf
遅すぎた春🎊
927デフォルトの名無しさん
2018/11/06(火) 13:39:43.26ID:e09+EfP6
gcjが外れたからgc付き言語が無くなってチャンスではあったのだけれども
goが先に入っちゃって時節を逃した感はどうしても
928デフォルトの名無しさん
2018/11/08(木) 23:12:51.64ID:IsYSfhKR
ついに入ったのか
しかしGDCはバージョンアップが遅れに遅れてほとんど相手にされないレベルだったけどどうなったのかしら
929デフォルトの名無しさん
2018/11/09(金) 12:15:39.04ID:mwKVhTqG
https://qiita.com//outlandkarasu@github/items/a2243eb3adbe906ec30d
930デフォルトの名無しさん
2018/11/10(土) 13:52:26.13ID:hzkpPvzE
風評被害甚だしい

【接客】クレーマーの餌食になる人は「この言葉」に注意 モンスタークレーマーだけでなく「ふつうのお客様」をも怒らせる“D言語”とは
http://2chb.net/r/editorialplus/1539062055/
931デフォルトの名無しさん
2018/11/10(土) 16:33:56.24ID:yzCMB8/E
でもその「D言語」はマナー屋の造語なんですよ
ですからこのスレとは関係ないんです。だってここのD言語はうぉるたん作ですもの
932デフォルトの名無しさん
2018/11/10(土) 20:04:13.92ID:iAbNNeDp
だから風評被害なんだろ
933デフォルトの名無しさん
2018/11/21(水) 17:48:45.86ID:hwLUtClc
CPUとメモリをたっぷり使うプログラムを書いたんですけど、実行中、下記のエラーが発生してしまうことがあります。
core.exception.OutOfMemoryError@src\core\exception.d(693): Memory allocation failed

タスクマネージャを見ながら実行してみると、多い時でメモリを1700MBぐらい使っていて、上記のエラーが出たときは1100MB程度でした。
PCのメモリは8GB積んでいて、プログラム実行中も2〜3GBぐらいは空いていました。
未使用のメモリがまだ残っているのにアロケーションに失敗するのはどうしてなんでしょうか?
そして、何か回避方法はありますか?
934デフォルトの名無しさん
2018/11/21(水) 21:37:17.53ID:SmkNBI+1
大きな領域を一度に確保しようとして
空き容量には余裕があるけどその領域を確保できる隙間がないから失敗したとか?
935デフォルトの名無しさん
2018/11/21(水) 22:16:34.40ID:z3Is5rCO
たぶん 32bit やろ 64 bit でいいならそっちにしたほうが無難
GC も肝心なときにコケる印象

まさか無いとは思うけど仮想メモリ無効にしたりしてないよね
936デフォルトの名無しさん
2018/11/21(水) 22:30:35.42ID:H1v4KZsy
D言語のGCってコンパクションやってないんだっけ?
937933
2018/11/21(水) 23:21:11.93ID:hwLUtClc
>>934
なるほど、そういう可能性もあるんですね。

>>935
32bitのdmdを使っていました。
4GBより大きいメモリを積んでる場合、32bitだと使えない場合があるということですね。
64bitを試してみます。
938デフォルトの名無しさん
2018/11/23(金) 17:30:19.97ID:WNoH6qHd
>>929のDLang Tourっての見たらVibe.dの事も普通に載ってるのな
興味はあったけど今まで拾い読みする程度の情報くらいしか知らなかったけど
これを機にやってみようかな
939デフォルトの名無しさん
2018/11/23(金) 18:07:04.87ID:ZtWiRdZy
>>937
32bitプロセスならプロセスが使える仮想メモリの上限は2GBだからね
これはOSの制限なので、しょうがない
940デフォルトの名無しさん
2018/11/23(金) 18:54:10.07ID:tTn5D6Z9
コンパイラを変えるんじゃなくてビルドモードを変えるんやで ( -m64 )
デフォルトの GC はゴミだが 64bit ならまぁまぁ使えると言ってるんやで
941デフォルトの名無しさん
2018/11/25(日) 23:30:27.63ID:kJa4tJwN
他のGC付言語と比べてもDのGCはゴミ?
942デフォルトの名無しさん
2018/11/26(月) 13:35:29.96ID:M4lkR7sD
JSよりまし
943デフォルトの名無しさん
2018/11/26(月) 16:41:04.95ID:E028bwsj
インストール版でインストールしたdmd2.083で適当なコードをビルドすると"Access Violation"とだけエラーが出て、
ビルドが完了しないんですが、原因は何なんでしょうか?

上記のエラーはDebugモードの時のみで、Releaseモードの時は正常にビルドできます。
またこのコードはdmd2.071ではDebug、Releaseともに正常にビルドできました。
944デフォルトの名無しさん
2018/11/26(月) 16:46:42.83ID:M4lkR7sD
「適当なコード」

再現する最小限のものを貼れ
945デフォルトの名無しさん
2018/11/26(月) 17:01:45.17ID:DMixgTsv
OSとか周辺情報皆無で質問されてもね…
946デフォルトの名無しさん
2018/11/26(月) 18:08:49.61ID:E028bwsj
>>944
import std.stdio;
void main()
{
  writeln("Hello World!");
}
これをビルドすると例のエラーになります。

>>945
win10です。
IDEはVS2013を使いました。
947デフォルトの名無しさん
2018/11/27(火) 20:08:46.24ID:F5dyxMID
OSからインスコやり直し
948943
2018/11/27(火) 22:40:25.69ID:9c7HJkqh
>>947
厳しいですね。

https://qiita.com/sfujita/items/55dfd9203dffe05598c6
一番下のsc.iniで上書きして、hello.dとBuild.batをコピペして、
Build.batを実行したら、正常に動作しました。
VSの方で何か問題があるのかもしれないです。
949デフォルトの名無しさん
2018/11/27(火) 22:53:19.06ID:pagiDKMJ
去年くらいから VS のインストール情報を検索してリンカやSDKを自動選択する機能がついた
VS2013 は古すぎてマズイ気がする
950943
2018/11/28(水) 16:57:45.65ID:lzMMCZH4
VS2017のインストールとdmd2.083インストーラ版のインストールを行い、Hello World!をビルドしてみましたが、
hoge.pdb: cannot add symbols to module, probably msobj140.dll missing
というエラーが出ました。
$(VCINSTALLDIR)binと$(VSINSTALLDIR)Common7\IDEをエクスプローラで確認してみましたが、
どちらともmsobj140.dllはありました。
なぜエラーが出るのか全く分かりません。
951デフォルトの名無しさん
2018/11/28(水) 18:22:14.14ID:hLCjBKjM
x64の方にはあるけどx86の方には無いな
952943
2018/11/28(水) 20:00:53.65ID:lzMMCZH4
私の環境では、Program Files (x86)\Microsoft Visual Studio 14.0にはありましたが、
Program Files\Microsoft Visual Studio 14.0にはありませんでした(全部で64KB程度しかない)。
sc.iniはProgram Files (x86)の方を参照するようになっていますが、32bit版のVSじゃ使えないんでしょうか?
953943
2018/11/29(木) 13:56:17.42ID:9E8r92ip
>>948のサイトの手順をやり直したら解決しました。
VSのインストール時に、VisualC++に関するオプションをいじった(5GBぐらい大きくなった)のが影響したのかなぁ。
954デフォルトの名無しさん
2018/11/29(木) 15:01:17.62ID:9iyhNIn7
つーか>>948の記事が古い
2.079以降は64bit版ビルドするのにVC++もWindowsSDKも不要になってる
955デフォルトの名無しさん
2018/11/29(木) 20:54:07.49ID:eyw2ItTx
llvm のツールチェーンが使えるようになったんだっけ
でも本格的にやるにはデバッガがあったほうがいい
956デフォルトの名無しさん
2018/11/29(木) 22:53:22.13ID:OLmOFAf+
12月1日のQita Advent Calendarが何かしらの参考になるかもしれないね
まだ内容は当然わからないけど
957デフォルトの名無しさん
2018/12/02(日) 18:19:15.04ID:r/YV3Hmh
無事1日が終わりました
本当にありがとうございました
958デフォルトの名無しさん
2018/12/12(水) 19:50:50.65ID:KrrqRBoW
Linuxでvibe.dやるならコンパイラどれ使ったらいい?
959デフォルトの名無しさん
2019/03/09(土) 18:08:15.48ID:1edG4e+S
2.085 で Precise GC の試験実装が始まったのにお前らときたら

>>958
公式でいいんじゃね
ldc の追随も凄まじいけど
960デフォルトの名無しさん
2019/03/21(木) 00:18:56.75ID:oV/wBHSs
std.conv.toから投げられた例外をThrowableでcatchしてtoStringとwritelnでエラーメッセージを書き出すと、
関数呼び出しの経路とかソース上の行番号が表示されますよね。
それが、いろいろ改修してるうちに途中で途切れたようなエラーメッセージしかでなくなってしまいました。
原因わかる方いますか?
961デフォルトの名無しさん
2019/03/21(木) 00:27:04.55ID:7qm1Whlz
ascii以外の字が混ざってないか
multibyteの不正な文字(1byte目だけあって2byte目が現れずに次のascii文字が並ぶとか)
962デフォルトの名無しさん
2019/03/21(木) 02:27:46.51ID:oV/wBHSs
>>961
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
963デフォルトの名無しさん
2019/03/21(木) 08:16:53.81ID:Ai8cDmsG
スタックトレースは結構雑で何年もバグが放置されてる感ありあり
そのへんを気にする人はデバッガを使うから

OSやコンパイラ実装でも違う処理してるからそのへん書かないとだめよ
Windows は新しめのバージョンで改善があったはずだけど
964デフォルトの名無しさん
2019/03/21(木) 08:48:24.57ID:Ai8cDmsG
Win + 64bit (MSVC) と思っていろいろやってみたけど再現しない
llvm 実装は動かしたことないからわからんちん

>Windows は新しめのバージョンで改善があったはず
これは関係なかったぽい
965デフォルトの名無しさん
2019/03/21(木) 10:59:19.34ID:/Eg7TqPx
windows は git bash を cmd の代わりに使ってる
快適すぎる
966デフォルトの名無しさん
2019/03/21(木) 15:14:53.25ID:QmWGgmIB
>>963-964
Windows10、dmd2.083.0です。
VSにVisualDを入れて使ってます。
967デフォルトの名無しさん
2019/04/04(木) 17:37:05.13ID:VNw1eXct
今年はロンドンでカンファレンスやるみたいね
5月8日〜5月10日までカンファレンス、11日にハッカソン
https://dconf.org/2019/index.html
968デフォルトの名無しさん
2019/04/18(木) 03:00:23.27ID:6Z/jOLC9
969デフォルトの名無しさん
2019/05/06(月) 09:54:41.16ID:tU2fuz9+
2.086 では
import std;
一発で Phobos 全部入りができるらしいぞ
970デフォルトの名無しさん
2019/05/06(月) 18:39:56.75ID:o0+2Jvom
今更感
971デフォルトの名無しさん
2019/05/07(火) 21:39:34.26ID:8L3IENLQ
そういう楽する系の機能はバグの温床
972デフォルトの名無しさん
2019/05/08(水) 16:41:18.84ID:5UkCGLAo
gcc9.1リリースされgdcが含まれるようになったね。
973デフォルトの名無しさん
2019/05/08(水) 20:49:44.16ID:ifj8Eltp
ついに来たか
974デフォルトの名無しさん
2019/05/08(水) 21:14:43.58ID:XVr67Z+W
>>971
今までモジュール処理がクソだったから何年もかけてバグ潰してきたんやで
975デフォルトの名無しさん
2019/06/19(水) 04:45:15.72ID:tVNS+22r
【出資】松本卓朗 人工知能詐欺【注意】
http://2chb.net/r/rikei/1560859403/
976デフォルトの名無しさん
2019/07/04(木) 15:04:12.18ID:7idq17x4
char[]をstd.algorithm.sorting.sortでソートしようするとコンパイルエラーになるんですけど、
辞書順にソートしたい場合、どうやればいいですか?
977デフォルトの名無しさん
2019/07/04(木) 17:59:32.86ID:VpXpLSzf
string[]
978デフォルトの名無しさん
2019/07/04(木) 19:29:20.37ID:7idq17x4
1文字の文字列の配列という扱いをしないといけないのかー
979デフォルトの名無しさん
2019/07/04(木) 20:40:56.65ID:gcxSuYzr
mutable だからじゃないの?
980デフォルトの名無しさん
2019/08/09(金) 21:17:38.85ID:DMNWEXMT
dchar[]ならソートできそう
981デフォルトの名無しさん
2019/08/09(金) 23:44:03.55ID:FZatNxGm
なるほどその手があったか
全く使わないから存在そのものを忘れてた(一応 wchar までは試した
982デフォルトの名無しさん
2019/09/30(月) 15:56:21.91ID:+ZTZZ6hs
次スレは>>990くらいでいい?
983デフォルトの名無しさん
2019/09/30(月) 19:05:43.75ID:gJLA2fQe
984デフォルトの名無しさん
2019/10/01(火) 09:07:19.23ID:HKAyRowK
比較対象がPHPとか大丈夫なのか

Saving Money by Switching from PHP to D
https://dlang.org/blog/2019/09/30/saving-money-by-switching-from-php-to-d/
985デフォルトの名無しさん
2019/10/07(月) 14:28:14.46ID:nnDn0jE7
dmc ってもう更新されないの?
986デフォルトの名無しさん
2019/10/12(土) 02:30:16.84ID:jfs+9yac
32bit 対応すらマトモにできてるとは言い難いのに
987デフォルトの名無しさん
2019/10/12(土) 12:50:02.30ID:mbasSDLv
dgcで大逆転するからするから
988デフォルトの名無しさん
2019/10/20(日) 10:00:15.38ID:Xl2t0ZNf
Dはもう死んでしまったの?
989デフォルトの名無しさん
2019/10/20(日) 20:32:24.33ID:/h31ZBYY
almost dead
990デフォルトの名無しさん
2019/10/21(月) 03:47:18.26ID:15XQsNX7
>>988
まだよ!
991デフォルトの名無しさん
2019/10/21(月) 13:02:30.03ID:c9dhXgWB
C
C++
D
Go
それぞれのメリットデメリットを教えてください
992デフォルトの名無しさん
2019/10/21(月) 20:13:34.04ID:z4mh9OGj
ggrks
993デフォルトの名無しさん
2019/10/22(火) 10:51:03.05ID:F+STirlY
俺は案外gccに入ったからDはそのうち人気出るんじゃないのかなと思ってる。使わないけど。他の言語より明かに素直でとっつきやすいと思うから。
994デフォルトの名無しさん
2019/10/22(火) 10:59:35.52ID:fxbuxtP/
知らんけど/メリット/デメリット
C/小さい・速い・枯れている・ライブラリ豊富/古い・手間掛かる
C++/betterthanC/カオス・遅い
D/小さい・速い・素直・ガベコレ/利用者少ない?
Go/ガベコレ/でかい・癖強い
995デフォルトの名無しさん
2019/10/23(水) 00:26:56.16ID:eMCh2wBM
Dは死んだ
これからはRust
996デフォルトの名無しさん
2019/10/23(水) 00:34:53.79ID:JxOFlXnS
Dみたいな変態構文の言語が流行るわけないだろ
997デフォルトの名無しさん
2019/10/23(水) 13:57:04.72ID:rS820tUE
ライバル来た


次世代が造った言語 blawn
http://2chb.net/r/tech/1571717826/
998デフォルトの名無しさん
2019/10/24(木) 13:27:01.47ID:PdyZnCeq
Rust > D > Go > C > C++
こんな感じか
999デフォルトの名無しさん
2019/10/24(木) 22:31:54.42ID:l0dq/DHs
なんの大小関係なん?
1000デフォルトの名無しさん
2019/10/24(木) 22:56:28.84ID:ADhpIzNi
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
-curl
lud20250119214913ca
このスレへの固定リンク: http://5chb.net/r/tech/1422155249/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「D言語 Part34©2ch.net YouTube動画>3本 ->画像>2枚 」を見た人も見ています:
DQ10・11リアリティ齊藤が公開生放送の場でSwitchに対して苦言
【iOS】VOEZ総合 part5【Android】
【DMM.R18】アイオライトリンクR Part43 ©bbspink.com
【DMM.R18】LitGear(リットギア)part9 ©bbspink.com
【DMM.R18】アイオライトリンクR Part20 ©bbspink.com
【HONDA】フィット3 ガソリン車専用 Part10【FIT3】
【DMM.R18】天樹下のリベリオンガール X指定 part10 ©bbspink.com
【愛知】酒を飲んで車運転し原付バイクと衝突か 大学生2人死傷させ知人の男を身代わりにした疑い 57歳女を逮捕 [PARADISE★]
【DB】データベーススペシャリスト試験 Part58
【DMM.R18】AliceRe:Code-X アリスレコード Part16 ©bbspink.com
【DMM.R18】天樹下のリベリオンガール X指定 part19 ©bbspink.com
【DMM.R18】 迷宮探索ドラゴンプリンセス Part78 ©bbspink.com
【DMM.R18】戦乱プリンセスG Part43 ©bbspink.com
【DMM.R18】姫狩りインペリアルマイスターpart13 ©bbspink.com
【VRAV】作品語りスレ30【バーチャルリアリティAV】 ©bbspink.com
【Juice=Juice】稲場愛香ちゃん応援スレPart148【まなかん】
西武鉄道車両総合スレッド Part57
最強クリップボード拡張ソフトはこれだ!Part10
【海外BO】ハイローオーストラリアPart47【アフィ禁】
ハリルホジッチジャパンpart745
聖飢魔II PART134 (セットリスト・ネタバレOK)
リラックスコンビニ 快活CLUB PART65
【PS4】リトルウィッチアカデミア 時の魔法と七不思議 Part1
パシフィック・リム Pacific Rim 91
【YouTube】関根理紗アンチスレpart19 【5.5頭身チビゴリラ】
南アフリカで「半人半羊」が生まれ、村人はパニックに(画像あり)
【作家デビュー希望】ジェームズリッチマンヲチスレpart3【無職】
どうぶつビスケッツ×PPP ようこそジャパリパークへ専用 Part.2
ハリルホジッチジャパンpart753
【つばきファクトリー】小片リサちゃん応援スレ Part54【りさまる。】
【箱1】TES V:SKYRIM スカイリム エロネタ part48 ©bbspink.com
北島達也の奇跡体験!アンビリバボー【part4】
シノアリスのんびりスレッド【SINoALICE】 Part.80
【エリック】Eric Clapton Part 28【クラプトン】
【年齢サバ読み】戸田真琴part7(ヤリマン女】 ©bbspink.com
【B.LEAGUE】リンク栃木ブレックスpart18【BREX】
【箱1】TES V:SKYRIM スカイリム エロネタ part20 ©bbspink.com
シノアリスのんびりスレッド【SINoALICE】 Part.118
シノアリスのんびりスレッド【SINoALICE】 Part.50
【箱1】TES V:SKYRIM スカイリム エロネタ part51 ©bbspink.com
幻獣契約クリプトラクト Part156 &copy;2ch.net
【PS4/PS3】テイルズオブベルセリア part121【TOB】
【プロスピ】プロ野球スピリッツA part413
NFL 2022/2023 week6 Part2
【無能運営】テイルズ オブ アスタリアpart313【Klab】
【宮城】仙台情報局Part338
【箱1】TES V:SKYRIM スカイリム エロネタ part44 ©bbspink.com
【新宿】リトリートバーPart9.5(一時避難所) ©bbspink.com
【プロ麻雀リーグ】Mリーグ Part1817
ランス10 part212 ©bbspink.com
【PS3/PS4】テイルズオブゼスティリア【TOZ】part788
【元アイドリング!!!7号】谷澤恵里香 part15
リラックスコンビニ 快活CLUB PART51
新繁殖牝馬 サクラプリンセス Part372
【元N国党】さゆふらっとまうんど Part76【掣肘】
遊☆戯☆王VRAINS 第17話「完全無欠のAIデュエリスト」Part1
【スパドラ】THE BLACKLIST part13【ブラックリスト】
【無能運営】テイルズ オブ アスタリアpart359【Klab】 
スピーカーケーブルおすすめ Part34
ポケットモンスターソード・シールド Part21
アトリエさくらpart15 ©bbspink.com
シノアリスのんびりスレッド【SINoALICE】 Part.72
【頼りは】アトリエさくらpart13【おんぼろ】 ©bbspink.com
ャtトリョナ Part.9 [無断転載禁止]©bbspink.com
デジモンユニバース アプリモンスターズ 第40話 Part1
シノアリスのんびりスレッド【SINoALICE】 Part.65
04:13:54 up 26 days, 5:17, 0 users, load average: 43.87, 49.79, 53.71

in 0.11857914924622 sec @0.11857914924622@0b7 on 020818