見えないプログラム

近頃は @fusuian としてもっぱら Twitter しておりますです。

先日 @etoさんと @_tad_ さんとで Tsukuba.rb を立ち上げ、今日は第2回の集まりでした。
筑波大春日キャンパスのラーニングコモンズをお借りして、大学2年で初めてさわったプログラム言語がRubyという、Rubyネイティブの若い人たちとお話ししていたところ。

「どこも間違っていないのにエラーが出て3日間悩んだが、原因は全角スペースだった」という話題が。

しかし @eto さんはRubyでは全角スペースが識別子として使えることを指摘。
いろいろ試して、コマンドラインで-Kオプションを指定すると確かに使える。
ならば、どこまで全角スペースを使ってプログラム可能か?

やってみました。
コピペしてghost.rbにセーブしてください。
コマンドラインから「ruby -Ku ghost.rb」で動きます。(Ruby 1.8対応)

  = 1
 _ = - 
  = << 
   =  << 
    =   << 
@ =" "
[
 [ ,     *    - ],
 [ _ , -   *    +  ],
 [ , -   *    +  ],
 [- ,  ],
 [ ,  _ ],
 [ _ ,     *  - ]
].each {| __, ___|
  @ [ ]+= __
  @ [  ]+= ___
  puts @ 
  sleep  
}