...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

2009-06-01から1ヶ月間の記事一覧

opStarStar?

import std.stdio; void main() { writeln(2**14); } コンパイルしたらひどいことになった.

ICFPC 2009 の情報集めを開始

スコアボードには載ってませんがチーム名rayerd.wizで初参加. @Rayerd on Twitterであーだこーだ言ってました. kt3k 日記 ICFP Contest 2009 (1) む.「シミュレーションの実行マシンを解釈している様子」を見るとそこまでは正解だったようだ. 紫ログ:ICF…

ビット列としての取り扱い

import std.stdio; import std.outbuffer; import std.bitmanip; union Cast { double value; mixin(bitfields!( uint, "low", 32, uint, "high", 32 )); } void main() { OutBuffer ob = new OutBuffer; ob.write(12.34); ubyte[] a = ob.toBytes(); double…

ビット列としての取り扱い(2)

Oh! http://d.hatena.ne.jp/satoru_h/20090629/p1 std.bitmanipを使う必要がないことに気づかされたので工夫してみた*1. import std.stdio; import std.typecons; //import std.file; union UnionCast(T, U...) { T value; struct { U elems; } } void main…

ICFPC 2009

http://icfpcontest.org/ 今年もやってきました. ICFPC 2009 プログラミングコンテスト. 3日間の間に与えられた課題をチームでどんどん進めていってスコアを競います. 優勝者の使用した言語が1年間イケテル言語認定されます. いつも参加できなかったけど…

mapしたのをchainできないのでappenderを使う

import std.stdio, std.array, std.range, std.algorithm; int f(int e) { return e * -1; } void main() { int[] r = [-1,-2,-3,4,5,6]; { int[] a = [1,2,3], b = [4,5,6]; auto m = map!(f)(a); //auto x = chain(m,b); // chainがrangeのmを受け取ってく…

すべて開け

http://d.hatena.ne.jp/asin/4094510524 例えばここですべて開くをクリックしても,本当にその場ですべてが開かれるわけではなく,それぞれの日記を開けるページが表示されるだけだ. しかも,こっちのページではすべてを開くボタンが見あたらない. 前はそ…

プログラマの三大美徳

ラリー・ウォールによれば、プログラマの三大美徳とは 無精(Laziness) 短気(Impatience) 傲慢(Hubris) との事。これはプログラマに必要とされる、 効率や再利用性の重視・処理速度の追求 品質に賭ける自尊心をいったものである。 一回くらいはブログに…

ファイルの同一性とIDからのファイルアクセス

ファイルの同一性はBY_HANDLE_FILE_INFORMATION構造体のnFileIndexHighとnFileIndexLowを見ればよい. Windowsで、inode 情報に当たるファイルの ID は、GetFileInformationByHandle() API の戻り値 BY_HANDLE_FILE_INFORMATION 構造体の nFileIndexHigh お…

オブジェクト指向設計原則

改めて読む. * 単一責任の原則(SRP) * オープン・クローズドの原則(OCP) * リスコフの置換原則(LSP) * 依存関係逆転の原則(DIP) * インターフェイス分離の原則(ISP) http://d.hatena.ne.jp/asakichy/20090122/1232879842 アジャイルソフトウェア…

mapしたのをchainできない

auto a = map!("a*a")( chain([1,2,3][],[4,5,6][]) ); auto b = chain( [1,2,3][], map!("a*a")([4,5,6])); 前者ができて後者ができないのはひどい. 前者はunittestに書かれているから現状できるんだろうなー. それとなんで [1,2,3][]っていう風に最後に …

charはunsignedではないがもちろんsignedでもない

C++

結果、signed char / char / unsigned char はそれぞれ別物だとさ。 なんだと!

std.range.chainが返すRangeの要素型

import std.stdio; import std.algorithm; import std.range; void main() { f(chain("a".dup, "b")); // int } void f(Range)(Range r) { writeln(typeid(ElementType!(Range))); } intってなんやねん (´・ω・`)

Rangeを出力するwriteln

import std.stdio; import std.algorithm; import std.range; template writeln(R) if (isInputRange!(R)) { void writeln(R r) { foreach (e; r) std.stdio.write(e); std.stdio.writeln(); } } void main() { { auto res = chain("a", "b"); std.stdio.wri…

「以下について教えてあげよう♪」(2)

「以下について教えてあげよう♪」 - ...ing logging 3.0 より import std.stdio; import std.algorithm; import std.range; import std.string; char f(char x) { if ( x >= '0' && x <= '9' ) return '9' - x + '0'; if ( x >= 'A' && x <= 'Z' ) return x …

「以下について教えてあげよう♪」

・大文字は小文字に、数字は'0','1','2'...を'9','8','7'...と反転させる。 ・ただし、'#'以降の文字は変換しない。 ・例として "Abc012_59F_#012Gh"を渡した場合の戻り値は "abc987_40f_#012Gh"となる。 以下について教えてあげよう♪ Dでサクッと書こうとし…

The D Programming Language

The D Programming Language作者: Andrei Alexandrescu出版社/メーカー: Addison-Wesley Professional発売日: 2010/06/02メディア: ペーパーバック購入: 3人 クリック: 212回この商品を含むブログ (5件) を見るキター. ウォルたん共著じゃないんだね. この…

青mixi

メニューだけ元のままなのかよw ていうか,しれっとbetaに戻すなwwwww

弟一家がやってきた in USJ

うわぁねむっ!!! でも書く. 姪と甥はおじいちゃんおばあちゃん奥さんに任せて,弟と二人で回りまくってきましたwwww 男 二 人 でUSJってwww あーあ,めちゃ楽しかった. スパイダーマン(2回目) やっぱり一番面白い乗り物. どうやってるんだろ…

眠たくなるまで研究したり実装したりしていたい

しかし仕事がある罠. 明日も仕事だ. しかし明日は姪と甥が遊びに来る日でもある.