yunomuのブログ

酒とゲームと上から目線

なんでもアリ

プログラミングコンテストとか苦手なんだよねぇ。
でも「FizzBuzzで一番笑わせた奴が優勝」とか、そういうのならやりたい。

なんて言ってたら大学の後輩がこんなのを教えてくれた。IOCCCで出てたFizzBuzz(?)のCode Golf(?)らしい?

dev.c

#include"/dev/tty"

これはコンパイル時に動作を定義する形になってて、コンパイルがちょっと面倒くさいんですけど、例えばHelloWorldならこんな感じ。

% gcc dev.c
main(){printf("Hello World!\n");}
^D

2〜3行目は自分で入力します。最後の"^D"はControl-Dで、終端記号です。

っていうかこれCじゃなくてほとんどCPPなので、CPPさえ使えれば言語は問いません。
例えばHaskellだとこんな感じ。
dev.hs

#include"/dev/tty"

コンパイルはこう。

% ghc -cpp dev.hs
main=putStrLn"Hello World!"
^D

実行。

% ./dev
Hello World!

これはひどい