概要 anchor.png Edit

CTFE(コンパイル時間数実行)機能を利用して、コンパイル時に定数を計算します。

Page Top

ポイント anchor.png Edit

Everything is expanded.Everything is shortened.
1
 
enum hoge = func(args);

と書くことで、コンパイル時にfunc()が実行され戻り値がhogeに代入されます。

funcはCTFEableである必要があります。

CTFEableな関数の条件については、1#nd93a0a3を参照してください。

Page Top

サンプルコード anchor.png Edit

Everything is expanded.Everything is shortened.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
-
!
 
 
 
-
|
!
 
 
 
-
|
!
//main.d
import std.stdio;
 
enum hoge = func();
 
string func(){
    return "Evaluated " ~ "in compile-time.";
}
 
pragma(msg, hoge);
 
void main(){
    writeln(hoge);
}
Page Top

コンパイル結果 anchor.png Edit

1
2
~~~dmd.exe main.d
Evaluated in compile-time.
Page Top

実行結果 anchor.png Edit

1
Evaluated in compile-time.
Page Top

投票とコメント anchor.png Edit

Choices Vote
大変参考になった2  
参考になった0  
あまり参考にならなかった0  
まったく参考にならなかった0  

No comment. コメント​/SampleCodes​/D言語文法​/コンパイル時実行関連​/2Edit

Name:

Front page   Edit Freeze Diff Backup Upload Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 1666, today: 1, yesterday: 1
Princeps date: 2012-03-27 (Tue) 21:35:30
Last-modified: 2012-03-27 (Tue) 21:35:30 (JST) (3533d) by ゲスト
メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu