ヨーキョクデイ

100% pure impurities, which may imply some value. (j は虚数単位)

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

opApply の引数であるデリゲートの戻り値

import std.stdio; class K{ private uint[] a = [3, 1, 4]; int opApply(int delegate(ref uint) dg){ int result; for(uint i; i < a.length; i++){ result = dg(a[i]); writeln("r: ", result); if(result){ break; } } return result; } } void test1(K …

foreach 用フィボナッチ数列生成器

これがいい。 import std.stdio; class Fibonacci(T){ private T current; private T next; private bool isFirstTime; private bool useCountLimit; private size_t countLimit; this(T first, T second){ current = first; next = second; isFirstTime = t…

フィボナッチ数列生成器

Project Euler に数少ない D 言語派として参戦してみたのだが、早速必要になったので作ってみた。 class Fibonacci(T){ private T _current; private T _next; private bool _firsttime; this(T first, T second){ _current = first; _next = second; _first…

std.stdio の write 系関数と invariant(char) / immutable(char)

DMD 2.025 で実験したこと。 std.stdio の write 系関数に invariant(char) や immutable(char) を渡すと、それが表す文字ではなくその文字の ASCII コードが表示される件。つまり、「文字」としてではなくただの整数として扱われているかもしれないというこ…

ゆめにっき

今日は猫の日らしいが、化け猫にでも何かされたのか、珍しく夢を見たと思ったらものすごい勢いでねこになつかれてじゃれまくるという夢だった。

boost::asio で UDP 通信したい

C++

オレオレ UDP クラス(ただし手抜き)をでっちあげた。 #include <boost/array.hpp> #include <boost/asio.hpp> #include <boost/bind.hpp> #include <iostream> const size_t BUF_SIZE = 1024; class UDPSocket{ private: boost::asio::ip::udp::socket sock; void send_handler(const boost::system::error_code& error</iostream></boost/bind.hpp></boost/asio.hpp></boost/array.hpp>…

数字の羅列に弱い

複数桁の数に弱いことが最近よく感じられる。というのも、376 とかいう数をスラッと声に出して読めないことが多いのだ。そういうアレなのかもしれない。

Fire! Burning your spirit fire

我が家の超絶近所で火事があったらしい。風がなかったからよかったものの、ヘタしたら帰ってきたら家がないということになっていたかも。

UPnP のべんきょう

地味にめんどくさげ。Tango 0.99.7 と DMD 1.033 による。 import tango.net.Socket, tango.net.InternetAddress; import tango.io.Buffer; import tango.net.http.HttpHeaders, tango.net.http.HttpConst, tango.net.http.HttpGet; import tango.io.Stdout;…

本日の脳内ヘビーローテーション

Do As Infinity の Gates of heaven。たぶん帰りたかったから。

ベクタの(ポインタ|参照)のベクタ

まず C++ で STL。 #include <vector> #include <iostream> int main(){ std::vector<int> u, v; std::vector<std::vector<int>*> m; m.push_back(&u); m.push_back(&v); for(int i = 0; i < 5; i++){ u.push_back(i); v.push_back(-3 * i); } u[4] = 100; v[2] *= -1; for(std::vector<std::vector<int>*>::iterator m</std::vector<int></std::vector<int></int></iostream></vector>…

ルンバ未遂

某野球ゲームだが、3 点差で負けている 9 回裏 2 死 1 塁でカウントは 2-2 の状態で盗塁してくるコンピュータの相手チームはどうかと思う。このときは投球はボールで盗塁も成功したのだが。

ContentHandler::characters() は何度も呼ばれるかもしれない

SAX で XML をパースするときの話。 Xerces-C++: ContentHandler Class Reference より引用。 The Parser will call this method to report each chunk of character data. SAX parsers may return all contiguous character data in a single chunk, or the…