2010-09-01から1ヶ月間の記事一覧
3 ヶ月ぐらい、デスクトップの附箋メモに書きっぱなしで、調べいなくて、今後も調べないような気がするので、ここにメモを残して附箋は削除しよう。 #include <stdio.h> int foo(int& b) { printf("%p %d\n", &b, b); return b *= 2; } int& bar() { int a = 1; print</stdio.h>…
Scheme で append 手続きを再実装(完成) - satosystemsの日記で、コメントで教えてもらった append の実装を解析。 (define append (lambda args (let f ((ls '()) (args args)) (if (null? args) ls (let g ((ls ls)) (if (null? ls) (f (car args) (cdr …
今年の 5 月に Android Dev Phone 1 が壊れた。状態としては、カメラアプリを起動したまま放置しっぱなしでバッテリーが放電しつくして、その後最後の力を振り絞って再起動をしようとしたけど、Android のロゴ画面で電源がやはりなくなり、その後バッテリー…
中国語で結婚年数とその呼称を調べてみた。 年数 アメリカ フランス イギリス ロシア 日本 朝鮮 1年 纸婚 棉婚 纸婚 花布婚 2年 布婚 皮婚 纸婚 3年 皮婚 麦婚 4年 丝婚 蜡婚 5年 木婚 木婚 木婚 木婚 木婚 6年 铁婚 铜婚 锌婚 7年 铜婚 羊毛婚 铜婚 8年 电…
ブログ(や日記、mixi)をやってる人で Twitter を始めた人が、その後もブログの更新頻度を維持している例を僕は知らない。RSS でブログの購読を始めたのは 4 年ぐらい前からなんだけど、購読エントリの半分以上は死んでしまっている。この前、とある開発者…
ちょっと昔の話になる。中国に来て、ケータイを購入する際に、日本語のわかる中国人女性に付き合ってもらった、というより付いてきた。僕は時間をかけて選ぶつもりだったので断りたかったんだけど、時間がかかっても問題ない、ということで、じゃあそれなら…
チケットを航空会社から直に購入すると非常に高い、ということがわかった。じゃあ、旅行会社をあたってみようということで連絡を取ったのが 携程旅行网官网:酒店预订,机票预订查询,旅游度假,商旅管理 というところ。中国ではかなりの大手で、日本でいう HIS …
中国のチケット屋のウェブサイトは当てにならないということがわかったところで、全日空、ノースウェスト、大韓航空で直接チケットを探してみた。 全日空:ひとり 24 万 北京から東京経由でホノルルまで、という内容で 24 万。エコノミーで。 ノースウェスト…
構造体に可変長配列を定義したい場合があります。 struct foo { size_t size; char *array; }; こんな感じの構造体で、char 配列の長さは動的に決定される、というようなケースです。この場合以下のように使用します。 int main(int argc, char *argv[]) { s…
新婚旅行でハワイに行くのに、航空券をゲットしなきゃならない、というお話。大使館で妻のビザを申請したときに、航空券のチラシ配りがたくさんいて、50 社ぐらいのチケット屋の情報が集まったので、スクリーニング。ハワイ行きの値段が記載されているチケッ…
VC2008 で GDIPlus を使用しようとすると、以下のエラーが出る。 c:\program files\microsoft sdks\windows\v6.0a\include\gdiplusimaging.h(74) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしてい…
大体毎日、妻に日本語の授業をしている。今日は「〜と思う」「〜と言った」「〜でしょう?」というフレーズを習得する課。教科書で言うと第 21 課、上冊の終盤だ。200 ページを半年かけた、ぐらいのペースだ。さて、だんだん教えているほうがつらくなってき…
App Storeにはすでに25万を超えるアプリがある。これ以上の「屁」アプリは不要。なんの役にも立たないアプリ、なんらかの持続するエンターテインメントを提供できないアプリは却下される可能性がある。 アップル App Store 審査ガイドライン:「一線」を越え…
手続き list-append がようやく完成した。 (define list-append (lambda (a . b) (define add (lambda (x y) (reverse (cons y (reverse x))))) (define end (lambda (x y) (if (null? x) y (end (reverse (cdr (reverse x))) (cons (car (reverse x)) y))))…
Scheme の if 式は (if <test> <then> <else>) という感じなので、 if (a == 1) { printf("a is 1"); } else if (a == 2) { printf("a is 2"); } else if (a == 3) { printf("a is 3"); } else if (a == 4) { printf("a is 4"); } else { printf("unknown"); } という条件分岐</else></then></test>…
Scheme をやっていて感じる罪悪感は、リスト操作の愚直性だ。例えば、リストの長さを得る手続き list-length は (define list-length (lambda (a) (let loop ((x a) (len 0)) (if (null? x) len (loop (cdr x) (+ len 1)))))) こんな感じなんだけど、これを …
Scheme にはリストの種類を判別するための手続きは、3 つある。 null? (null? '()) ; => #t (null? (list)) ; => #t (null? '(a)) ; => #f (null? 'a) ; => #f null? 手続きは、とにかく空リストだった場合は #t を返す。 pair? (pair? '()) ; => #f (pair? …
おいらも FAQ を書いてみる。 引数の void void example(void); void example(); これは、C++ ではどちらも引数なし、という意味だが、C では example() の方は関数の引数の情報が単に不明である、ということになる。要するに: void example() { printf("ok…
Skype 4.x には、チャットで送信したメッセージの一部が文字化けないし欠落する、というバグがある。この現象が発生したら、修正の際に、問題のある文字の前に、スペースをいくつか追加することで回避できることがわかった。例えば「今日はもう仕事はやって…
2〜3 分のコンパイル待ち時間、みなさんどのようにお過ごしですか。僕は昨日はC言語FAQ / C++言語FAQ【BohYoh.com】を見て過ごしました。95% は知っている内容でしたが、知らないものもあったので、ここで紹介。 C++ char型、unsigned char型、signed char型…
話をしているときに舌打ちをする人って、頭が悪いと思うんだよね。相手に容易に心を読まれてしまうから。だけど、僕の周りにはそんな人が結構いる。舌打ちする人は気が付いていないんだ、自分が舌打ちしていることも、相手に気づかれていることも。
Windows 7 だと、Cygwin から ping を打とうとすると: $ ping www.yahoo.com ping: socket: Operation not permitted ということで、権限がなくて ping すら打てない。管理者権限で立ち上げるか、コマンドプロンプトを使いましょう。
こんな感じかな。 (define null? (lambda (a) (eq? '() a))) Scheme には等価性検証に eq?、eqv?、equal? が用意されているけど、 eq? は同一性 eqv? は甘めの同一性 equal? 同値性 という風に使い分ける。Java で言うと、eq? は ==、equal? は equals(Objec…
append 手続きも再定義してみた。 (define list-append (lambda (a . b) (let loop ((a a) (b b)) (if (null? b) a ; b が空リストなら a を返す (if (null? a) ; b が空リストじゃなくて (loop (car b) (cdr b)) ; a が空リストなら b の car と cdr で再帰…
まず、適当な名前でシェルスクリプトを用意する。 #!/bin/bash while getopts C:f: OPT do case $OPT in "C" ) ;; "f" ) filename="$OPTARG";; esac done if [ "$file" != "" ]; then export CURRENT_MAKEFILE=$filename fi make $@ シェルスクリプトの起動…
3 時間ほど調査したけど、結局わからなかった。Makefile が複数ある場合、例えば $(MAKE) -C hoge -f fuga.mkという感じでネストする Makefile が呼び出されていれば、 $(shell pwd)でディレクトリは取得できる。けど、ファイル名は取得できない。 これより…
久しぶりに Scheme の勉強。R5RS を読んでいて気になるのが、list と vector と string に対して、それぞれ似たような、だけど専用の名前の関数が用意されていること。その中でも極めつけが length 関数。Python だと len 関数、Haskell だと length 関数に…
NN2 NN3 IE4 IE5 IE5.5 NN2 は近所のラオックスで購入。FD 3 枚組で 4000 円弱だったか。その後、ウェブ系開発で過去のブラウザサポートの確認用としてかなり使った。IE5.5 は、IE6 が出ても、Windows Update で更新されないように気を付けながら使っていた…
4 コア 8 スレッドを目いっぱい使ってビルドすると、フルビルドで 20 分を切るそうな。僕の環境では・・・、中古のお古なので 200 分かかりまつ。離れにいると物資が提供されないので、仕方がないのですが、せめて半分にできないものかなぁ。