2011/04/05

Recent entries from same category

  1. RapidJSON や simdjson よりも速いC言語から使えるJSONライブラリ「yyjson」
  2. コメントも扱える高機能な C++ 向け JSON パーサ「jsoncpp」
  3. C++ で flask ライクなウェブサーバ「clask」書いた。
  4. C++ 用 SQLite3 ORM 「sqlite_orm」が便利。
  5. zsh で PATH に相対パスを含んだ場合にコマンドが補完できないのは意図的かどうか。

こりゃ出番だ!...と思ったとか、思わなかったとか...
()()で呼び出せるJavaScriptのネスト関数の活用法を思いついた - あと味

()()で呼び出すネスト関数の活用方法を考えたのですが、考えて出した答えがこれです。

http://d.hatena.ne.jp/jdg/20091020/1256042918
関数ポインタとか、operator()でもいいんだけど、リテラルを使いたくなかったのでマクロで...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define eq(x,y) !strcmp(x,y)
#define X(x) oppai(#x);
#define _(x) oppai(#x); X
void oppai(const char* rhs) {
  static const char* lhs = NULL;
  if (!lhs) lhs = rhs;
  else { puts(
      eq(lhs,"・")&&eq(rhs,"・")? "ハリのあるおっぱい" :
      eq(lhs,".")&&eq(rhs,"." )? "垂れ気味のおっぱい" :
      eq(lhs,"◎")&&eq(rhs,"◎" )? "立体的なおっぱい" :
      eq(lhs,"○")&&eq(rhs,"○" )? "乳輪が大きいおっぱい" :
      eq(lhs,"●")&&eq(rhs,"●" )? "乳輪が大きく、黒いおっぱい" :
      eq(lhs,"。")&&eq(rhs,"。" )? "色が薄く、左向きのおっぱい" :
      "引数には乳首しか受け入れません"
    );
    lhs = NULL;
  }
}


int main(void) {
  _(・)(・) // ハリのあるおっぱい
  _(.)(.)   // 垂れ気味のおっぱい
  _(◎)(◎) // 立派なおっぱい
  _(○)(○) // 乳輪が大きいおっぱい
  _(●)(●) // 乳輪が大きく、黒いおっぱい
  _(。)(。) // 色が薄く、左向きのおっぱい
  return 0;
}
これでいつでもC言語を書きながら、おっぱいを眺められますね!
Posted at by | Edit