kubo39's blog

ただの雑記です。

2015-12-01から1ヶ月間の記事一覧

case文で範囲を指定する方法

いつも忘れてしまう。 string f(char c) { switch (c) { case 'a': .. case 'z': return "Lower letter!"; case 'A': .. case 'Z': return "Upper letter!"; default: return "Non-alphabetical character!"; } assert(false); } unittest { assert(f('f') =…

DMDでプログラムのカバレッジを測定する方法

-covオプションを使うとできる。 適当なプログラムを作る。 import std.stdio; enum Fruit { Apple, Orange, } int tested1(int val) { return (val % 2 == 1) ? val : (val == 0) ? 42 : -val; } void tested2(Fruit val) { final switch (val) { case Frui…

SECCON CTF 2015 write up

pingというチームで参戦しました。自分はbinaryの300しか解けず。。 Reverse-Engineering Android APK 1 apkの中身を見る必要がありそうな問題。 apktools入れたりしていじる。 http://ibotpeaches.github.io/Apktool/install/ ( ՞ਊ ՞) :~/dev/ctf/rps $ ./a…

緊縛とぼく

これは エロベントカレンダー の5日目の記事です。 さて、緊縛ネタということですが、私は緊縛が好きですが、とりたてて緊縛にかんして主張はないです。 手は縛っていてほしい派 縄の色にはこだわらない派 飲尿プレイ(飲ませる)が好き スカトロはダメ こんな…

Operator Overloadingによるインデックスアクセスの実現

D言語では任意のユーザ定義型に対して opIndex/opIndexAssign を定義することでインデックスアクセスを実現することができます。 特に注意すべき点などないのですが、インデックスアクセスにおいて $ は特殊な扱いになっているので opDollar のオーバーロー…