OS: Windows10 Professional
CPU: Core i7 920 BOX (2.67GHz)
メモリ: トランセンド DDR3-1333 2GB 3枚組
グラフィックボード: GeForce 9600 GT 512MB
電源: SUPER FLOWER SF-600R14HE
HDD: SATA 6Gb/s 2TB WDC WD20EFRX
HDD: SATA 6Gb/s 3TB WDC WD30EZRX(2TBまで認識。旧OSをしばらく接続)
HDD: SATA/300 500GB ST3500320AS
マザーボード: Gigabyte EX58-UD4
ディスプレイ: BenQ G2400WD (1920x1200 32bit 60Hz)
ディスプレイ: MITSUBISHI RDT1710V (1280x1024 32bit 60Hz)
スプラトゥーン
ようやくSになりました。
ヤリイカ pic.twitter.com/IsF804nAwW
— はるえす@イカ (@Rayerd) 2015, 9月 22
こないだと同じだけどギアはこんなん pic.twitter.com/3m0McOQoIU
— はるえす@イカ (@Rayerd) 2015, 9月 22
HDD購入
- WESTERN DIGITAL WD30EZRX-1TBP [3TB SATA600]
500GBの中身を丸ごとコピーした。
DFL
だいたいShooさんのPull Requestです。
- Some fix for latest dmd, druntime and phobos. · Rayerd/dfl@a00bffa · GitHub
- とりあえずコンパイルできるように。
- Merge pull request #22 from shoo/add_moving_and_sizing · Rayerd/dfl@93d1fd7 · GitHub
- ウィンドウのサイズ変更イベントと移動イベントに対応。
- Merge pull request #26 from shoo/enhancement_of_FolderBrowserDialog · Rayerd/dfl@c40b812 · GitHub
- FolderBrowserDialogの拡張
- Merge pull request #40 from shoo/add_pure_nothrow_const · Rayerd/dfl@704496b · GitHub
- SizeとPointのpure/nothrow/const対応
- Merge pull request #41 from shoo/add_EnhancedMetaFile · Rayerd/dfl@409009e · GitHub
- EnhancedMetaFileの対応
DFL64はビルドがうまくいかなくて検証できず。
DFL for dmd 2.066
久しぶり。
import dfl; pragma(lib, "dfl.lib"); class MainForm : Form { private Button _button; private ListBox _listbox; private MainMenu _menu; this() { _button = new TestButton(); _button.text = "ok"; _button.parent = this; _button.location = Point(100, 100); _listbox = new ListBox(); _listbox.parent = this; _listbox.size = Size(60, 150); _listbox.items.add("foo"); _listbox.items.addRange(["hoge", "piyo"]); _listbox.click ~= (Control c, EventArgs ea) { msgBox(_listbox.selectedItem.toString()); }; _menu = new MainMenu(); MenuItem item = new MenuItem(); item.text = "File"; MenuItem subItem = new MenuItem(); subItem.text = "Open"; auto menuClickHandler = (MenuItem mi, EventArgs ea){ msgBox("open the door"); }; subItem.click ~= menuClickHandler; item.menuItems.add(subItem); _menu.menuItems.add(item); this.menu = _menu; } } class TestButton : Button { override void onClick(EventArgs ea) { // delegateでもoverrideでもおk msgBox("hi"); } } void main() { Application.run(new MainForm()); }
関数と関数テンプレートのオーバーロード
今週の新技術
import std.stdio; class A { void f() { writeln("f()") ;} void f(int) { writeln("f(int)"); } void f(T)(T a){ writeln("f(", typeid(T), ")"); } } void main() { A a = new A; a.f(); a.f(1); a.f("str"); }
f() f(int) f(immutable(char)[])