暇人がひたすら草を植える日記
Grass4日目。楽しくなってきた。
wから始めて文字コードをインクリメントしながら256文字出力。
wWWwWWWWwv ; out&succ wwWWwWWWwv ; 2 ;main wWWww ; 2 2 : 4 Ww ; _ _ : 256 Wwwwww ; _ out&succ Wwwwwwwwww ; _ char
コメント部分、:の左側は関数適用の内容で、右側は適用結果の分かりやすい名前。_ は直前の関数適用の結果で、charはプリミティブのw。
実行すると、制御文字とかも出力するので変なのが表示されたりビープ(0x07)が鳴ったり。
ASCII印字可能文字(0x20〜0x7E)だけ表示しようとするとめんどい。
wWWwWWWWwv ; out&succ wwwwWWWwwWwwWWWWWWwwwwWwwv ; + wwWWwv ; 1 ;main wWWWww ; + 1 : 1+ Wwww ; _ 1 : 2 WWw ; 1+ _ : 3 Www ; _ 2 : 8 WWWWWWWwww ; + 2 : 2+ Wwww : _ 3 : 5 WWWWWWWWWwww ; + 8 : 8+ Www ; _ 5 : 13 WWWWWWWw ; 2 _ : 169 Wwwwwwwwwwwwwwww ; _ succ Wwwwwwwwwwwwwwwwww ; _ char : <SPACE> WWWWWWWWWWwwwwwwwww ; 2 3 : 9 WWWWWWWWWWWw ; 2 _ : 81 WWWWWWWWWWWWWWWWw ; + _ : 81+ Wwwwwwww ; _ 13 : 94 WWWWWWWWWWWWWWWw ; 1+ _ : 95 Wwwwwwwwwwwwwwwwwwwww ; _ out&succ Wwwwwwww ; _ <SPACE>
実行結果
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
数字の作り方次第で短くできそう。
なんかこういう奴の最短手順を求める問題が確かProject Eulerに・・・あった。
まだ解いてない。
これに冪乗も加えて考えるのはかなりしんどそう…
Project Eulerは2ヶ月ほど前から挑戦してます。(殆どxyzzyで解いてるけど、たまにSBCL使ってゴリ押し)
Grassで商・剰余が書けたら再開しよう。