1 :
デフォルトの名無しさん :
2013/07/17(水) NY:AN:NY.AN
2 :
デフォルトの名無しさん :2013/07/17(水) NY:AN:NY.AN
新スレ記念にマジレスすると Qt とか Python とか知ってしまうと D いらないんだよね
5 :
デフォルトの名無しさん :2013/07/17(水) NY:AN:NY.AN
GUIの話題はタブー
新スレ記念マジレスがテンプレ化しとる
>>7 スレ30まで遡って検索してしまったではないか。
420 : デフォルトの名無しさん2012/10/05(金) NY:AN:NY.AN ID:420
一時は期待したときもあるけど
Dでやりたい場所が無くなったな
大体Pythonで済んでしまうし
速度必要ならC/C++でやってしまう
Dはスタートダッシュが失敗でコケた感じ
消費メモリがどんどん増えてくのでここ一ヶ月でかい配列作ってる所を片っ端から洗い出して deleteするためにスマートポインタ作ってライブラリの中まで手を突っ込んでるんだけど なんだこれ? 違うんじゃあないか? 本当はGCさんがちゃんと働いてるべきなんじゃあないのか?
/ G ・ ヽ / : な ・ C ・ | | : い ・ さ ・ | { : か ・ ん ・ | ゙i : じ ・ } `ヽ : ゃ ・ / ,-='"´ヾ\ : あ ・ / ⌒T^ヽヾミリr‐-、,_ ,-='⌒\ ヾ、 ! iミ、ヽ、゙" /ノノ_/|// _ノ´ノヽ ヘ,=、,,_ヽ、 ^ト、,_二=、,, /‐| "^___,,,ノ` `ヾ-=、ノ 彡 ,ィ (彡‐'´ ,、==、、 } -彡' ,、r==、 !"r‐、ヽ `i",ィ' ゝ ソ r' 。i ヽ゚,シ }_シ { 、`ーノ /⌒ヽ  ̄ レ⌒ヽ ノ  ̄ _,,ィァ //^} } ヽ、 ト─=ニニ‐ノ iヽ / ノ 、{、i, ``'ー─‐‐'´, i-‐'/ 、`ー-i, `ー‐ /ー'´ `'ー‐'ヘ / r'~`!`'、,ー、,,___,/-/-v'⌒ヽ,r-、 -‐'^, -'ヽ `'=---┬''~´/‐-リ r==、| '´ \ □] i| □ノ /ヽ,ー‐' | ゙──┴‐'~ / `ーイヽ
v8 もそうだな
動的配列とか連想配列使うとアプリ終了時にメモリエラー出る言語さんチーッス
IDEって使用感どんな? Mono-D > Visual D > DDT かな? Mono-Dって浸かったことないんだけどVisual Dよりはデバッグ中の変数の中身表示とかまともなのかな? 知ってる人教えて
Mono-Dは以前に軽く試したことがあるけども なんか色々バグるからそのへんがまともに試せた記憶がない・・・
constなメンバ関数の中でtypeof(this)すると型にconstが付いてしまうんですが、 constなしのthisの型を得るにはどうすればいいでしょうか
std.traits.Unqual
traitsといえばC++には無いエンクロージングの仕組みを使って面白いことできないのかな
freebsd の鯖に CGI を乗せて遊んでみようと思ったんだが もしかして freebsd用のクロスコンパイルしないといけないんじゃないかと思ったんだが ひょっとして世の中には windows->freebsdのクロスコンパイラを 作成してくれる奇特な人がいるかも知れんと思ったんだが 実際の所どうなの?
freebsd の鯖でコンパイルできない理由は?
そうか、なるほど、鯖でコンパイルすればいいのか!! …ということはシェルをつかわせてくれない問題を何とかせねば
じゃあ鯖と同じ環境作ってコンパイルすればいいんじゃないですかね
DVM最強説
telnet出来る鯖レンタルすればいいです 年3000円くらいで借りられます
mixin使ってると、perlみたいに文字列に簡単に変数埋め込めたらいいなって思うこと多いよね
27 :
デフォルトの名無しさん :2013/07/28(日) NY:AN:NY.AN
(´・ω・`)?
formatかなんか使えば?
structのメンバ関数の中で自分のポインタを得るにはどうすればいいでしょう thisを取ればいいと思ったのですが、 struct S{ } の場合、thisの型がS*ではなく、S型になってしまいます。
S型からS*型を得る方法を使う
31 :
デフォルトの名無しさん :2013/08/03(土) NY:AN:NY.AN
&this
愛ねーな
> could not write to file "pg_subtrans/BE1B" at offset 24576: > No space left on device
Oh... Oh...
dmdの最新版で使えるgdbってどのバージョンですか?
-inlineと-Oつけたらコンパイルが永遠に終わらなくなって また-inlineバグってるのかーと思ったら-Oの方だった これだからD言語はやめられない
今年の夏休みもDで作ったプログラムがなぜか落ちる現象の調査でなくなる感じになってきた
デバッガ ログ出力 最小コードの切り出し 好きな手法を選び給え わりと役に立つのが scope (failure) writeln(__FILE__,__LINE__);
>scope (failure) writeln(__FILE__,__LINE__); なんと この発想はなかった
すべての関数にそれ入れて自力でstack trace出そうとしたことがある だって-gでリンクしたらエラー出るんだもんよ…
これってどんなときに起こるんですか? 普通に考えれば中途半端なアドレスにメモリアクセスしたときだろうけど 同じ起こるときと起こらないときがあるんだよなあ sample.exe の 0x77ddfaca でハンドルされていない例外が発生しました: 0x80000002: Datatype misalignment
43 :
デフォルトの名無しさん :2013/08/11(日) NY:AN:NY.AN
いい加減な cast か
アラインメント絡みの例外らしいから起こるときは確実に起こりそうなもんなんだけどな でもたまに起こるならやっぱりメモリアクセス違反なのか よし、ちょっとdruntimeの中を調査するがよい
すべての関数に @safe をつけまくるがよいよいよい
なぜか変換(コンパイル)できない import std.stdio; template F(string s = __FILE__){ const char[] F = "writeln(" ~ s ~ ")"; } void main(){ mixin(str); }
ちょっと間違い多すぎでまじめにやってるとは思えないですね・・
長い間悩んでたバグの原因がこれか こんなのってないよ… [最小コード] import std.stdio; void main(){ File[string] tx; tx["filename"] = File(); } [実行結果] object.Error: Access Violation ---------------- 0x004086D7 in void std.stdio.File.detach() 0x0040B2C0 in extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).void runMain() 0x0040B2FB in extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).void runAll() 0x0040AEF9 in _d_run_main 0x0040849C in main 0x76DB33AA in BaseThreadInitThunk 0x77949EF2 in RtlInitializeExceptionChain 0x77949EC5 in RtlInitializeExceptionChain ---------------- 連想配列を絡めるとopAssign, postblitが破綻するような感じでした このせいで参照カウンタを持った構造体を連想配列に突っ込むことが出来ないんですが、 どう回避すればいいんでしょう…
opAssignで連想配列の値への代入がアレになる問題は数年前にぶつかった記憶がある まだ直ってなかったんだ
対症療法としてはラッパをかぶせるとか? import std.stdio; class FWrapper { File file; this (File file) {this.file = file;} } void main() { FWrapper[string] tx; tx["filename"] = new FWrapper(File()); } なんかFWrapperが構造体だとまた変になる…
自己レスですが、
>>48 については何とか回避できました。
見た目がひどいですが…
File t = File();
File[string] tx;
tx[""] = File.init;
swap(tx[""], t);
ダメでしたー もうちょっと色々試してみます… import std.algorithm; import std.stdio; void f(){ File t = File(); File[string] tx; tx[""] = File.init; swap(tx[""], t); } void main(){ f(); }
インタプリタ型のD言語とかどっかにないですか?
54 :
デフォルトの名無しさん :2013/08/20(火) NY:AN:NY.AN
dmd -run
rdmd
>>56 はWindowsしか動かない奴だったと思う
emacs の flymake って使ってる人いる? 自分が使うんじゃないけど普及度とか評判を知りたい
安定した?
と思うじゃん?
いや
今寝ぼけてこんなことしたから報告するね ref S opAssign(S rhs){ this = rhs; }
SListの要素をindex指定で取得するにはどうすれば出来ますか?
import std.range; auto v = slist.drop(index).front;
第一引数省略と()省略できるのスゴイね、楽しすぎる
デストラクタで使っちゃいけない標準ライブラリ関数が結構あるんですね
Dのデストラクタはその道のプロにしか使いこなせないらしい・・・
デストラクタで使ってはいけない関数属性とかないの
なにそのD言語のデストラクタで1.5人年くらい溶かした俺が喉から手を出すアトリビュート でも自分で書く関数にはめんどくさくて付けたくないな・・・
逆に考えて、使っていい属性とか
いつの間にかdelete文がなくなってるのはなんなのよ
なんかdestroy(T)になってましたよそれ
73 :
デフォルトの名無しさん :2013/09/02(月) 20:12:52.45
∧_∧ ( ´∀`) あげ? ..\ (/u ノ \ 〈/フ'フ \ ∠∠/ \ \ \ 彡 .\ .\ .\_/| ̄ ̄ ̄ ̄ ̄| . | .|
std.datetimeが出てから日本語訳のサイト完全に止まったよな
75 :
デフォルトの名無しさん :2013/09/03(火) 18:14:02.21
サイトを D で作る ↓ D がバージョンアップ ↓ サイト停止
GitHubでソース公開されるという大きな進展はあったのだが
ソースごとにコンパイラのバージョン埋め込むのを言語仕様にしてほしいわw
windows64bitで-m64オプション使うとreal型をstd.stdio.writeできないバグは 近い将来直りますか。
importするときに同一階層のパッケージを全て対象にしたいときの標準的なやりかたって指針あります? javaみたいに*が使えないので知ってるだけでも、 import xxx.index; // index.html的な import xxx.d; // D言語の拡張子的な import xxx._; // scala的な import xxx.all; // 明示的な
補足 それぞれindex.d, d.d, _.d, all.d内で 同一階層の*.dをpublic importします
import xxx;
package.dは次期バージョンだっけ? もう実装されてる?
git head には入ってる
>>83 次のリリースで フォルダの下にpackage.d というのがあればそれを読み込むようになる
そこに public import文を羅列すればいい
import xlib; // xlibモジュール がない場合は xlib/package.d を読み込む 本来の意図はデカいモジュールを裏でこっそりと分割するための仕掛けらしい
89 :
デフォルトの名無しさん :2013/09/09(月) 03:51:18.61
D-GC ディーマイナスジーシー
package.dを使えばあの膨大な行数を誇るstd.algorithmを分割できるってことか
91 :
デフォルトの名無しさん :2013/09/09(月) 09:00:49.66
また互換無しバージョンが増えるのか
げ、monodevelop最新版にしたらMono-D対応してないのか、ミスった
アップデートをalphaチャンネルに変えて対応版Mono-D出てこないか?
前から気になってたんだけど、dcharのdの意味って何ですの?
doubleじゃね?
DWORDじゃね
97 :
デフォルトの名無しさん :2013/09/13(金) 13:14:48.78
(D)char
98 :
94 :2013/09/13(金) 14:56:56.05
>>95 >>96 なるほど
wcharはwide charだと思い込んでいたから
だぶりゅーちゃー だぶるちゃー ややこしや
たべるちゃーしゅー はらへるわ
101 :
デフォルトの名無しさん :2013/09/15(日) 07:18:08.01
これ、ファイルにクラス変数を保存できたら面白いけどバクの温床になるから無理だよな
シリアライズ?
103 :
デフォルトの名無しさん :2013/09/15(日) 11:18:18.14
ひょっとしてシリアライズのことか?
C++のboost並にポインタ(参照)とかスタティック変数とかを自動でガッツリ追える 超すげぇシリアライズってDであるんかな? 日本人の人が作ってくれてるやつはちょっとした構造体の値をシリアライズできるだけだよね つかシリアライズだけはjavaの仕様が羨ましい
Pythonがいいよ
バイナライズすら当てにならないのにシリアライズでそんなに頑張られても
eclipseのDDTってコードスタイル変える方法ないのかな 他の言語のように コードスタイル->フォーマッター って項目が無い BSDAllManじゃないとストレスでハゲそう
>>93 なんやそれ!
公式のURLじゃいかんのか?
C++のときに int& foo(int& val) {return val;} const int& foo(const int& val) {return val;} みたいに同じ関数のconst版を書かないといけないケースがあったと思うんだけど Dでも ref int foo(ref int val) {return val;} const ref int foo(const ref int val) {return val;} と二度手間やらないといけないんでしょうか? inout ref int foo(inout ref int val) {return val;} だと取得はできるけど、代入すると左辺値として扱われなかった
>>109 ref inout(int) foo(ref inout(int) val) { return val; }
はどう?
やり取り見てたら条件分岐ひとつ追加してassignする場合とinitializeする場合とに コードを分けるだけかと思ってたけど結構直すんですね Dのソースを自由にいじれるのかっけー
なにいってんだと思ったがこれは確かに可愛い
これは・・・
でもどういう状況なんだろうなこれ 寝てるところに話振られてごまかしたのかwww
Mono-Dのブログわろた
英語読めないけど 「俺をピンポイントに狙ったような仕様変更しやがって!」 って怒ってる?
それはもはやD言語あるあるネタといってもいい 個人的に
121 :
デフォルトの名無しさん :2013/09/28(土) 17:31:13.84
コピペマン参上!まで読んだ。
32bit XP OSじゃalign (16)機能しないのでしょうか?
タダでDがやりたいんだよ!
識別子を渡して文字列で受け取るテンプレート引数とかあったら便利だなー
希望をつぶやくと叶えてもらえるスレ
文字列定数なのか識別子名なのか
>>116 The D Programming Language ていう本を読んでたらねむくなったって言ってた
>>125 シンボルの名前を文字列に変換するなら__traits(identifier, sym)を使う
或いはstd.traits.fullyQualifiedName!symを使う
x 希望をつぶやくと叶えてもらえるスレ o 希望をつぶやくと実装してもらえるスレ
dmdのコミッターが常駐してるからな・・・
じゃあ無料のIDEおねがいします
Eclipse+DDT VSShell+VisualD Mono-D お好きなのをどぞ
昔はEclipseが嫌でPoseidonやらDescentやら使ってたけど、今は超楽だな
この前Eclipse+DDTを試してみたんだけど、なんか普通に使えてびっくりした D言語のIDEはまだそれほど完成度が高くないイメージだったけど、そうでもないのか?
そりゃ何年も経ってるからなぁ そしてまた何年か経つとみんな使えなくなってるという展開
mono-dとdubプロジェクトでやってみようと思ったら いろいろ試してもsfml2がライブラリの読み込み失敗する・・・ やっぱsdlが安定か
しかしdub便利だな
139 :
デフォルトの名無しさん :2013/10/03(木) 05:49:06.74
ずっと追いかけてないとすぐ取り残されるな いつまでも安定せずこの状態が続くのは良くないお
classをstructみたいにコピーするにはどうすりゃ良いの dupプロパティは配列だけみたいだし、プログラミング言語Dに乗ってたcloneメゾットは見つからない コピーコンストラクタ作ってnew Class(instance);したら出来たけど、メンバを全部手動でコピーとか絶対間違ってると思う。 ちゃんとしたスマートな方法があるんだよな?
手動がいやなら typeof(this) clone() { auto newobj = new typeof(this); newobj.tupleof = this.tupleof; return newobj; } なんかクラスはそもそもコピーさせちゃだめみたいなこと言われたことがある気がするけどどういう根拠だったか忘れた
そりゃsingletonや、OSのハンドルをラップしてるようなクラスまでコピーできたら破綻するだろ Dではcopyableなものをstruct、でなけりゃclassみたいな使い分けが想定されてるってことだ 勿論copyableと継承可能と参照型云々の切り分け方が違う言語もある。それだけ
俺なんて速度の違いだと思ってたよ、配列も静的配列ばっかりだ classをscopeでnewするのと structをローカル変数で宣言するのって挙動同じなの?
>>141 メンバをTuppleで取れるのですか.スマートですね.
>>142 そもそもclassを自動でコピーできるようにしたら破綻すると言う事ですね.
なるほど.やるにしても,CopyAbleインターフェイスなどを用意したほうが良さそうです.
その辺のテクニックを解説した,Effective D が欲しい…
へ〜と思ったけど基底クラスのフィールドは対象外と書いてあるな newobj.Base.tupleof = this.Base.tupleof; という構文を使えばいける
それって、結局 newobj.Base.Base.tupleof = this.Base.Base.tupleof; って繰り返していかないといけないんでは…
newObj = super.clone; newobj.tupleof = this.tupleof; 結局こうなるだけかw
std.traits.BaseTypeTupleとか使ってやれば出来るだろDなんだから
なんかjavascriptのprototypeみてえだ
Dでできないことなんてないさ、できないのはメモリリークを防ぐことだけ
リークしたら再起動すればいいじゃん 問題なんて何も無い
cryptどうしてます?
mono-dでimport std.ってタイプするとなぜか画面がクラッシュする
多分自動補完が誤動作してるんだろう 他のエディタで書いてコピペしてやればいいんじゃないかなw
template T(U...) { alias U T; } alias T!("a", "b", "c") NAMES; void main() { foreach (i, m; NAMES) { auto d = delegate() {}; } } これをコンパイルすると a.obj(a) Offset 00288H Record Type 00C3 Error 1: Previous Definition Different : _D1a4mainFZv12__dgliteral1MFNaNbNfZv こんなエラー出るんですけど、どのへんが悪いのでしょうか?
githubの最新をビルドすると出なくなってるからバグかな そのうち betaも出るだろう
GUIのライブラリなどで、Cからバインディングする際に生ポインタを排除するように ラップしてくれてるライブラリってないんでしょうか? GL3nみたいに綺麗にDライクにしたいんですがGTKdを本家GTK+見ながらラップするのには疲れました
gtkDはすでに十分ラップしてくれていると思うが… 何が不満なのかわからん
GTKは糞
gtkc使ってんじゃ?
wxDがまた死んでるっぽいんだけど試しに使おうとしてみたら ほんの千箇所くらいキーワード置換してtypedefの廃止でvoid*とHANDLEの見分けがつかなくて どうしようもなくなったところを見なかったことにしてコメントアウトしてデストラクタ内で GC処理走ったら死ぬ件に無理やり対処しただけで使えるようになったから最近のDはマジでちょろい
それどう考えてもどっかに爆弾埋まって……と思ったが、 まあDを使うかぎりそのうち動かなくなるのは変わらんのか。 (つっても最近はそうでもないが)
修正してライセンス違反とか涙ぐましい
Dでプログラミングするには人生は長すぎる
nothrow 関数に asm 文を書けないというエラーが出てるんだが これどこかに規定されてたっけ? しかも -profile 付けた時だけ発火するというbuggyな挙動
まさにD
:D
XD
つぎに新言語名で空いてるアルファベットは一文字の"K"は避けるだろうから"N"かな?
処理を中断や終了させずにスタックトレース出力する方法ってありますか?
core.runtime.defaultTraceHandlerかな?
writeln(core.runtime.defaultTraceHandler()); で全部出た! すげーー! ありがとうございます!
あとはでかいライブラリが-gつけてリンクできないのが直れば完璧
Rangeの連想配列バージョンのインターフェイスとかないんですか〜?
言いたいことがよくわからんが 単純に連想配列から順不同で取り出すI/Fならあるじゃろ
よくわからないけど5年後の覇権言語だと聞いてやってきた
嘘です
派遣言語。
TIOBEのプログラミング言語人気度ランキングでは37位でHaskellより上!
180 :
デフォルトの名無しさん :2013/10/14(月) 09:05:47.17
ちょっと下がりすぎですね Haskellより上へage
181 :
デフォルトの名無しさん :2013/10/14(月) 09:15:44.60
派遣言語って言語にとって最大の名誉じゃないのかなー。 そんな気がする。
バージョン上がるたびに使えない古参が切られていく現場になるのか 胸熱
さすがだな Java
Javaはラムダ式とか言い出す前にゴミみたいなジェネリクスをどうにかしろと
サンデー言語 ・・・ なんか3Kぽくてヤダな
テンプレートでコンパイル時間爆発とバイナリサイズ爆発を食らってると ゴミみたいなジェネリクスがほしくなるんですよ わかってくださいよ
たまたまD言語の解説してるサイトにたどり着いて興味持ってこのスレ見てみたんだが 実際に使うにはなんかやっかいそうだな
D言語はにわかが皆無だから厄介な事やろうとしてる玄人しか居ないせいだよ
言語が難しいのではない。 解決すべき問題が本質的に難しい場合は、言語の簡易さよりも、言語の能力の方が重視されるだけだ。
俺にわかだから、言語仕様がどうこうよりもまず環境構築に時間かかってるわ
テキストエディタとcmd.exeがあれば十分よ
小さなプログラムの実行までなら他の言語と変わらない 周辺ライブラリの導入まで行くと難度が跳ね上がる
仕様変わり過ぎ
↑の方で話題になってたけど、お手軽GUIはgtkですか?
むしろ最近は仕様変わらなさ過ぎ C++14との統合(enumからconstexpr)とかしちゃってもいいんじゃないかな
GUIはWindows限定でいいならメンテもされてるしDFLがオススメ。
DWTとかいまどうなんだろ。
>>192 ライブラリの導入もdubが流行ってくれればわりといい感じになるかも
DWTはWindowsで現役で使っとるよ どのライブラリをリンクするかとか指定したビルドスクリプトさえ snippetsビルドした時にできるrspファイルを参考に作ってしまえば 後は割と何もない
どうもです
>>196 D用に作られているというのは心強いですね
あと横からですが、dubはわからないなりにパッケージだけ入れてみたところ
すごく便利ですね、monodevelopで開けますし
>>197 SWT触ったことないのでちょっと勉強してみますね
そういえばDSSSって今どうなったの?
dub、普通にSDL2とか使えるから良いね
dubは依存してるCのライブラリも一緒にビルドしてくれたら最高なんだが
しめしめ
まあ、AndreiがFacebookの人だからな
D言語erって一番Facebookに向いていない人種じゃないの 偏見だけど
まあ来年か再来年には降板させられて 「ツカエネー言語」の勲章を得ることだろう
まるで今現在使える言語みたいな言い方だな
(高度すぎて俺には)ツカエネー言語
Dでdllを作るときexeと共通のGCを使うようにGCを引き回す処理を昔書いた記憶があるんだが、今でもそうなの?
> This is fantastic news! とても嬉しそうだな
>>212 なるほど
>この日記は、プライベートモードに設定されています。
twitterがscalaでFacebookはDか しかし俺らの立場としてはDは自由な言語であった方がいいのでは? 通常なら実績は発展に必要だろうけど、Dには既に少数精鋭の変態コミッター達が付いてるし
Facebookというのもandrei繋がりだろうから さらに変態になっていくであろう
>>214 お前PHPをC++に変換してるFacebookの頭がまともとでも思ってんのかよ
まぁ上場するにはそれなりの話題性がないといけないということだ
218 :
デフォルトの名無しさん :2013/10/17(木) 09:33:40.55
FBの中の人はDの仕様がころころ変わる件は気にならないのだろうか
>>218 世の中のレガシーシステムは、コンピュータ関連技術(言語を含む)の進化がゆっくりだった時代に構築されたもの。
今は半世紀前より色んな意味でスピードアップしてるし、FaceBookは最近のものだから、評価式自体が違うだろうな。
220 :
デフォルトの名無しさん :2013/10/17(木) 12:54:43.65
FaceBookの仕様にあわせてDがコロコロ変わる時代か 胸熱
むしろコロコロ変わらなくなるはず
D言語はいつ世界中の誰もが使いたがるような言語になれるの?
仕様が固まったら
少なくとも俺は仕様が固まったら使いたがらなくなる
Dにないものってまだあるん?
ないんだな、それが
いや、いくらでもあるだろホラ ライブラリとか・・・ライブラリとか
2.064のベータが出てたから手持ちのライブラリコンパイルしたらエラー出なくて しかもOPTLINKが吐いてた謎エラーが消えてなくなった なんじゃこりゃ D言語終わったな
C++よりクロスコンパイル簡単かと思ったらそうでもないのね
ここの皆は今でもいふでふいふでふしてんの?
versionかstatic ifしてるよ
DとRustの間の子が欲しい
静的foreach周りすっげぇバグ多いな 次のヴぇるpで直るかな?
関数型は俺がやると入力が中途半端になるから嫌い
次のバージョンアップっていつ頃?
237 :
デフォルトの名無しさん :2013/10/19(土) 09:25:54.52
FacebookでD採用かよ
D言語で何するんだ? サーバーでも作るの?
趣味言語の範疇を出ないと思ってたからFacebookみたいなデカいところが採用したのには驚き
バグバグなのによく使う気になるわなFBも
グーグルがGoつくったりいろいろしているので対抗して 僕が使う言語とかにしたいのかな
FacebookならFでFORTRANくらいのユーモアは見せて欲しかった
>>242 全然違う
今回のコミッタのアンドレイはGo出す前からD使って・作ってたC++er
>>244 反論になってないだろw
だから対抗してDを露出させるってことじゃないか
>>245 何言ってんの?
そもそもGoは品質でも人気でもD言語の対抗馬の域に達していない
日本だとGoogle信者が多いからやたら書籍出てるけど、
D言語より実行速度は一回り遅くTIOBEでも30位台のD言語に対してGoはTOP50外だぞ
話がかみ合ってなくてワロス
何を語ってるんだそのスレw いや見に行く気はないけど
>>246 目指してるとこ違うしなぁ
通信系は伝送遅延考えたら速度ガチっても意味ないし
ニュー速って言語のニュースその勢いになるくらいプログラマ在中してるのかよww 知らなかったわ
プログラマの喋る言葉なんて 宗教家のそれと大差ないから噛み合わなくて当然
Andorei はWalterに次ぐ共同開発者的存在 それがFacebookに在籍してるんだからこうなるのはわかりきっていた むしろ今までよく我慢してたなというくらい でもC++より速くなった!ってのは言わなくていいことだった
みんなビルドシステム何使ってる? dub使ってるけどこれ、いちいち全部コンパイルしなおしてるような気がするんだが Makeは書き方わけわからんし
s/dorei/drei/
D言語ってライブラリとかももう全部D言語で書き直したの? C/C++とかの使ってるだけ?
>>254 Dはコンパイル爆速()なんだから気にするなよ!
>>254 dmdのコマンドラインに全部突っ込むだけ
バッチファイルでも何でもok
>>256 標準ライブラリ以外のライブラリのこと?
ラッパーは必要だけど本体をわざわざ書き直したりはしない
>>254 俺はいまだにbud使ってるよ
budはdubとの名前のかぶりっぷりがすごい。互いに誤字と思われそう
DがFacebookにびびって大規模な破壊的変更ができなくならないことを祈ります
実際条件によってはC++より速いかもしれんが あらゆるベンチマークで ldc>gdc>>>dmd な件
>>254 自前でビルドスクリプト書いてる
一応差分ビルドするけどテンプレートが絡むとすぐリンクエラーが出てcleanするはめに
llvmを持ち出すのは卑怯だろう
皆さんデバッグどうしてますか
writeln
時々writeflnのほうが便利だぞ それはそうと今はスタックトレースとか出るからマジありがたい
pragma msgさんも忘れちゃいけない
assert & unittest writeln デバッガ カバレッジ あと例外トラップしてスタックトレース releaseビルドでもmapファイルを残しておくと結構追える 手強いのはリンケージ間違いと コンパイラのバージョンアップ時のリンク漏れだな
ddbgが最強だった時代があったけど最近使ってないな
Goディスってる奴、使ったこと無いだろ
なんかこのスレ人種がおかしくなった Facebookの話で集まったか
現状だと、CTFEのバグを追うのがつらい・・・ __ctfeWritelnか、CTFEableなwritelnが欲しい所
IOを伴う関係でコンパイルタイムに一意にならないんでは?
pragma(msg, ctfeFunc(staticArgs).text()); これで
CTFEはコンパイラとは別のインタプリタを内部で動かしてるみたいだな そこだけ取り出してツールか何かにできれば
CTFE結果のコードがほしくなることは稀によくある
CTFEと文字列mixin終えたあとのコードは欲しい
CTFE+文字列mixinを使うライブラリは、mixinされるコードをpragma(msg)で表示するみたいな機能を持っててほしい感ある
281 :
デフォルトの名無しさん :2013/10/20(日) 16:47:05.33
CTFEを使ったら、彼女が出来た
CTFEのおかげで成績も上がり、部活でも大活躍です
空の関数の呼び出しってリリースビルド時には完全に消えちゃうと思っていいんですか? たまにデバッグ時のみ中身がある関数をリリース時にも呼び出すコードを見かけるんですけど
>>277 別のっていうか、1+1って書かれた時に2を直接埋め込む最適化の延長じゃね?
これどうやって使うか教えてたもれ template getFieldName(Type, size_t i) { static assert((is(Unqual!Type == class) || is(Unqual!Type == struct)), "Type must be class or struct: type = " ~ Type.stringof); static assert(i < Type.tupleof.length, text(Type.stringof, " has ", Type.tupleof.length, " attributes: given index = ", i)); // 3 means () + . enum getFieldName = Type.tupleof[i].stringof[3 + Type.stringof.length..$]; }
class C { int n; int k; } void main() { writeln(getFieldName!(C, 0)); // "n" writeln(getFieldName!(C, 1)); // "k" }
D言語ってこんなキモいことも出来るんかw
こういう所に手を入れすぎて 肝心の大局的な観点からのリリースができないw まさに器用貧乏を地で行くうぉる田くんなのであった。
ウォルター、あなた疲れてるのよ
delegateの中でdelegate自身のインスタンスを参照したいんだけど出来ないかな javascriptのcallee見たいなやつ
器用貧乏でいいじゃん。逆に何を求めるの?
だからこそD言語 大局的な視点とやらで機能が削られるなら、大局観なんて無くて良い
>>290 無理なんじゃね?
# __traits(parent)を使ったらセグフォになったことは内緒にしとこう、うん
>>286 おうふ、ありがとうございます
最初関数のテンプレートだと思ってたけど、Dのテンプレート検索してテンプレートの名前と引数なだけだったと気づいた
でも最後のgetFieldNameが出力されるのはテンプレートの中で上書き?されてるからですか?
なんかgetFieldNameをaとかにしても一応元と同じ動きしてるんですけど
気のせいでした、aに変えたらエラーでた。 別のファイルいじってた。 しかしなんでenumなんですかね
静的に解決するのに都合が良いからじゃね?
ウォルタが大局的視点を持ってないから 変態開発者以外集まらないんだぞ 一般人も集まれば開発楽になるのに お前らやっぱりKKKの回し者だろ
DDT使ってるんですが、これ保存するたびにコンパイル走るのどうにかなりませんかね
自動的にビルドを切ったら?
>>300 ありがとうございます。設定ありました。
DDTどう? 使いやすくなった?
>>247 > 「Dはあらゆる面でC++ より優れる」
概ねそんな感じがするが、でもガベコレあるんでしょ?
DSP屋のオレには向かんな
newするのがGCが動くスイッチだからnewしなければ処理は中断されない 最近は標準ライブラリにnewがいらない(使われてない)モジュールが充実してきた
new以外にもトリガはあるがな 続きはWEBで
スレッドセーフに続いてGCセーフっていいう概念も出てきたか
>>302 なんか最新のバージョンには対応してないぽいです
コード補完にtupleofが出てこなかった
今はsublime textってやついじってるけどなんかPathが環境変数にある奴と一致しない・・・なんやこれ
概念はどんどん追加されているのに実装がついていける気がしない
pureから派生した概念と考えていいのだろうか
まあでもJavaみたいにxx safeの概念をクラスで扱うよりいいと思う
Dで使えるWebアプリケーションフレームワークで 有名なのはどんなのがありますか?
ご無体なことをw
Rustちゃん最高
Groovyでおk
Mono-Dのdubサポート神なんだけど importしたものをコード補完に載せる方法ってないんだろうか
何をどう実用すんのか知らんが、 どう見てもGetPixelが処理時間の大部分喰うんで言語なんら関係ないと思う。
GetPixel連打するなら一度オフスクリーンのDIBに転送してしまえば、とも思ったけど それなら最初っから全部DIBで処理して最後にウィンドウに描くだけのほうがいいな
ふと思ったんですが、エディタが補完する情報ってどうやって作ってるんですかね? 全部正規表現で解析してるんですか?
>>316 WM_PAINTの中を次のように書き換えると速くなるよ
PAINTSTRUCT ps;
RECT rc;
HDC hdc = BeginPaint(wnd, &ps);
scope(exit) EndPaint(wnd, &ps);
GetClientRect(wnd, &rc);
SelectObject(hdc, GetStockObject(BLACK_BRUSH));
Ellipse(hdc, 0, 0, square_edge, square_edge);
HDC hmemdc = CreateCompatibleDC(hdc);
HBITMAP hbmp = CreateCompatibleBitmap(hdc, width, height);
HBITMAP holdbmp = cast(HBITMAP)SelectObject(hmemdc, hbmp);
BitBlt(hmemdc, 0, 0, width, height, hdc, 0, 0, SRCCOPY);
double surface = 0;
COLORREF b = cast(COLORREF)0;
int x, y;
for(y = 0; y < radius; ++y)
for(x = 0; x < radius; ++x)
if(GetPixel(hmemdc, x, y) == b) surface += 1;
SelectObject(hmemdc, holdbmp);
DeleteObject(hbmp);
DeleteDC(hmemdc);
SelectObject(hdc, GetStockObject(SYSTEM_FIXED_FONT));
string pi = format(message, 4.0 * surface / cast(double)(radius * radius));
TextOutA(hdc, 40, 40 + square_edge, pi.toMBSz(), pi.length);
writefln("%s", pi);
break;
321 :
デフォルトの名無しさん :2013/10/22(火) 04:19:07.32
>>320 爆速になりました
ほんとうにありがとうございました
汚ねーコード貼るなボケが
>>319 dmdのXオプションじゃないの?
気が向いたらemacs向けに補完それで書くわ
この出力されてるJsonの中身なんかマニュアルとかどっかないですかね ぐぐってもうぉるたーさんがこれどうよ?って言ってるスレくらいしかない
WM_PAINTとは懐かしい呪文を聞いたな たしか鎌倉時代あたりに流行ってたような気がする
DFLさんをディスるのはやめろ
mono-Dってデバッガついてるの?
うぉるたんにはおちんちんついてないお
VisualD+Magoすげええ なにこれもうどの機能が足りないのかわからん
補完は頑張って欲しい 今はどうか知らんがごく単純な補完しかしてくれなかったような
VisualDインスコしたけど起動しないお・・・(´・ω・`)
2013のShellに対応してないんでPro持ってなくてExpress使う人はVDの対応待ち
2010使えばいいだけじゃん
新しいの使ったって機能が増えるどころか重くなるだけだしな
同じ処理はするけど名前だけ違う関数ってテンプレートでどう定義したらいいんすかね? 1個づつMixinするしかないんかな static foreachみたいなのあったらできそうだけど
同じ処理するなら同じ名前にするようにすべきじゃないの
ただのログ鳥用でタイプ別にはしたいけど違うのは頭につける文字列だけって感じなんで 簡単にサクッとまとまらないかなァとか思った次第で
テンプレート文字列引数と特殊化エイリアスじゃいかんのか?
>同じ処理はするけど名前だけ違う関数 もっと他人に伝える努力をするべきだと思うの
バージョンアップがいつもより遅い気がする
アップデートこないうちはRustとGoやろう(提案)
>>339 文字列引数で名前をもらってミックスインする
個別に名前をつけるよりは
>>340 の方がいいと思うけど
>>340 は個別に名前付けるってことだと思う
しかもmixinいらなくね
346 :
デフォルトの名無しさん :2013/10/27(日) 14:31:42.42
DでSVG(出来れば2Dだけじゃなく3Dも)を操作するライブラリはありますか?
boost移植計画とかないの?
OpenCV って使えるんだっけ
C言語で実装されたライブラリはほぼ全部移植可能
絶対ガベコレ止めないとだめ?
>>351 機械より正確にメモリ管理できると思ってるなら切れば良いんじゃないの?
そんなことが必要なハードウェアでD言語を使う方が間違ってると思うけど
ああ言葉が足りなかった C使うときの話ですた
んなこたない
「絶対」は余計だな。 絶対故障しない原発はない。
原発推進派乙
>>351 Cのライブラリ内部で作る領域は
ガベージコレクタを使わないはず=無関係
ただしD側で確保した領域をCのライブラリに渡す場合は一手間かかるかもしれない
C側に渡された領域は参照が残ってるかD側で判断できないので うっかりするとD側のGCに回収されてC側でアクセス違反起こすかもしれない その領域を使う一通りの機能をclassとかできっちりラップしたほうがよさげ
渡された側がアドレスをずっと保持し続けるって明らかに設計に問題ありだろ
せやな 書いててなんか変だと思った 実際その手の問題で困ったこと無い
そうか? 簡単なパーサライブラリで、最初にchar const*を渡しておいて 以後それを切り分けていくようなのは割とある気が
つまりGCある側がC側に丸投げするつもりでアドレス渡しても 自分側じゃ保持しておかないといけないってことでしょ
GCには「移動」もあるぜ。 core.memory. setAttr(NO_MOVE)を呼んどくべきかな?
お前ら欠陥構造がホントに大好きなんだな
ああ大好きだ
いつの間に既存限定になったんだ?また妄想か?
Dのミックスインじゃ #define FOO_MASK <<1 みたいなことできんのかな?
何だそのクソ未満のコードは
それはmixinの使い道というかmixinが何なのかの認識を間違ってると思う
それ定数じゃないの? enumかimmutableか
D使いでCやったことない人いる? しかしやったことなくてもマクロは存在くらいは知ってるか
>>369 そういうのって、Enumにビット設定して&取るほうが安全な気がするんだけど。
Dだったら関数にしちゃってもいいんじゃないかな。
369って定数にしたいって意味じゃないだろう
じゃー、効率悪いけど連想配列使う。
頭悪そうだなお前
正解!
なんで普通に関数にしないのか
関数とかクロック使うじゃん
自作CPUerか何か?
クソみたいなマクロは 関数化してCTFE
あー、コンパイルタイムにやっちゃえば一緒か。なるほど。
たまに(T : T[])みたいなテンプレート引数見かけるんですけど、 どう理解をすればいいんでしょうか? intをわたすとint[]になるっていう結果だけ丸暗記してあるんですけど正直意味がわかりません
最初は頭カラッポにしてTが置き換えられるって理解で十分だよ
そんなんできるんだっけ? (T, U : T[]) じゃなくて? それとも(T)がある上で(T : T[])で特殊化するってこと?
顔文字にしか見えない
GC pause freeをうたうasm.js、
iOSでの成功を受けてGCの廃止を決めたMac OS X、
GCを言語からパージしたRust
明らかに、ああ、やっぱりGCは駄目だったよと排除する一連の動きがあるんだが・・・
次世代のトレンドとして認知されたらD言語また潜伏期間だな。
The "no gc" crowd - D Programming Language Discussion
http://forum.dlang.org/thread/[email protected] C++はしぶとい
GCがダメなんじゃなくてGCなしを選べない(もしくはGCなし環境を作るのが大変)なのが悪いんじゃないの
僕の王の力がーッ
王貞治?
ギルクラ自体はパッとしなかったけどそのフレーズだけ生き残ってる気がする
変にC++を延命させちゃったのが悲劇の始まり とっとと見捨てるべきだった
化石と呼ばれるような言語全般に言える気が
古いものは古いなりにいいところがあるんだよ Fortranとか ただしCOBOL、テメーは駄目だ
COBOLは帳簿系最強の言語だと聞いたことがあるような いや使ったことないけど
LISPがアップを始めました
実績豊富なベテラン 対 期待過剰のルーキーという どこにでも見られる対立の構図である
COBOLは職人の伝統工芸って感じの立ち位置か
The Mango Treeってどんな感じ?
そういう寝言はFunctional Objective COBOLを使ってから言え
いやいや Climax Hyper Objective COBAL の方が
DOBOL は COBOL風の構文を持つ静的型付け言語です。 効率性と高い表現力を、安全性とプログラマの生産性に実用的に結びつけます。
なにそのドボンしそうな言語
VisualD 0.3.37 VS 2013 support
uho
ライセンスの有効期限が切れています・・・ なんのライセンスやねん
Expressエディションでもライセンスあってタダでライセンスキー配ってるだけじゃなかったっけ
D 2.064 の正式版がやっと来たね
eponymous template syntaxとかIFTIとかstd.typecons.wrapとかがキモい(褒め言葉)けど他はformatがpureな紳士になったとか順当な進化でつまらん 破壊的変更はもう来ないのか・・・
まだRCだよ パッケージ作成とかインストーラとかでいろいろ突っ込まれてるし あとリンク処理とstd.uniのモジュール置換で大量にバグ出してたから 正式リリースでも安心ならないw
強烈な変更はさすがに3までお預けなのかな。 さいきんの普通に使いやすい感じもかなり気に入ってるんだが。 とはいえ、3.0だとデフォルトでimmutableにしたい、とかいう話もあるらしくて喉から変な笑いでそうになる
toString/opCmp/opEquals/toHash 問題がまだ残ってる -property の廃止は結局どうなったんだろう
-propertyはどう転んでも機械的に処理できる話だからいいけど その手の標準メソッドの件はきつそうだなあ
そういえば分割コンパイルの時の仕様が変わってて リンクエラー対策のために -allinst コマンドライン引数を追加した件が書いてないような change log も正式リリースの時に更新するのかな
ファイルからの文字列インポートで 日本語(SJIS)ファイル名を使おうとしたらハネられた windows.charset.toMBSz() はコンパイル時に関数展開できない 何か方法あったっけ? …特に今困ってるわけじゃないけど
import の引数にエンコード種類を指定できるべきだ でもコンパイラに文字コード変換処理を載せることになったら 拒否されそうな予感
Unicode←→JISの変換テーブルをCTFEに乗せる…のも無理があるよなあw 不可能ではないが、膨大過ぎる
スクリプト組んで、コンパイル前にソースを適当に変換・置換するとか
CTFEの無限の可能性を切り開くために システム標準のエンコーディングに内部変換すべきと思うが 日本語は使えないと割り切った方がよさそうだな
>>420 それD1の頃にやった記憶あるわ
ソースファイルは100kb程になったけど、実用できる速度は出てた
そういえば std.uni がデカいテーブルを持つようになったのを思い出した 公式サイトをのぞいたらなんかアップデートされてて 2.064.2とか書いてあるぞw
ていうかまあ、Dでは文字列はUnicodeと決まっている以上 本来WindowsではファイルオープンにW系を使わないといけないわけで コンパイラのバグと言っても良いレベルのクソ仕様だけどなw
2.064.2 release change log もかなり追記された
427 :
デフォルトの名無しさん :2013/11/07(木) 14:13:54.76
>本来WindowsではファイルオープンにW系を使わないといけないわけで でも標準の import std.c.windows.windows; とか糞なんでしょう?
428 :
デフォルトの名無しさん :2013/11/07(木) 14:21:25.27
ubyte[] hoge() { ubyte[] fuga = new ubyte[100]; return fuga[0 .. 50]; } int main(string[] args) { while(true){ ubyte[] hage = hoge(); delete hage; } return 0; } みたいなプログラム書いてると どんどんメモリリークしていきあすか?
GCがウリの言語ですぜ
売りじゃないと思うよ…もっともやる気の見られない部分 write-on-copy のためにおまけとしてつけただけじゃないの
2.064.2
5ヶ月も引っ張った割にこれといった目玉機能がないような… 公式サイトはかなり発展してるけど
はっちゃけは見られないけど確実に便利にはなってる感じ これがFacebookの力か
というか日本語ページはいつまで放置プレイなの…
誰かがそう言うのを待っていた とりあえず君に std.system を更新する任務を与えよう
datetime…
英語版のレファレンス読めって事だよ、言わせんな恥ずかしい
datetimeの事を言い出したら一歩も進まなくなるから
まずはできることから始めよう
というわけで頑張ってくれ
>>435-436
テンプレートの中で、呼び出し元でmixinしたのと同じに出来る機能があれば文字列の変数展開とかLINQとか色々出来るのにという妄想
import std.math; static assert(-1.abs == -1); なんか今頃こんなのが問題になってるのだが
static assert(-1.abs == 1); にすると (ノ▽`)アチャー Error: static assert (-abs(1) == 1) is false
数値トークンにマイナス符号が含まれない件は個人的に気になっていたのよね 他の言語でこういうの無いんだっけ? ruby で試してみたら -1 じゃなくて 1 だったけど
444 :
デフォルトの名無しさん :2013/11/09(土) 11:28:11.36
static assert((-1).abs == -1);
Scalaは演算子の優先順が特殊だった気がするな
Cの int *a, b; は紛らわしいからダメだと言って変えてしまった 俺のうぉるたんがこんな問題を放置するはずがない
仮に static assert(-1.abs == -1); の問題()が治ったとして static assert(- 1.abs == -1); はどうするんだ
そもそもその文法で別々の型が宣言できるわけないよな 型の認識が足りないというか
(abs(-1)じゃ)いかんのか?
(-1).abs
単項演算子 - が数値リテラル or 四則演算式以外にかかるときは () を必須にするとか。 × - 1.abs ○ -(1.abs)
警告出しておしまいでいいか…簡単にできるかは知らんが
何かの言語製作者が-が演算式でリテラルの一部じゃねぇって おかしいだろって言ってて何いってんだって思ったけど こういうの見ると確かに問題みたいに見えるなあ
static assert(3-1.abs == 3-1); static assert(3 + -1.abs == 3-1);
Visual-D、結局cv2pdbが追従してないから VS2012, 2013だとデバッグできないんだね・・・残念
VisualDってMS公式パッケージだったの?
cv2pdbのchangelogによると、ver0.25でVS2012対応した事になってる
githubは二年前で更新とまってるよね。珍しいねdsourceが更新されててgithubが放置されるのって 逆ならいくらでも見たことあるけど
VisualDのデバッガは magoに切り替えた方がよい
>>456 んな訳無いだろ…Digital Mars公式って言いたいんか?
えらい読解力ですわ
いや、そう取れなくもない ちなみに Digital Mars公式というのもデマだ
このコードがエラーになるのは納得いかない。 struct XY{ int x; int y; } class Test{ const XY xy; this() { xy.x = 0; xy.y = 1; } } Error: multiple field xy initialization constフィールドは複数回初期化できなくなったらしい。今まではコンパイルできてた。 構造体リテラルで一度に初期化するとエラーは出ないけど・・・。
仕様ガバガバすぎんよ〜
なんでお前らDの文句ばっかいってんの?最近このスレアンチ多くなっておかしくね?
使う人が増えただけじゃね
文句? アンチ? これは愛だろ
D言語を誉めるのにスレを消費しても誰かの役に立つ訳じゃないしね
期待と実用があれば不満はいくらでも出る 不満が出ない状態というのは盲目の信者しか残ってないということさ
470 :
デフォルトの名無しさん :2013/11/10(日) 08:21:30.09
不満が出るのは期待通りの実力じゃないからだろ 不満は期待の裏返しなんよ 最初から期待しなければ不満も治まるはず
もしDが理想通りのパーフェクトな言語になったとしても 今度は「Dのせいで仕事がなくなった」という技術者があふれ返るだろう 世に不満の種は尽きまじ
VBみたいな言語が使われ続けているという現実
Facebookが採用したなどという半ばデマみたいなアピール効果にもかかわらず TIOBEの反応は微弱であった
そりゃD言語に頑張ってもらうより C#がネイティブコード吐けるようになった方がいいって技術者は多いだろ
.NetILのトランスコーダー作ろう。そしたら解決。ってこれってLLVM?
新興言語は行末にセミコロン無しってやつが多いんだけど、 何か理由やルーツがあんのかね?(Rubyくらいしかしらん) よく解説サイトでは「わかりやすい」って説明があるから、 普通の人には無いほうが自然に思えるってことなんだろうけど、 でもそれはおかしいよな?普通どんな言語でも文末に句読点はあるだろうし
>>476 昔だと、パンチカード=セミコロン無し(1行は原則、カード1毎分を超えない)、
テープ=セミコロン有り(ダラダラと続くので行区切りが必要)、
ってのが有ったけど、今はどっちでも設計出来る気がする。
>>476 不必要をはぶけるのが好まれてるんじゃね
普通は一行にたくさん文書かない
↓
改行あればセミコロンいらねえじゃねえか!!!!
↓
じゃあ消すか
フリーフォーマットの言語といえど、結局みんな一行一文スタイルでしか書かないからな
いまだに1行80文字で書いてる人もいるし
池沼かな?
おっ、そうだな
むしろ一行に詰め込んで書かないのに区切り文字なんて持ってるほうがおかしい つなぎ文字があればいいんじゃ
for文がオーソドックスなタイプは結局いるんじゃないか?
RegExpリテラルまだー?
>>485 実装しちゃいなよYOU
こみったに成れるかもよ
スクリプト言語じゃないんだから…
いっそのこと除算のスラッシュを別の書式に変えて @safe 下での除算も見なおすのがよいよいよい
489 :
デフォルトの名無しさん :2013/11/11(月) 09:43:21.87
structで済むのにTupleがある理由はなぜですか?
490 :
デフォルトの名無しさん :2013/11/11(月) 10:00:49.20
>>485 ctRegexがRegExpに近い感じはあるが・・・
構造体のフィールド名すら"ハードコーディング"しないのが真のメタプログラマー # メタプロでググると青汁しか出てこないやんけ
ctRegexなんてコンパイル通るほうが稀じゃないですかやだー
正規表現なんて種類のあるものは交換可能じゃないと。リテラルなんてやめてくれ。
「この関数は他の処理でも使えるかもしれない」 「このクラスは拡張するかもしれない」 「このメソッドはもっと自由度を高めよう」 そんなことを考えながら書いてたらわけのわからないプログラムらしきものが…
どうみてもRepeatExtacyです ほんとうにありがとうございました
doroutineまだー
498 :
デフォルトの名無しさん :2013/11/12(火) 17:20:41.52
例外について、 main 側で ubyte[] hoge = fuga(); みたいに受けてるとき、 fuga 側 ubyte[] fuga() { ubyte[] result = new ubyte[len]; (いろいろ作業) return result[0 .. (len より大きい数)]; } で例外が出るのですが、 例外メッセージを出している行が fuga の return ではなく、 main 側の方の行が表示されてしまいます。
Winで試してみたらそんなことはなかったけど ちなみに出てるエラーは RangeError? そうじゃなかったら多分スッポ抜けて違うところでコケている -release とか -noboundscheck とか付けてるとそうやってスッポ抜ける あくまで範囲エラーを重視するなら @safe を付けまくる必要があるけど コンパイルを通すのが大変
ソースファイルは分けてます?
ああ、 ひとつ重要なことが・・・ (いろいろ作業) の中で C の関数 (外部 DLL) を呼んでいて、 そこに result.ptr を渡して書き込んでいるのですが、 その中で len を超えたところにまで書き込んでしまっていました。 長さで言うと (len より大きい数) の場所までです。
末尾呼び出しの最適化とか?
-g をつけれると正しく表示できますね しかし、 -O -inline -release を指定すると Range violation は発生しないで実行されるのにはちょっとビックリw
なんという欠陥言語ww
-release を付けると 範囲チェックを省くってのは明記されてるよ………コマンドラインのところに(ボソッ
size_t で扱える長さは uint と同じですか? それとも ulong の方ですか?
>>508 普通は32bitなので、size_tやptrdiff_tはuintのalias。
コンパイラのオプションに-m64つけると、ulongのaliasになる
ありがとうございます
-release の代わりに -relax を付けるとどうなりますか?
Error: unrecognized switch '-relax' を見れるようになります
なんという欠陥言語
sc.iniだいぶ内容増えたけどのLIBの扱いが変わった? 複数のライブラリ配置パスをセミコロン区切りで書けたのに書けなくなったとかあるかな
Environment32にだまされた・・・
関数引数に scope つけると何が変わるの? コンパイル時のものか実行時のものかもわからない 教えてえろいひと
void foo(scope Object obj) { global = obj; } ドキュメントによるとこれがコンパイルエラーになるという意味だと思うんだが…ならぬ
scopeは今はうまくエラーがでないんじゃなかったっけ? Bugzilla登録されてたはず
>>506 -release を付けると 範囲チェックを省くってのは明記されてるよ………コマンドラインのところに(ボソッ
正しくは、現状の動作は
・-releaseをつけると@safeがついてない関数で範囲チェック用のコード生成が省略される
・-noboundscheckをつけると@safeな関数のコードも範囲チェックが省かれる
つまり
・デフォルトでは範囲チェックを実施(安全側に倒している)
・-releaseをつけると@safe保証が必要なところのみに範囲チェックを限定
・-noboundscheckはスピード重視の方向け、素人にはお勧めしない
となる
>>517 関数引数に scope つけると何が変わるの?
今のところ意味があるのはdelegate型の引数につけた場合のみ。
void foo(scope int delegate() dg) { ... }
dgに渡されるデリゲートがfooの呼び出し側でクロージャを作らないことを保証してくれる。
>>522 ありがと。実行時に振る舞いが変わることは確認できた
datetimeの使い方教えてください!
今年のadvent calendarが閑散としてる
freebsdフォルダがひっそりと削除されてるw
Advent calendarって、今年もあったのか
528 :
デフォルトの名無しさん :2013/11/24(日) 02:25:10.53
連想配列への構造体のセットのときの対応が入ってから std.container.Arrayを持った構造体をセットすると死ぬようになったな サンプル作っても落ちないから俺のバグの可能性が高いけどデバッグがつらい
dmc でコンパイルすると map ファイルが生成されるのですが これを抑制するオプションは何ですか?
mac
>>526 ていうか過去バージョンのリンクがどっか行っちまっただよー
最新も使えないFreeBSDユーザーが難民になっちまった
Dでゲーム作りたいな〜って思ってGUIについてググったら出てくる情報が5年前とか6年前とか… これ、今だと全然使えないよね? 今もメンテナンスされてるGUIライブラリってDWTくらい?
GUIライブラリとゲーム用ライブラリはだいぶ違う GUIライブラリってテキストやコンボボックス、ダイアログ、リストビューとかそういう類だと思う ゲーム用ならDerelictに入ってる範囲で選ぶのが楽かと
楽しようと考えすぎてたらしい ウィジェット組み合わせてゲーム作れれば楽そうだなあって そんなんじゃいかんよな… 大人しくSDL辺りを勉強させていただきます
ウィジェット組み合わせてゲーム……? 良くある簡易ゲーム製作ツール的な奴かな
ゲームって別に見た目さえ気にしなければ、何かの組み合わせでなんでも作れるもんだからねぇ。
昔VB製なんかだと標準のコントロール組み合わせて作られてるのよくあったしね でもまあDで書くならSDL2あたり使うのが楽だと思う。 Windows限定ならDxLibとか(ポーティングが更新されてるのか知らんが)
横から失礼 逆に言えば、dxlibを除外したらSDLぐらいしか選択肢はないのかな 海外も少し探したけど、探し方が悪いせいか 今も生きてそうなゲーム向けライブラリはいまいち見つからないのよね… 俺も情報が欲しい
C++製のラッパーならいくつか…と思ってたけど無いな 個人的には irrlichtのポーティングが瞬時にお亡くなりになったのが残念
来年もやるんかい!
こ、こんどこそ D3 をふくむ遠大なロードマップを
D3に望む機能は何?
代数データ型とパターンマッチ
DIP32が見てるとワクワクする
名前付き引数、呼び出し時の 引数毎のref/outの明示 一貫性を持った日本語入出力 nogc と static foreach 無限再帰しない invariant D by D とパーサーライブラリ あとは悪しき遺産の一掃 構造体初期化子とか
いいかげん長ったらしい予約語を短縮しようぜ immutableとか
入力補完できるIDEってないの?
どのくらいを求めるかによる 大昔に進化の止まった Descent/Eclipseは驚くほど高レベルだった 今のD2でまともに使えるものを求めるなら 10万円くらいは差し出していただいてもバチはあたらないと思いますですはい
MonoDevelopのdubプロジェクトの扱いがよくわからないんだけど MonoDeve外で普通にdubでプロジェクト作って、package.jsonを ものでヴぇで開くんだよね これイイなぁ、乗り換えるか
>>536 すっごい遅レスで申し訳ないけど、シミュレーションゲームが作りたかったんだよ
もちろんRTSみたいな立派なものじゃなくて、ターン制の経営ゲームみたいなやつ。
>>552 確かに、アニメーション完全ナシなら十分かも
ただそれならJavaFXでペタペタやりたいな俺なら
Webゲームでよくね?w
555
Dで書いたものをemscripten出来たらな
windowsでmonodevelop使ってる人いる?使用感聞きたい
D言語でMetaobjectProtocolみたいなことは出来るの?
UFCSってコロンブスの卵的な素敵な機能だと思うんだが、 何か元ネタがあるのかな?
561 :
デフォルトの名無しさん :2013/12/13(金) 18:31:48.51
正直、昔のD言語はすべての型でUFCS出来なかったってのが信じられない
元ネタっていうか、呼び出しはドット記法で書くけど宣言のほうはthisだかselfを引数リストに明記しないといけない言語は ちょくちょくあるので、そういうのをチラッとでも見てたら自然な発想ではあるんじゃないか
拡張メソッド?
第一引数をselfとかにしとけばよりメンバ関数感が強まるな 全体をwithで囲んでもいい どうせなら指定した引数をその関数内での最上位シンボルにしてくれる構文とかあればいいのに
マクロっていつできるの?
マクロはやらないだろ 文法解析がめちゃくちゃになるような物は嫌いなはず
えっだってたしか・・・ macroってかなり前から予約語だよね・・・
一応じゃね?
坊やだったからさ
>>560 記憶では10年以上前にteddyっていうデスクトップマスコット作成スクリプトがやってたな
ast macroだよ
マクロ入れたら既存の文法がマクロで実装可能とかならんの?
ctfe とか purity とか safety とか inline展開 が 今より単純に実現できるなら実装案もろとも提案するがよいよいよい 強力なプラスアルファがないとだめよん
ローカルscope変数は宣言した次の行にscope(exit) a.dispose();とか付かないんですか?
D言語にリフレクションみたいな機能はないの?
よく纏まっててすぐ読めるから日本語訳の言語仕様読もう
std.datetime…
>>560 Modern C++ Designに
>Dylanという言語では, ドット呼び出しシンタックスを,
>一般的な関数呼び出しメカニズムにおける特殊な式という形でしか取り扱っていません。
ってあるから、このへんから着想を得たのかも。
C++やJavaの普及期の頃に「Cだけでオブジェクト指向をやってエッセンスを学ぼう」みたいな本があって それだと関数の第一引数をドット演算子の左辺項的に扱うものがあったな。
というかthisは単なる隠し引数ですし・・・
dlang.org が止まってて悲しいっすw
見せてもらおうか、新しいビルドマスターの性能とやらを
DylanというとAlgol系文法のLispと言われるアレか。
二大Algol文法Lisp言語の一つだな
ScalaでもUFCSみたいな機能あるんだな、おもしれーわ
587 :
デフォルトの名無しさん :2013/12/20(金) 22:39:07.07
お、おう・・・
髭が足りないんだよ 髭が足りないんだよD言語には!!
LoopCheck!(ptr) while (*ptr) { // ptr が進んでいなければ例外スロー if ( proc ) ptr++; } こういう感じで書ける方法ないかな 高速かつエレガントなので一丁頼む
意図がわからん こうでええやん while (*ptr) { if ( !proc ) throw; ++ptr; }
無限ループをはじきたいんじゃー if ( proc(ptr) ) ptr++; と書くべきだったんじゃー それに処理内容の異なるループがあちこちに出てくるんじゃー ループブロックの前にプレフィクスみたいなのをつけてかっこよく決められるんじゃね?と思ったんじゃー
そんなもの禁断の演算子オーバーロードの封印を開放すれば容易いこと・・・
無限ループ弾きたいなら意地でもfor使ってりゃいいだろ 老害か
イテレータじゃなくて生ポインタ++するとかCでやれって感じじゃないんでしょうか?
>>596 同じこと思った
…でもCのライブラリとか使おうとすると嫌でもポインタ入ってくるんだよな
腹が立つ
ああ^〜C#に引っ張られていく〜
>>597 わかるわー・・・。
そういう部分、スーパーハカーの人たちは使いこなしてるのかね?
自分でラッパー組むじゃん? 途中で車輪の再発明に気付くじゃん? でもそれ既に動かなくなってるじゃん? 何かどうでもよくなってくるじゃん?
>>600 組みましたよ、ラッパー(キレ気味)
何でcore.exception.InvalidMemoryOperationErrorなんだよクソ!クソ!(逆ギレ)
ライブラリのラッパーなのか スマポなのか
Dに限らないんだが全クラスにおいてインターフェースを提供してない(もしくは使ってない)ライブラリって 100%車輪ラッパーになってしまうのどうにかならないんでしょうか
InvalidMemoryOperationErrorはデストラクタ使うとよく見かける
俺もInvalidMemoryOperationErrorはデストラクタ使うときよく見かける
デストラクタの中でGCさんが働くようなことしちゃいけないんだっけか
デストラクタはGCが管理する参照にアクセスしちゃいけないだけじゃなかったかな
クラスの、 コンストラクタでメモリ確保して(というかメモリ確保するCの関数呼び出して) デストラクタで解放する(同上) これだけでエラー吐くんだよなあ…
Dのデストラクタは呼ばれないかも知れないことが保証されているから Cで確保したメモリを解放したいならファイナライザを作ってそっちを呼ぶべき
これはそのうちユニティちゃんとド付き合うゲームが……出ないな
かっけええええええ!!!!
D言語くんを3Dで作る人が何人も・・・ みんな考えることは同じなのか
ポリゴンモデル作成 最初の一歩 のお題としてよさそう
じゃあ俺はunityでDちゃんを動かすぜ!
D言語でDちゃんを作ろう
Another D in programming
D言語フォーラムで Microsoftがシステムプログラミング言語作るとかで少し話題になってる模様
MSのヒット作のほとんどは他社の買収によるもの まあDのいいとこだけをぬいて安定したものを作ってくれるなら俺も(ry
Dからクラスとガベージコレクションを抜いたものをCの代わりにしたいと思うことはある
条件コンパイル一発で動的配列やら無効にできたら簡単だな〜(チラッ できたらDMDはいじらずに druntimeのフックで完遂できたら感涙だな〜(チラッ
Dって実行時リフレクションできますか?
DのGCって腐ってんの?
ちょっとドジっ子なだけだよ
v8よりまし
クラスや構造体のフィールドの変数名を配列で返すような関数ってありませんでしたっけ? もしくは引数の文字列がクラス・構造体のフィールドの変数名の中に含まれているか調べる関数でも良いです
std.traitsを当たれば
使った事がないけど、typeid とか typeof を調べてみれば?
ごめんなさい、__traitsでいけるかもしれません。 調べてみます。
「おっ、objectにRTInfoっていうやつがある。これ使えるんじゃね?」 > template RTInfo(T) { > enum RTInfo = null; > }
このスレのちょっと上に .tupleof って出てる
tupleofって名前取れたっけ
横から __traits(allMembers)とかは変数だけじゃなくてメンバ関数も入ってるんだけど変数だけ抜き出すのはどうすればいいかな?
getFieldNameってのも既出
既出だったのね… ごめん この手の情報を上手いこと検索しやすくできないものか…
どうでもいいけど最近は他人のブログからソースコピペってるクズ増えすぎだね そういうクズに限ってSEO対策とかしっかりやってるから余計に検索の邪魔っていう
混乱を避けるためにもブログのコードはライセンスを明記すべきだろうな。 FLOSS以外のコードのあるブログは著作権問題を避けるために読まない方が良いのかも。
そんな人見たことないけど 観測範囲が狭いだけかな
噛みつきたいのか、なんなのか知らないけど なんでもいいからググって片っ端からソース比べてみるといいよ 若干違いはあっても、ほぼマッチしてるのばかりだから
興味があるので具体例を出して欲しい 検索の邪魔になるくらい出てくるという話だし
Dにも対話型インタプリタが欲しいな CTFE可能なものだけ使えれば良いから むしろCTFEできるかどうか確かめる為に使いたい
pragma(msg, ...); で結果を表示すればCTFEできてるのか確認できるよ
インタプリタ形式のUIからRDMDを呼ぶのがいいかも
windowsでrdmd使うと一時ファイルが残ったままにならない?
残る 気になるなら日付を見て削除するツールとか作っちゃいなよ
D言語がC#並に簡単にGUI環境使えるようになってから本気出す
dubのパッケージって、Cのライブラリが必要な場合は自分で取ってこないといけないの? それともそういうコマンドオプションも同時にあるの?
>>650 Derelictとかの事ならソース読めば分かるが動的リンク前提だよ
公式で.dllや.aを配ってるライブラリならそのまま、
ソースしか無い奴なら自分でビルド
linuxならD向けにCのライブラリを自分でビルドするのは比較的楽だけど、win環境だと辛い…ことが多い dmcじゃコンパイルできない場合がよくある。
>>651-652 あんがとう、でもそうなるとアプリケーションとして配布するときdllがカオスかぁ
Winでオープンソース染めなら動的ライブラリ10個くらい普通だから気にするな
>>654 アプリケーションでDLL無しってどんな潔癖症だ
WindowsでDLL無しに見えるアプリってシステムのDLL呼びに行ってるだけだしMacの.appも中に動的ライブラリ格納してるだけだし
標準でシステムにインスコされてなくて同封しないといけないdllのことだと思うぜ まあどっちにしてもdllを毛嫌いするなら全部静的リンクしてライセンスで苦しむがよい
LGPL以上の使いたいライブラリ全部静的リンクさせた自作ライブラリをLGPLとして公開して そいつをアプリケーションのプロジェクトから動的リンクすればOK
DFLで遊んでんだけれど。。ボタンコントロールの色って変えられないのかな? Button btn; with (btn = new Button()) { backColor = Color(255, 0, 255); foreColor = Color(0, 0, 255); text = "ボタン"; width = 25; height = 40; parent = this; }
利用者にドキュメントを添付させることを強制するGPLとかのライセンスって自己顕示欲の塊ってかオナニーじみていてすごく気持ち悪い
世界にのさばるゴキブリを見たからといって ゴキブリを根絶する必要なんてないのさ 関わりたくないのならまず関わらない それで十分じゃないか
そんなことをわざわざ書き込むのを止められない
>>660 自身はどーよ、って話だよなw
○○って自己顕示欲の塊ってかオナニーじみていてすごく気持ち悪い 汎用性高そう
D言語って自己顕示欲の塊ってかオナニーじみていてすごく気持ち悪い
D言語も自己アピールもオナニーも凄く気持ちいいから好き
オナニーが気持ち悪いと評価される世界 オナニーを気持ちいいと評価される世界 さあ、あなたはどちらの世界を選ぶのですか?
正月から喧嘩はよして
こんなマイナーな言語のスレで喧嘩してどうするっていうんだ D++でも作る気か
堅実にD--でおねがい
ああ、2.064.2の次は0.206.43だね
D言語のマクロってmixinのことだよね あれ構文解析とかの順序ってどうなってんの?
mixinのことじゃないよ(完
673 :
デフォルトの名無しさん :2014/01/05(日) 04:20:31.54
d言語のわだいはよ
tiobe
D言語がここから盛り返すには 破壊的仕様変更をしない ライブラリを充実させる ぶっちゃけ10分でマトモなアプリが作れるくらいまでにする
破壊的の単語を出す人の何割が実際にD言語を触っているのやら
VBとかJavaSwingくらいのもんあったら良いわな
「アプリが作りたい」的な意見がDのメイン層のものとは思えないんだけどな
Dのメイン層とやらの意見 「もっとCTFE!」 「コンパイルを速くしてくれ!」
実際にさわって実態を知ったら黙って去っていくから
2.065で歴史的な大バグフィクス祭りが開催されたから そこがLTS2ねん縛りみたいになるといいな
むしろF#にびびるわ
まあ〜、DはCの置き換えだから心配するなw
さっさとD2の仕様を固めて、Pythonと張り合えるくらいライブラリ充実して欲しいぞ
>>684 objの相互リンクも出来ないのに良く言うよ
COFF形式を扱えるようにしてくれたら考える
64bitならできる 64bitに対応したライブラリしか使わないようにすればできる 64bitならきっとなんとかしてくれる
Open Watcom C/C++ のwlinkが、OMF/COFF両対応してるらしい
>>685 Python3ならD2とどっこいのライブラリ対応度だぜ
そこで
Python3≒D2
Python3-1≒D2-1
Python2≒D1
なのでD1はPython2と互角である事が証明された
いや、そのりくつはおかしい
>>692 どうやってもシンボル名でエラーが出るんだよな…
linuxはこの辺何も考えなくていいから楽だなぁ
オープンソースC++コンパイラのClangですらWindows版はABIの関係でC++1yの対応が遅れてるという有り様だし完全にOSが悪い
リンカでコケるたびに、『プログラマが知るべき97のこと』のウォルターの章を思い出す ・・・思い出すだけなんだが
699 :
デフォルトの名無しさん :2014/01/08(水) 11:29:41.26
D言語を実際に使用してみて、C++などのメジャー言語と比較して書きやすさ保守のしやすさサイズや実行速度などはどうですか? 言語仕様の理念や概要などを読むとやたら素晴らしい響きなのですが、実際に使っている人の意見が聞きたいです 環境などが充実していないのはまだ仕方ないと思いますので、言語自体の使い心地や実力がどうなのかでお願いします
>>699 半年ごとに1万行くらい書き直しになるんじゃないかな
最近は破壊的変更も少ないだろ! なお、それがつまらない人もいる模様 D3に期待だな
書きやすさ:トップレベル 保守しやすさ:(自前のコードに限れば)同上 サイズ・実行速度:C++にやや劣るが、もっとも磨かれている 制限・気をつけるべきこと: 開発環境がいまひとつ足りない 日本語の情報が少ない・ちょっと古いとすぐに役に立たなくなる コンパイラのバグが多い コンパイラのバグをアップデートで直そうとすると高確率で破壊的変更がついてくる 十分に枯れてない外部ライブラリを使おうとすると高確率で破壊的変更のフォローが必要となる 複数の外部ライブラリを組合わせて使おうとすると高確率で破壊的変更を含むバージョンのすりあわせが必要となる 一言で言うとケガで欠場ばかりしている天才スポーツ選手
>>699 習慣としてソースに必ずどのバージョンでコンパイルできるかコメント残すようになった
こんな面倒で恥ずかしい言語はRuby以来です
704 :
デフォルトの名無しさん :2014/01/08(水) 16:32:32.29
>>700 >>701 >>702 >>703 皆様ありがとうございます
言語自体はいいけどもまだ環境などが未熟で、使用にあたり注意や問題点があるといった感じみたいですね
今後に期待してざっくり勉強して環境が充実するのを待つとします
>>699 10万行くらいのGUIつきソフト書いてるけど
やっぱり書きやすい。テキストエディタで楽々書ける
単に慣れの問題かもしれないがC#と比較しても倍くらい書きやすいと思う
Pythonよりいいと思うことも結構ある
保守のしやすさは最近はよくなってきた
コンパイラバージョンアップしても大きな問題が出ない
1万行書き直しになったのはD1からD2への移行時くらい
サイズはでかい、GUIライブラリ(DWT)の圧倒的物量を差し引いてもでかい、
テンプレートを大量に使ってるコードのバイナリが膨れ上がっている
テンプレートは猛烈に便利だけど使いすぎるとサイズがでかくなって
コンパイル速度も遅くなるというのを身にしみて実感した
実行速度で問題を感じたことは今までのところ無い
個人的には満足してますよ、ええ、でも最近ちょっと破壊的変更分が足りなくなってきたな
マジで使ってる人間がいたのか すげえな
コンパイル遅くなるっていうけど実際のところフルビルドで何秒くらいかかるようになった?
>>705 もしかして某フリーゲームのサードパーティエディタ作ってる人だったりします?
>>707 ちょっと古いマシンだと2分、ちょっと新しいマシンだと40秒くらいかかります
しかも部分ビルドでリンクが上手くいかないことが多いので毎度の如くフルビルド。泣いた
でもこれサイズとかと一緒でテンプレートの使い方がまずすぎるだけだと思うなぁ
巨大な領域を巨大インスタンス化…
46KBのソースが4,255KBとかになってる時点でお察しください
>>708 それかもしれません
でもきっと探せばD言語でこれくらいの規模のプロダクトはいっぱいあると思う
いっぱいあるといいな
テンプレート遅いって言ってもC++に比べたら爆速じゃね?
上の人も言ってるけど、テンプレートが使いやすいだけに使いすぎてしまうのが問題
>>709 いっぱいあるといいね…
てかあの規模でD1からD2に移行したのか
すごいとしか言えない
C++以上に「まずはテンプレートで書いてから」ってやってしまうよな というかなんかもうテンプレート化しないと全部無駄なことやってる気分になってしまう まぁどうせ仕事とかで使ったことあるわけじゃないんだけど
ごめんD関係ないんだけどなんだかお前らならベテランな気がするから聞かせて 英語サイトのフォーラムにバグ報告する際の注意点とかってありますか? 最後に「英語わからないんで失礼な文体だったらすみません」みたいなの付け加えたいんだけど こういう日本人的な保険って通用しなかったりする?
以前ここで似たような相談した時は Dearじゃ丁寧すぎるからHi,でいいよとか別に英語下手なの謝らなくていいよんとか言われて それに従って上手くいってその後もなんとかなってるっぽい 相手が内心どう思ってるかは知らぬ
日本人でコントリビュートしてる人にお願いして代わりに報告してもらう
いちいちsorryとか付けてる方がイライラするから要らないよ。
他の報告とかに倣ってそれっぽく書いてみるんだけど、 初めての報告なのにこんなに馴れ馴れしくていいんだろうかと思って 怖くなる
DのテンプレートってC#とかscalaのジェネリックの共変・反変みたいなことはできるの?
>>716-718 トンクス。怖かったけどもう英語わかんねぇから世界共通言語のコードで語らえば良いわな
困ったら This code doesn't work. そのコード でいいって誰かが言ってた
This code somehow works.
再現可能な最小限のテストコードと 環境等の補足情報がきちんとついてれば十分 かぶってたりタイトルがおかしかったりすれば読んだ人が直してくれる しょぼい問題を重大な問題として優先度を上げさせるような場合は英語力も必要
>>714 >最後に「英語わからないんで失礼な文体だったらすみません」みたいなの付け加えたいんだけど
>こういう日本人的な保険って通用しなかったりする?
それを英語できっちり書くと
ヤシらは「こいつ英語書けるじゃねーか何言ってんだ」
と判断する
恥ずかしい英語なら恥ずかしい英語のまま書いておくのが無難
文章自体で英語の能力が分かるから好きにすればよろしい。 日本人特有でもないしな。非英語圏の外人もよく書いてる。 そんな事で怒る奴はおらん。
726 :
デフォルトの名無しさん :2014/01/09(木) 10:26:48.50
>>705 ありがとうございます、
>>699 です
最後の中毒的発言wwww
それにしても噂に聞くあの破壊的変更の中、その規模のソフトを開発していらっしゃったとは凄いですね!
貴重な意見参考にさせて頂きますね
D言語ってJIT形式でC言語に組み込めないもんかね それだけで需要が高まりまくる気がするんだが
みんなで10万行単位のソフトをDで開発してもっとDを流行らせようぜ
ではまず Win32APIとDFLを dubから呼べるように(震え声
DFLは便利なんだけどさ… これ使ってると「あれ?C#でいいんじゃね?」って気分になってきて(ry
まず安心して使える道具にならないととても使う気になれない。
不安定だけどどんどん発展していく道具の方が俺は好きだよ
二択なら俺も後者が好きだな。 というか最近はわりと安心して使ってるし発展も止まってないんで、たまらんね。
Facebookのデバッグ用バイナリを作るのにDを使ってやるぜ、ワイルドだろ〜? とかなんとか Andreiがゆってた リリース用と使い分けるらしい 微妙すぎる・・・
間違えたorz Facebookのデバッグ用バイナリを作るのにDMDを使ってやるぜ でもリリースするときはGDCを使うぜ、ワイルドだろ〜? とかなんとか Andreiがゆってた
dmdのほうがコンパイル速いから開発中は都合がいい、とかいう文脈じゃなかったっけ? コンパイル速度差が効いてくるほど巨大なんだろう
実行速度はldcが一番速いのかな
64bit Windowsでの質問 COFF互換のバイナリを吐かせたいので、 D言語wikiの"Installing DMD on 64-bit Windows 7 (COFF-compatible)"という記事を参考にsc.iniを設定したんだが、 Internal error: ..\ztc\cgobj.c 1479 というエラーが出てコンパイルが通らない コンパイラのソースを見てみると16bit用のコードに入り込んでエラーを出しているみたいだけど、一体どのようにしたら上手く動いてくれるのか教えてください
>>738 自分は以下を参考にしたよ〜
http://www.ku6.jp/report/65.html おおむねの作業は
1. MS の VC\bin\x86_amd64\link.exe を使うので sc.ini を書き換える& mspdb110.dll の Path 設定
2. Link するライブラリのパスをなんとか解決する
3. dmd -m64 オプションを付けて64bitのコードを吐かせる
意外とあっさり出来るとおもうけれど
>>739 その作業は全て済んでいるのですがdmdがInternal errorを吐いてしまってコンパイルが通りません
dmdのバージョンはDMD32 D Compiler v2.060です
>>740 ん?
自分は dmd.2.064.2 を使ってるよ
>>741 公式から最新のdmdを落としてきたらリンクまで正常に動くようになりました!
ただ、標準ライブラリの関数が複数定義されているというエラーが出ているのでそこを何とかしようと思います
コンパイルは通ってもリンクでコケることの多いこと多いこと でもこんなので泣いてたらD言語erじゃないよね
744 :
742 :2014/01/12(日) 22:51:40.60
リンカオプションに/DEFAULTLIB:LIBCMTが含まれているのが外部ライブラリの指定と衝突していたようなので、リンカオプションにさらに/NODEFAULTLIB:LIBCMTを追加することで上手く動きました!ありがとうございました!
バグ直すと金がもらえるのかよww、
ものによっては発見するだけでももらえる
ずっと前からお金かけてたの?
そのサイト自体は前からあって細々と使われてたらしい 昨秋 andreiが Facebookから予算をゲットしてDコミュニティに大、いや、中盤振る舞いを始めた
なるほど、本気を出してきたという事か
GoとD言語が使えればゴッドになれるの?
今無理です。今はね。
753 :
デフォルトの名無しさん :2014/01/14(火) 09:31:33.26
DoG山下達郎高気圧girl
マシン語かせめてアセンブリ言語が使いこなせれば本当にゴッドになれると思うよ
必要十分条件を見分けられれば最低限のプログラマーになれるよ
OSを書きたいのか、ゲームエンジンを書きたいのか、ゲーム制作したいのか分からないまま、 JavaやPHPを覚えた汎用的で無能なWebプログラマが出来上がる
あれこれもやってるのはプログラマではなく雑用です。 雑用が、いくらプログラム言語を覚えたところで、プログラマにはなれず雑用です。
そろそろDで書かれたDコンパイラができても良いよね
まずは実装と仕様の癒着を切り分ける大手術をせねば 文法規則の整理陳列すら全く足りていないのに
そういうrubyみたいな発想やめようよ クソ言語化するだけじゃん
今現在クソ言語以下という現実を見つめなければ
例えば、c++なんて仕様先行でコンパイラの実装が伴っていない糞言語だ。 RubyやPHPも同じく糞言語で、理想から離れていても飯は喰える。 少し前に関数型言語が流行り、一部の人たちは飯が喰えた。 同じ糞でもなんとなく、職に困らないことをカリー化という。
>>764 意図をくむとして
× 同じ糞でもなんとなく、職に困らないことをカリー化という。
○ 同じ糞でもなんとなく、食うに困らないことをカリー化という。
糞は食えるけどカリーは食えないだろ
食えない奴だな
そういえば前から気になってたんだけど、 std.functionalのcurryって正確にはカリー化じゃないよね
pureとか真のカリー化とすり合わせたそうな臭いは感じるけど。 昔テストしたときはpureなのはちゃんとメモ化してくれてた気がする
カリー食ってる時に糞の話すんな
772 :
デフォルトの名無しさん :2014/01/25(土) 23:48:37.47
カソ
ゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
カソ化
大本営発表!「ゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww」大本営発表!大本営発表!
糞言語終わったな・・・
なに、なんか発表あったのか
ついにD3が…?
これがコンパイルできないのは俺が間違ってるの? interface Foo { inout(Object) foo() inout; } void main() { import std.typecons; BlackHole!Foo o; }
>>777 おめでとう、あなたが777の当選者です
ヒャッハー! 長いことウザい思いを強いられてたのが解消されたぜ! 中の人ありがとう
いつになったら非推奨しか手段が無い状況が終わるんですか?
wadai hayo
今月末の日経ソフトウェアにD言語が載るぞ 人気10大言語特集の中で
3ページくらいの薄い記事で終わりそうな・・・ ネットに疎いプロジェクトマネージャとかが知る機会としてはいいのか?
>人気の7言語(Java、・・・ >“すぐには使わないかもしれないけれど2014年に知っておきたい3言語"として、D言語、・・・ これは、3ページもあるだろうか…
3言語の筆頭とかすげぇな Javaの位置にいるんだろ え、Java…?
3 行じゃないの?
D言語を3行で解説するならどう書く?
強靭! 無敵! 最強!
大喝采! 粉砕! そして玉砕!
CとJavaのいいとこ取りを狙ったはずが 手を広げすぎて迷走する 永遠の中二病
中々メジャーになれなくて 出てからもうすぐ15年 しかれど知っている人は知っている
言語はいいけど巨大なライブラリが育たなくて実用的に微妙
Advanced and Better than C language is ->
Dream.
日経ソフトウェアって買ったことないわ
オモチャとしては優秀かもしれないけど 実用的ではない、ただそれだけのこと
いや、ただお仕事利用は難しいってだけで実用的でなくはないよ 書きやすくてツールやゲーム作るのにとっても便利
後はライブラリが充実したらな… Cのライブラリは使いやすいけど、 Dから直にC使うくらいなら最初からCで書けばいいじゃんってことに
一行目で頷いて最後の行でえ? ってなった。 ポーティングとかメモリ周りが面倒でC++を考えたことはあるけど 「Cでいいじゃん」は思ったことないわ。
ゲーム視点からするとDXライブラリみたいなお手軽オールインワンが欲しい
Walter が 省機能D に色気を見せたものの Andrei に阻止されるというインシデントが発生
EC++は死んだ。生きているなら死ぬべきだ。-びやーね
>省機能D 派生を作る前に今あるものの完成度を上げてくれよと(ry
完成度を上げるとは複雑度を下げることだッ それがわからぬうちは永久にオモチャだッ
CΩ
>>804 いやD言語ポーティングとっくの昔からあるじゃん
2chしか見てないのか
SDL2もお勧め
digger pants
明日は日経ソフトウェア発売だよ 10言語のおさらいだよ
Ruby的なクラスライブラリってないの?
作ればあるんじゃない? 無かったら作っちゃえばいいんだよって集団のプログラム言語なんだからさw
日ソどうだった?
ソ連が勝った
dの本って原著2010年みたいですけど内容的に古かったりするんですか?
日本語版は古くないよ
だが2年経ったら賞味期限が切れると思ったほうがいいw
ありがとうございます 日本版にどくじの情報というか追記がある感じなんですね
もっと実用的な入門書を出して欲しい
っD言語パーフェクトガイド
それは古すぎる……。
普及してないしほぼ無理じゃね?
phobos & dub & github コードリーディング
828 :
デフォルトの名無しさん :2014/02/24(月) 10:33:53.32
入門書が無いと出来ないような層は手を出すべきではない
Qt使える?
GUI系のプロジェクトはどれも壊滅状態で生きたり死んだりを繰り返してる 自分でパッチ当ててメンテナンスする気があれば使えるといえなくもない
wxDが一番楽だったよ
QtDもwxDも今はもう死んでない? いや少なくとも俺が使えるレベルで動いてはいなさそう DFLは動くみたいだが メンテナンスをちゃんとされてるのはDWTとSDLのポーティングかな 後者はGUIライブラリとして使うにはちょっとあれだけど
wxDはいきてる
感覚的にはGitHubに移ってると生きてる可能性がちょっと高い。
だが
>>2 に古いリポジトリのリンクが貼られたままという罠が待ち受けているのだった
せめて wiki.dlang.org だけでも更新しておけばと悔やまれる
セッション終了方法がないと思ったら数分で切断されたw これもまだ調整中だな
2.065は、cha[n]gelogまだ見れない系? 最近追ってなかったので、早く見たいなぁー
おお、こんなものが… 以前は自分のコードで変更点わかったが、 最近はそのまま動くからなあ… 読んでみます thx!
const定数の山がdeprecated祭りでたーのしーなー
機能変更は正直ゼロだと思っていたが細々と改善されてるな
>>842 dだとimmutableで指定すべきじゃね?
enumでやってる人が多いような…
constは「変数の変更をしない」という変数の利用側としての宣言であって これを定数とは言わないと思う・・・
const は C揺らいだから
immutableとconstの違いがよーわからん
その違いって『プログラミング言語D』でも公式サイトでもかなり詳しく、熱を入れて解説してあると思うんだけど…
constとimmutableは暗黙キャスト可能な方向が違う以外は同じ その違いだけでかなり便利に使える mutable(無修飾) ―○→ const ←○― immutable ―×― mutable(無修飾)
もしかしてimmutableを有意義に楽しむためには明示的キャストを積極的に使わねばならないのか
そんなことはない むしろ使うと魅力減
プリミティブ型や構造体の値型を忘れて、参照のみで違いを考えるとすんなり理解できるよな immutableは絶対に書き換えられることのない値が格納されるのに対して constは、ただただリードオンリーのインターフェースにアップキャストするようなもんか しかしこういうの意識して設計しようとするとメンバに参照がある場合に修飾詞を何パターン用意するか悩むんだよね GUIでのPoint2DとかSize2Dみたいなの。 コンポーネント自体に値として持たせて、外部の変更がオブザーバルに伝わるようにして値を直接書き換えるのか、 コンポーネントには参照を格納できる変数を持たせておいて、外部から参照バインドするのか、とか
僕にもわかるように噛み砕いて話してごらん
immutable :文字が書かれた石版 const :図書館の本の必要なところだけコピー取って、それに書き込む
const :お前はガラスの向こうから見てろ
const 出身地不明
immutable : ミュータント const : スカトロ
immutableはオブジェクト側の型でconstは変数側の型、みたいな
const : gender immutable : dualism
immutable : 不老 const : 不死
const : 処女 immutable : 幼女
おまえらmutableちゃん無視すんなよ
865 :
デフォルトの名無しさん :2014/02/26(水) 14:12:59.15
rebindableをキーワードにしてほしい
866 :
デフォルトの名無しさん :2014/02/26(水) 14:14:42.61
ついでにconstはreadonlyに改名してはどうか
日経ソフトウェア立ち読みしてきたけど やっぱり4ページしかなくて1ページはタイトル 内容は3ページ分でどうでもよかったので棚に戻した
rebindableほしいよなぁ Rebindableは連想配列との組み合わせとかがクソすぎる
日経ソフトウェアの正しい使用法: 1.上司に見せます 2.TDPLを会社経費で購入できるよう申請します 3.それを書棚の目立つ位置に配置します
MonoDでメソッドのオーバーライドするときに、EclipseのJDTみたいに メソッド名→Enterでメソッド丸ごと補完されてビビったんだけど元からだっけ? 俺みたいなIDEないと何もできないヘボマでも扱いやすくなるようにこれから どんどん進化していくんなら、絶対流行ると思うわー
よーしパパopDispatchと文字列mixinでメソッド実装しちゃうぞー
あの子たちは大事なときには必ず転ぶからだめ
アンサイクロペディアに載せる例文を作るにはぴったりだけど実用するにはちょっと…
クラス外部からdelegateを登録してopDispatch経由で呼び出したいのだけど delegateからメンバ変数アクセスできないかにゃー
Dと簡単に繋がるスクリプトとかある?
lua
GoogleのGoもNoopも結局爆死したの?
Goはいつのまにか、割と使えるようになってた気が
そろそろRustに浮気してたやつが帰ってくるさ
alias Const(Class) = Rebindable!(const(Class));
C++とD以外で本格的な静的メタプロができる言語ってある?
Rust言語
Rustってそんなキワモノだったんだ
全然w 今のDでは物足りないスリルを味わえることだろう
変数の型でガベコレの種類選べるんだっけ
Rustって今GC外すか外さないか議論中だろ バージョン番号通りD0.x相当だよ
きたか…!! ( ゚д゚) ガタッ / ヾ __L| / ̄ ̄ ̄/_ \/ /
みんなはやっぱゲームプログラマなんです?
俺俺ゲームライブラリを作っては壊し系
Unityやろう
UnityってD言語使えるようになったのか!?
まあ仮にできるようになったとしても おいしいところは全部捨てた紛い物にしかなるまい
UnityはMonoだろ MonoがD言語対応してくれねーと
LLVMさんが、LLVMさんがいればきっとなんとかしてくれる 実用に足るかは知らないがw
eins zwei drei
was ist den das?
今は何なんだ
今は昔 D言語の掟というものありけり
そが掟に従いし開拓者ありけり。
905 :
デフォルトの名無しさん :2014/03/13(木) 15:35:04.92 ID:rnF+maJO
451 いやあ名無しってほんとにいいもんですね sage 2014/03/13(木) 11:31:23.70 発信元:111.188.211.136
【依頼に関してのコメントなど】よろしくおねがいします
【板名】プログラム
【スレッド名】D言語 Part32
【スレッドのURL】
ttp://toro.2ch.net/test/read.cgi/tech/1374022208/ 【名前欄】
【メール欄】 sage
【本文】↓
gtk-dでハローワールドしたら実行ファイルが20MBなんだけど、そういうライブラリなの?
それともぼくがなにかわるいことしただけ?
僕のはろーわーるどは7MBです
GtkDとQtDは常に20MBちょいのDLL軍団がついてくるよ wxDやDWTなら1個のバイナリでたったの3MBだよ 一方DFLは300KBのhello, worldを吐いた
D言語ってSetterとGetterを自動生成してくれないんですか? みんなはマクロで書いてるんでしょうか?
@property pure @safe nothrow { auto v() inout { return _v; } // getter void v(typeof(_v) v) { _v = v; } // setter }
C#のを知ってるとどうしても冗長に思えるんだよなあ
Dだと同一ファイル内ならprivateなメンバもそのままアクセスできるから問題ない。 セッタやゲッタは本来その必要性をよく吟味して作るものなんだから、 自動生成なんて百害あって一利なし。 とわかったようなことを言ってみる
rubyみたいにメンバ変数に@プレフィックスを使いたい あれrubyで一番いいなと思った所なのに、他の言語で全然採用されない
そもそもgetterやsetterは作らない
914 :
デフォルトの名無しさん :2014/03/14(金) 01:03:17.57 ID:HBIKITdB
getterとかsetterとか要ると思ってるのはJava信者だけだわな
ああ、せっかく直接アクセスと同じ記法ができるんだから 必要になったときだけSetter書いて範囲制限するとかそういうのですかね
だから基本的にobjファイル使い回しとかしないよね・・・ 下手に使いまわすとリンクできないの当たり前な印象あるわ
自動生成プロパティとフィールドの違いは virtualにできるかどうかじゃないの?
918 :
デフォルトの名無しさん :2014/03/14(金) 11:19:07.98 ID:HBIKITdB
ライブラリファイルとして配布するなら意味があるかもしれんが Dは破壊的変更が推奨されるので必要ありません
?
コンパイラをアップデートしてもライブラリがリンクできるなんて、 そんなことあってはいけないんだ…
どんまい・・?
DLLでもだめなんかな
マングリ返しが変わらない限りDynamic Linkなら関係ないやろ
日本語公式にstd.gc.disableって書いてあるのに! core.memory.GC.disableやないけ!
日本語公式? ああ、昔はあったねそんなのが
>>924 D1ではstd.gc.disable
D2ではcore.memory.GC.disable
ライブラリはあてにならんけど言語仕様はまだ十分使えるから
数年前までは言語仕様とライブラリの両方でかなりお世話になった 今はさすがにライブラリは本家を見に行く方が多いな
929 :
デフォルトの名無しさん :2014/03/18(火) 20:37:41.84 ID:rnKAf0iU
Dの強みやメリット。弱点っていうと何でしょうか?
930 :
デフォルトの名無しさん :2014/03/18(火) 20:54:25.18 ID:yus0YWej
ご視聴頂きありがとうございます
それではまたライシュー。
強みはいろいろありすぎるので挙げるのもめどい 弱点はサードパーティのライブラリ 最近はIDEとか破壊的変更がいまいち弱点じゃないみたいで困る
realが無くなるとか言ってたのはどうなったんだ
破壊的変更の対応で1日つぶしたばかりなんだが
もうサンプルがコンパイルエラーで通らなくなったりしなくなったの
昔に比べるとだいぶ減った
ただしサンプル自体がクソ古いままWebを漂っていることがよくある
サンプルコードに日付属性を付けるのを忘れた HTML がわるい
いい加減HTMLとCSSかやめて XAMLをベースにわかりやすいフレームワーク作ろうぜ
SGML文法自体を捨ててくれ
取り扱いが簡単だし、パースもそれなりに速いし…
逆コンパイルとかされる?
ねーてぃぶこーど吐いてる
VM系の言語とは比べ物にならない
WinAPIのW系ってUTF-16食わせなきゃいけないんだな。 wchar*で受けとる宣言には毎回リテラルにw.ptrって書かなきゃいけないのか面倒
LLVMのD言語コンパイラって準拠度とか準拠速度とかどう?(実行速度はおいといて) D言語って脚が早いイメージがあって、なんとなくサードパーティのコンパイラに手を出しにくいんだよな それと.libの形式とか
948 :
デフォルトの名無しさん :2014/03/25(火) 17:32:50.27 ID:C/1uU0wE
D言語の話はヨソでしてくれ
ウォルターブライトにDェン磁波で攻撃されている脳
D言語のGCって挙動をいじれたりする?
できることはcore.memoryにある
次のバージョンからGC使う操作に警告出るようになるんか
Dのスレッドって止められんのか……
see git head
ゲーム開発とかに便利なんかな
958 :
デフォルトの名無しさん :2014/03/29(土) 23:21:53.04 ID:t2e+o8I8
スレッド止めたかったら電源ボタン押せばいいんだよ
Mutexを使ってゴニョゴニョするとやな…
はい!これがかの有名なデッドロックです。
そういうのいいからD言語の話しろよ
乙。 まあ建てた人とは別の人なんだろうが、新スレ記念テンプレ要るか?ww マジレスという名のネタレスなのにマジレスついちゃってるじゃないか。
964 :
デフォルトの名無しさん :2014/03/31(月) 10:19:00.35 ID:7W/yiWCF
では正しいリンク先テンプレをどうぞ ↓
965 :
デフォルトの名無しさん :2014/04/01(火) 08:31:50.02 ID:o6SeUFuv
std.traits.isIntegralが組み込みの整数型にしか対応してないのは何か理由あるのかな せめてBigIntぐらいには対応して欲しいんだけど
dreplええなー
967 :
デフォルトの名無しさん :2014/04/06(日) 09:17:45.35 ID:x96b0F6C
あげ
選択肢が増えるのは良いね
970 :
デフォルトの名無しさん :2014/04/10(木) 19:18:56.50 ID:b9ngN5Kh
test
971 :
デフォルトの名無しさん :2014/04/11(金) 17:37:21.12 ID:NZFVTzmI
人間には、増えすぎた選択肢から最良の物を選び取る能力は無い。 って、何とかの法則が無かったっけ?
何を選んでも後で 残りの他のがよかったんじゃないか という心理が働く というのは聞いたことがある
dmc で c のソースをコンパイルするとき c のソースが UTF-8 で保存されている場合 どんなコンパイルオプションを付ければコンパイル出来るのでしょう? オプション付けないとコンパイルエラーになります os は windows です
ファイルにBOMがついてるとエラーになるってことかな のけちゃえw
975 :
デフォルトの名無しさん :2014/04/15(火) 01:15:29.14 ID:keBTE/Xg
アプデが全然ない件
そんなに頻繁にあってはたまらん
ソース中で char hoge[][16] = {"日本語", "あいう", "えお"}; のような定義があるのですが エラーメッセージでは文字化けしています " ・ ・", ^ hogehoge.c(行番号) : Error: too many initializers Fatal error: too many errors --- errorlevel 1
979 :
デフォルトの名無しさん :2014/04/15(火) 10:57:04.36 ID:vuAsZ6O4
>>978 ちょうど手元にdmc入ってたから試したけど
dmcはUTF-8でもコンパイル通ったBOMついてるとエラーになったけど
エラーメッセージからして日本語入った文字列リテラルが16Byte超えてるんじゃないの
UTF-8だと日本語はだいたい1文字3Byteとかになるけどそのへん理解出来てるか?
あとエラーメッセージが化けるのはコマンドプロンプトの文字コードがShift_JISになってるからだろUTF-8にしたか?
さらに言うとここはD言語スレだからdmcは管轄外だ微妙にかすってなくもないけど
980 :
デフォルトの名無しさん :2014/04/15(火) 12:11:29.84 ID:FRZaT020
>UTF-8だと日本語はだいたい1文字3Byteとかになるけどそのへん理解出来てるか? あーっっ ωωωωω thx!
ネットにはデマ情報がいっぱい残ってるので
正しい情報をメモ
cmd.exe
UTF-8
chcp 65001
cmd.exe のショートカット リンク先 %SystemRoot%\system32\cmd.exe /c start "UTF-8" cmd
このショートカットを起動してプロパティからフォントの設定(※ボールドフォントにチェックを入れる)
レジストリ \\HKEY_CURRENT_USER\Console\UTF-8 に
FaceName REG_SZ 適当
FontWeight REG_DWORD 0x0190
FontSize REG_DWORD 0x00120000
CodePage REG_DWORD 65001
http://nazochu.blogspot.jp/2011/08/blog-post_26.html
タイトルごとにレジストリに設定をもてるだと…知らなかった
UTF8対応のシェル使うとかで諦めてたからすげー助かる情報ですね・・・(感心)
スレを締めくくるのにふさわしいレスが付いて良かった
>>981 の方法でUTF-8の日本語出力はできたけど入力はできないや…
まあ必要な時は少ないしファイルに一回落としてから食わせればいいかな
こぴぺなら入力できるけど不十分だね
カーソル移動は半角分ずつでずれていくのに DEL/BSで消すときは全角一文字分消えるからややこしい
>まあ必要な時は少ないし 今作ろうとしてるソフトがちょうど「必要な時」です・・・ orz
990 :
デフォルトの名無しさん :2014/04/16(水) 03:51:44.88 ID:R7ngNhAC
入力専用のポップアップを出して テキストボックス内でIMEで確定された行を 送信出来るようにすれば良いと思うけど cmd.exeにどうやって送ればいいんだ
Cygwin も MinGW もいらなくなりそうだ
D1つかってるひといますか?
あり、おり、はべり、いまそがり
さ し す すれ せよ
オランダは英語でダッチ
dogewife
入れ替えるのが面倒でうちはまだD1だよ 一度入れかえようかと思ったこともあるけど、 既存のコードがかなり通らなくなるからやめた
>>986-988 while(fgets(buf, sizeof(buf), stdin)){
fprintf(stdout, buf);
}
これで試すと
ASCII文字だけなら入力出来ますが
日本語はコピペで張り付けてもデータ受け取れないのはなぜ?
fgets()ってきっちり一行ずつ入って来る訳じゃないのか・・・
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。