トップページ⇒tech
1001コメント241KB

D言語 Part29

■ このスレッドは過去ログ倉庫に格納されています
0001D1はオワコン2012/02/20(月) 14:05:31.03
プログラミング言語 D (D Programming Language) について語るスレッドです。

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

■本家
http://www.d-programming-language.org/
http://www.kmonos.net/alang/d/ (和訳) 最終更新 2011年2月頃
http://d.puremagic.com/issues/ バグ報告

■コンパイラ
http://www.d-programming-language.org/download.html (DMD, 本家)
http://bitbucket.org/goshawk/gdc/wiki/Home (GDC, gccフロントエンド)
http://www.dsource.org/projects/ldc (LDC, バックエンドにLLVM)

■参考URL
http://dusers.dip.jp (D言語友の会)
http://prowiki.org/wiki4d/ (Wiki4D)
http://dsource.org/ (dsource)
0232デフォルトの名無しさん2012/04/19(木) 17:10:06.48
>>231
"ABC" の " が単体でトークンじゃないのと同じように

# は
#line NUM FILE 改行
という特殊なトークンの一部として扱われていた

それが単体でトークンとして扱われるようになった

つまり何が変わるかというと、
q{ } というDのトークンだけを記述できる文字列の中で
# を単体で使用することができるように・・・


ならないじゃねーか、コンチクショウっ!!
0233デフォルトの名無しさん2012/04/20(金) 01:58:15.15
とりあえずの内部的な変更ってやつだな
0234デフォルトの名無しさん2012/04/20(金) 02:34:11.67
>>208
協力者歓迎らしい @ github
ttps://github.com/kinaba/dlang-ref-jp
0235デフォルトの名無しさん2012/04/21(土) 06:35:30.28
std.container.ArrayをVectorみたいな使い方しようと思ったけど中身のポインタ取れないんだねこれ
0236デフォルトの名無しさん2012/04/21(土) 15:49:08.49
Dで実装した日本語全文検索システムがiccでビルドったやつより早くてワロタ
あとはCGIとして動かせれば・・・・・・。
0237デフォルトの名無しさん2012/04/21(土) 16:41:10.01
>>235
どんな使い方かわからんからなんとも
0238デフォルトの名無しさん2012/04/21(土) 16:56:34.81
>>236
そこまで書いたということは・・・分かるな?
0239デフォルトの名無しさん2012/04/21(土) 17:02:47.97
スクリプトやインタプリタじゃねーんだからライブラリをまるっとスタティックリンクすりゃーイイだけじゃん?
0240デフォルトの名無しさん2012/04/21(土) 17:07:10.67
(; ・`д・´)…ゴクリ…
0241デフォルトの名無しさん2012/04/21(土) 17:40:15.20
64bitで動かないんじゃ
0242デフォルトの名無しさん2012/04/21(土) 19:59:20.28
>>235 をなんとかできないかなーと、std.container.Arrayいじってたんだけど、バグかと思われる。
ttp://ideone.com/OIOoj
(dmd2059xWindows)修正がてら追加した Array.Range.ptr を public にしとけば 235 も喜ぶんじゃないか?
0243デフォルトの名無しさん2012/04/21(土) 20:07:00.82
ばぐぅぅぅ
0244デフォルトの名無しさん2012/04/21(土) 20:35:43.76
>>236
Cと同じやり方でうごかせるんじゃねーの?
0245デフォルトの名無しさん2012/04/21(土) 20:51:12.08
>>244
サーバーがdmdが対応してないOSとかじゃね?
0246デフォルトの名無しさん2012/04/21(土) 21:21:29.22
>>245
GDC版使ってみるとか。
クロスコンパイラだし、試してみる価値はあるはず。
0247デフォルトの名無しさん2012/04/21(土) 21:23:02.28
gdcって1.0系じゃ・・・
0248デフォルトの名無しさん2012/04/21(土) 22:40:26.20
std.algorithm.mapにクロージャ渡したい
0249デフォルトの名無しさん2012/04/21(土) 22:58:58.36
>>245
どっこい動かないんだよなぁLinuxなのに。gccバイナリはフツーに動くのに謎だ。ABIのせいか?
0250デフォルトの名無しさん2012/04/21(土) 23:51:13.27
>>249
もしかして、HTTPヘッダ送信してないとか?
0251デフォルトの名無しさん2012/04/22(日) 00:17:13.56
俺のエスパーによると権限の問題だ
0252デフォルトの名無しさん2012/04/22(日) 11:35:17.62
>>248
mapもどきを自作しる
0253デフォルトの名無しさん2012/04/22(日) 11:38:50.40
>>249
俺のエスパーによると
・文字コード
・実行ファイル名に依存する設定の漏れ
・リンケージ指定の漏れ(エントリポイントがmain以外の場合)
0254デフォルトの名無しさん2012/04/22(日) 16:43:46.37
今さら気づいたけど何でコレ出来ちゃうの? おかしいだろ

enum { A=1,B=1 }
0255デフォルトの名無しさん2012/04/22(日) 17:24:05.52
toImpl!ENUM とか final switch とか整合取れないと思うんだけどな〜
0256デフォルトの名無しさん2012/04/22(日) 17:37:27.49
>>255
ヒント
・宣言は式に含めることはできない
・無名enumは型宣言では無い
0257デフォルトの名無しさん2012/04/22(日) 19:18:56.08
するとtypeof(A)はintになるのか
0258デフォルトの名無しさん2012/04/22(日) 20:10:49.65
>>257
その発想は無かった。

ので、試してみた。
http://ideone.com/r0Fka
0259254 訂正2012/04/22(日) 20:17:38.19
今さら気づいたけど何でコレ出来ちゃうの? おかしいだろ

enum E { A=1,B=1 }
0260デフォルトの名無しさん2012/04/22(日) 21:16:03.50
>>259
結局何が言いたいんだ。
0261デフォルトの名無しさん2012/04/22(日) 21:40:49.13
列挙型 が値の重複を許すというのがC系言語の伝統であるという
衝撃の事実をもってこの討論の終わりとしたい


な、納得なんかしてないんだからね、誤解しないでよねっ
0262デフォルトの名無しさん2012/04/23(月) 00:40:18.85
enum E { A=1,B=1 }
static assert(E.A != E.B);
これがだめなのが悲しいってことでしょ
0263デフォルトの名無しさん2012/04/23(月) 02:30:05.95
>>259
理由:列挙子の別名を許すため
enum E { A=1, B=A } // E.BはE.Aの別名

final switchはちゃんと別名を判断してくれる

enum E { A=1, B=A }
void main() {
E e = E.A;
final switch (e) {
case E.A: break; //E.AだけでOK
}
final switch (e) {
case E.B: break; //E.BだけでOK
}
}
0264デフォルトの名無しさん2012/04/23(月) 03:06:00.40
E.T == alian
0265デフォルトの名無しさん2012/04/23(月) 15:10:41.07
alias E.T alien;
0266デフォルトの名無しさん2012/04/23(月) 15:24:17.25
alian を align に空目した俺は、

>>234 には協力できそうにないな・・。
0267デフォルトの名無しさん2012/04/23(月) 15:37:02.70
クロージャ周りでGCのバグ無いか
発生条件わからんが
0268デフォルトの名無しさん2012/04/23(月) 15:51:06.89
GCじゃないな
クロージャ使うとローカル変数が逝ってセグフォ
クロージャの引数型ちゃんと書いたら起こらなくなった
似たような症状ない?
0269デフォルトの名無しさん2012/04/23(月) 16:19:56.62
構造体リテラルと見分けづらい書式だったり?
0270デフォルトの名無しさん2012/04/23(月) 18:50:21.09
>>261
歴史的な理由で、同じ値を使うのが適切なこともある。

例えば文字コードのこれとかw

enum CharctorSet
{
 Shift_JIS = 932
 SJIS = 932
 x-sjis = 932
 MS_Kanji = 932
}
0271デフォルトの名無しさん2012/04/23(月) 19:24:27.54
あー納得した

納得したのはいいが
いつになったらMS932がちゃんと使えるようになるのだということを思い出して悲しくなった
0272デフォルトの名無しさん2012/04/23(月) 22:44:14.61
え?
D言語を使っている外国人は
UTF-8かUTF-16で我慢しろってお達しだけど
知らなかったの?
0273デフォルトの名無しさん2012/04/23(月) 23:01:33.95
C#のEncodingみたいなのくれよ
0274デフォルトの名無しさん2012/04/23(月) 23:07:06.58
>>273
言いだしっぺ登場!待ってました!
0275デフォルトの名無しさん2012/04/23(月) 23:26:59.10
http://site.icu-project.org/home
興味はある。
やる気が続くかは知らない。
応援されたらやる気出る・・・かも?
0276デフォルトの名無しさん2012/04/23(月) 23:58:33.05
今年も自分の誕生日を知らせるソフトが起動した
もう二度とコンパイルできないけどな
0277デフォルトの名無しさん2012/04/24(火) 00:17:37.84
こんな悲しいレス見たの初めてだ
0278デフォルトの名無しさん2012/04/24(火) 00:18:46.48
ソースをアップデートしてないからコンパイルできないって意味だよなw
0279デフォルトの名無しさん2012/04/24(火) 00:19:11.98
おめでと…ううっ
0280デフォルトの名無しさん2012/04/24(火) 00:20:50.23
他の言語にパッケージマネージャが整備されているように、
Dにはコンパイラマネージャが必要なのだ
0281デフォルトの名無しさん2012/04/24(火) 00:24:34.05
>>278
D2できたばっかりの頃ののコードだからな

>>279
ありがとう
D言語10周年記念にはDちゃんの同人誌を出そう
0282デフォルトの名無しさん2012/04/24(火) 00:34:15.28
これか・・・
ttp://www.city.daito.lg.jp/ikkrwebBrowse/material/image/group/14/D-chan.jpg
0283デフォルトの名無しさん2012/04/24(火) 00:38:55.56
>>282
それだけ愛嬌溢れるマスコットならどれだけ普及していたか
0284デフォルトの名無しさん2012/04/24(火) 02:00:42.04
http://i40.tinypic.com/10n6b1v.png
0285デフォルトの名無しさん2012/04/24(火) 02:18:50.61
.o o
< /
p ~q
|д >
|,__/
./ >
J L
0286デフォルトの名無しさん2012/04/24(火) 09:14:48.89
Ver指定で自動変換してくれるソフト欲しい。
自動で出来ない所は指摘してくれれば良し。
0287デフォルトの名無しさん2012/04/24(火) 09:52:28.53
var指定で自動変数にしてくれる現状のdmdで我慢汁!
0288デフォルトの名無しさん2012/04/24(火) 10:51:52.93
そういうのを自動でしづらい奴が deprecated されていくのではないか

リリースごとに移行ガイドはあっていいと思うけど
0289デフォルトの名無しさん2012/04/24(火) 11:37:38.87
#! /bin/dmd-manager 2.058
import std.stdio;
void main() { ... }
0290デフォルトの名無しさん2012/04/24(火) 15:42:25.90
このVerのdmdで通ったと指定すると、最新リリースに自動変換かけて、移行ガイド+注意点+対象行を表示する感じ。
標準リリース内容全てをやってくれるとありがたい。Ver履歴を自力でたどるの面倒。
あと公式サイトのコード例が一部動かないけど、サイト全体をautobuild管理しないの?
公式サイトの文書も文書担当コミッタがバグ管理とか。

D言語はじめたばかりなんで、的外れだったらスマン。
0291デフォルトの名無しさん2012/04/24(火) 16:02:47.60
公式はウォルターの趣味サイトだからなあ
0292デフォルトの名無しさん2012/04/24(火) 16:49:23.66
公式サイトもバグレポ対象
0293デフォルトの名無しさん2012/04/24(火) 16:54:43.14
>>290
そういう足枷をなくしてやりたい放題なところが
Dのよいところでもあり、悪いところでもあり、悪いところでもあり、わ(ry

Java+Eclipse みたいに
枠にはめて手取り足取りなのに憧れを感じはするけども
0294デフォルトの名無しさん2012/04/24(火) 17:14:44.26
あるいは開発サイドにそのような概念を持ち合わせていないという可能性も
0295デフォルトの名無しさん2012/04/24(火) 17:58:59.32
>>293
悪いところが(ry
やりたい放題は良いんだけど、VerUP補助ツールくらいは作れるはず。
ツールを通すと自動で出来る所は勝手に変換して、人力部分は行数と変更点を表示。
表示行を手動で直せば最新で通る、みたいな。
0296デフォルトの名無しさん2012/04/24(火) 22:33:02.90
仕様変更についてはChangeLogから作れるかもしれないけど
副作として生じたバグや挙動変化もあるから
簡単じゃないと思う
0297デフォルトの名無しさん2012/04/25(水) 00:21:26.95
Google Code Jam のせいで Dの注目度が少し高まっているらしい
0298デフォルトの名無しさん2012/04/25(水) 00:26:48.83
仕様にない挙動変化やバグは他の言語でもあるから、仕様部分だけでもやってくれると楽。
0299デフォルトの名無しさん2012/04/25(水) 12:30:36.97
dmdさん、ミスタイプ用の識別子予測でdeprecatedの関数薦めないでください
0300デフォルトの名無しさん2012/04/25(水) 19:58:19.18
うぉるたくん「そのくらいのことで いちいちさわぐな」
0301デフォルトの名無しさん2012/04/25(水) 21:22:09.97
うぉるたくん「やっぱり ぼくが かんがえた ぷろぐらむげんごが いちばん つよいんだ」
0302デフォルトの名無しさん2012/04/25(水) 21:30:35.49
けっきょく Dが いちばんつよくて すごいんだよね
0303デフォルトの名無しさん2012/04/25(水) 21:41:56.48
でぃー「わたしを つかいたいのならば ちからをしめせ」
0304デフォルトの名無しさん2012/04/25(水) 22:33:09.90
D.NET欲しいわ……
0305デフォルトの名無しさん2012/04/26(木) 22:24:23.40
自作の試作コンパイラを試しにpragmaでバージョン指定できるようにしてみたんだけど
ver.毎のphobosのライブラリとソース、レキシカルアナライザを載まなきゃいけないから
コンパイラがアホみたいにでかくなる
ちょっと実用的じゃないね。。。
0306デフォルトの名無しさん2012/04/26(木) 22:32:24.22
>>304
ネイティブ動作という一番のD言語の使用動機を全否定かッ
0307デフォルトの名無しさん2012/04/26(木) 22:42:12.91
そこはnewest version に対するdiff添付で
LTPT (linktime patch technology)だろ!
0308デフォルトの名無しさん2012/04/26(木) 23:04:49.83
>>307
似たような考えでコンパイル時コンパイラ自動生成も今書いてる
鈍足のC++じゃ絶対できないな
0309デフォルトの名無しさん2012/04/26(木) 23:08:14.61
まさかのこのD言語はD言語で書かれています?
0310デフォルトの名無しさん2012/04/26(木) 23:09:12.14
無論 D by D ですよ
0311デフォルトの名無しさん2012/04/26(木) 23:19:05.15
バージョンアップが辛いと思う人はD使わない方が幸せになれると思う
0312デフォルトの名無しさん2012/04/26(木) 23:54:18.92
CだかC++じゃなかった?
0313デフォルトの名無しさん2012/04/27(金) 00:04:30.51
これってウインドウズのGUIのソフトとか作れんの?
0314デフォルトの名無しさん2012/04/27(金) 00:09:13.91
32bit版限定ならそれなりに。
APIを使いこなせる人じゃないと厳しいだろうけど
0315デフォルトの名無しさん2012/04/27(金) 00:19:18.35
理論上はなんでも作れるけど・・・
ライブラリが整備されてない所はすんごく大変w
0316デフォルトの名無しさん2012/04/27(金) 00:24:28.61
今時のを作りたいなら.NET+WPFだろうね
0317デフォルトの名無しさん2012/04/27(金) 00:32:02.64
なるほどありがとうエロい人たち
ローレベルから掘ってく感じなのね
0318デフォルトの名無しさん2012/04/27(金) 00:48:46.30
高レベルなライブラリが出来にくいのは
言語〜ライブラリレベルで破壊的な仕様変更が頻繁に行われているからだよ
そういうのが嫌ならうぉるたくんをひっぱたいて反省させてあげてね
0319デフォルトの名無しさん2012/04/27(金) 01:26:20.20
あ、対話環境欲しいです。
0320デフォルトの名無しさん2012/04/27(金) 01:42:29.62
あたいも環境ほしいです。
0321デフォルトの名無しさん2012/04/27(金) 08:52:23.48
>>313
手っ取り早くWin32のAPI使いたい場合、今もメンテされてるのは
ttp://www.ku6.jp/keyword7/1.html
と
ttp://pen-jr.org/lang_d/tool/htod6.php

>>30の人がDWMAPIとか使ってる。
0322デフォルトの名無しさん2012/04/27(金) 11:42:56.02
>>321
あれ、dsource.orgのやつはもはや古いのか……?
0323デフォルトの名無しさん2012/04/27(金) 18:43:23.22
ライブラリの情報ってどこで取れば良いの?
0324デフォルトの名無しさん2012/04/27(金) 20:59:24.44
ついったで呟く
0325デフォルトの名無しさん2012/04/27(金) 21:28:10.91
ついったはまず名無しにしてくれ
変化が大き過ぎるから都度聞くしかないか
0326デフォルトの名無しさん2012/04/27(金) 21:30:40.92
実はD言語って今でも普通に使ってたり使えてたりする人多いんかな
0327デフォルトの名無しさん2012/04/27(金) 21:32:29.72
一年前と比べるとかなり実用レベル
0328デフォルトの名無しさん2012/04/27(金) 21:49:43.72
なんかの大会だかコンテストで参加者のコードが見れるんだけど1位の人がD言語使ってたってちょっと話題になったよね。
0329デフォルトの名無しさん2012/04/27(金) 22:19:40.07
今だからこそ前より使える
0330デフォルトの名無しさん2012/04/27(金) 22:51:58.18
これだな 今から参加できるのかな?
http://code.google.com/codejam/schedule.html
0331デフォルトの名無しさん2012/04/28(土) 03:56:40.05
cast(auto)とか出来るようにならないかなあ
■ このスレッドは過去ログ倉庫に格納されています