While working on my current project, the constant creep of increasing compilation times was becoming more and more noticeable. Even after throwing my usual tools at the problem, the total time was still over 7 seconds. Seven. Seconds. Unacceptable‼ Compile time profiling showed that the blame lay with my liberal use of metaprogramming and std.regex, which I wasn’t willing to give up on. The usual
文字列の長さは .length プロパティで取得 Cの関数にDの文字列を与える場合にはゼロ終端になっていないことに注意する必要があります. import std.string; void cFunc(char* s) // Cの関数 { printf("%s\n",s); } void main() { char[] dstr = "hoge"; // 方法1) 標準ライブラリを使う char* cstr = std.string.toStringz(dstr); /* // 方法2)"\0" を末尾に追加してから char* にキャストする dstr ~= "\0"; char* cstr = cast(char*)dstr; */ /* // 方法3)"\0" を末尾に追加してから .ptr プロパティを使う dstr ~= "\0"; char* cstr = dstr.ptr; *
http://www.bitbucket.org/repeatedly/esoteric-language/ 「Rubyで作る奇妙なプログラミング言語」を読みながら,D言語だったらこう組むかなぁとか考えながら書いた(2章にあるBolicとかはまだ).初めてwithを使ったり,約1年前に書いたStringScannerを使う時が来るとは思わなかったw 2.022でやってるので,つけれるものにはpureやnothrowをつけてるんだけど,どうもこの辺まだ色々怪しい感じだw Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~ 作者: 原悠出版社/メーカー: 毎日コミュニケーションズ発売日: 2008/12/20メディア: 単行本(ソフトカバー)購入: 8人 クリック: 148回この商品を含むブログ (69件) を見るそういえば,Brainf*ckとかはARGF.rea
http://d.hatena.ne.jp/haru-s/20080405/1207389642 の続き. 詰まっていたところを教えていただいたおかげでフォーマット指定ができるようになった. main.d import std.stdio; import stdex.windows.mbstring; void main() { mbstring m = toMBS("abあい"); string c = toUTF8(m); wstring w = toUTF16(m); dstring d = toUTF32(m); with (stdex.windows.mbstring) { writefln("----> stdex.windows.mbstring.*"); writefln("%s:%s:", m, 'X', w, 3.14, "/%s/%s/%s/", c, 123+456
Introduction Delight is an imperative, object-oriented programming language with a Python-like syntax. Internally, it is based on the D programming language. Its major features are: Python-like syntax Classes, interfaces and templates Compiles to efficient native code Static type-checking Dependency injection Built-in logging Here's Hello World in Delight: import dlt.io: Printer class Main: void m
はじめに 2012年5月現在、最近、このページはあまり更新できていません。すみません m(_ _)m。 D言語友の会 が、長期間ちゃんと更新されている D 言語関係の日本語サイトとしておすすめです。 こんにちは。ここは、プログラミング言語 D (D Programming Language, 通称D言語)を紹介するサイトです。 すでに Java など一般的なプログラミング言語の経験がある読者を前提として書かれています。 一部古いページを除いて、基本的に、D 2.x 系統の言語仕様をベースに解説しています。 → 更新情報は RSS で 目次 1. Dってどんな言語? サンプルコード色々 D言語を大きくカテゴライズすると、「C風の構文を備えた」 「静的型」の「ネイティブコンパイル」言語と いうことになります。オブジェクト指向やテンプレートメタプログラミングなど、 幾つかのパラダイムをサポートし
前にconstメンバ関数周りの挙動を調べたことがあるのだけど,丁度今2chのスレが盛り上がってるみたいなので改めて調査. まず,D言語 2.0 でのメンバ関数の const int func(); は,C++ の const メンバ関数になる. C++ のコードで言うとこれ; class A { int func() const; }; つまり, const を付ける位置が前と後ろという違いがある. それを踏まえて,次のD言語 2.0 のコードを試す; import std.stdio; class A { const int s; const(int) t; const const(int) u; // エラーにならず const(int) と解釈される const int a() {return 1;} // constメンバ関数 const(int) b() {return 1;}
19:27 08/02/29 不動点ふたたび LtU で "Data Types a la Carte" を読みました。これの鍵となる技は「型コンストラクタに対する不動点演算子」だと思うのだけど、 あれ、なんで俺これ考えたことなかったんだ…?と不思議に思うくらい楽しげなアイデアですね。てい。 // 不動点演算子 via テンプレート。Dで。 // // Haskell でいう"普通の"不動点関数 fix f = f (fix f) と同じようなもの // = の代わりに継承になっちゃってますけど、まあ似たようなものです class Fix!(alias F) : F!(Fix!(F)) {} 不動点演算の実装は本題ではないので、Yコンビネータみたいな無駄な複雑化はしない方針で。 さて、これを使って class Pair(T) { T left; T right; } 2個同じ型の値のペアを
DFLはD言語用のメジャーなGUIライブラリだ. 現在はまだWindows専用だが,私の記憶が確かならば,将来的にはGTK+ベースに書き換えられてマルチプラットフォームのライブラリになる予定(は未定)だ. DFLにはまだまともなマニュアルがないが,サンプルコードを読めばだいたい仕様を把握することができる. そういう素直な設計をしているし,随所が.NET Frameworkに似ているので,そっちを使ったことがあれば入門は容易なはずだ. 現在,日本にどれくらいのDFLユーザがいるのか全くわからないが,それほど多くはないだろう. そのせいもあってか,今のところ日本語での説明はほとんどない. そこで,日本語でDFLの説明をしてみようと思うが,ButtonやListBox,ListViewなどの基本的なクラスの使い方は公式のサンプルコードを見てもらえばよいだろう(前述のように簡単だから). ここでは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く