私が歌川です

@utgwkk が書いている

Piet インタプリタをいじっている

私は Piet の言語仕様をまだ完全に理解しきれていないので,正しいインタプリタを実装することができない.DP と CC の切り替えについてはさっき把握した(つもり)のところ*1

github.com

gyazo.com

これはインタプリタの挙動をトレースした画像です.灰色丸が訪れたコーデルの位置で,灰色正方形が終了した位置.「ああ~心」とだけ表示されて終了するが,本来は「ああ~心がぴょんぴょんするんじゃ~」と表示されるのが正しい.まだまだ先は長い.

utgwkk.hateblo.jp

作りはじめたのが2015/09/08で,あと半年もしないうちに開発2年目を迎える.

*1:というか,元の文章にはっきり書いてないけど,デファクトスタンダードとなっている挙動に合うようになった,というほうが正しい?

『UNIXという考え方 その設計思想と哲学』を読んだ

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学

UNIX哲学を雰囲気だけ知っている人は読んだらいいと思う.雰囲気以上の情報がある.あとは,とにかく巨大なプログラムが書きたいという人にも読ませるべき.

「1つのプログラムには1つのことをうまくさせよう」というのが,まるで我々のことのように感じられて,気持ちになったりもする.

POSIX標準のものは,それだけ覚えればだいたい書けて便利だし,パイプでつなげればいろいろな処理ができて便利.小さいプログラムの組み合わせで効率が上がるという例だと思う*1

いろいろ書いてあるけど,この本の中でいちばんよかったのは「試作はできるだけ早く作れ」というところ.作って動かしてみるといろいろ分かるだろうけど,分かるなら高速に分かっておくべきだと思うし,なにより作ってると楽しいので手が動きまくるというのもある.

設計思想解説の本というだけでなく,コードを書くときに覚えておきたいことが詰まっている本.

*1:ときどきそうでないものもある気がするが…….

ぷよぷよテトリスS

お題「Nintendo Switch」

ぷよぷよ(TM)テトリス(R)S - Switch

ぷよぷよ(TM)テトリス(R)S - Switch

ぷよぷよテトリスも好きなので買った.テトリスはマラソンばっかりやっていて対戦は得意でない. ぷよぷよは4連鎖ぐらいなら出るという感じだけど,階段積みしかしてないので臨機応変でない. ストーリーはいちおうクリアしたので星を集めるだけになった.

SW-1506-0052-0734 です.

パート分けされた歌詞からパート情報を削除するワンライナー

sed -re 's/(.+)(.)/\1/g' atapon.txt

こういう文字列置換,初めは慣れなくて perl -mutf8 -nle 's/(.+)(.)/\1/g' -p atapon.txt とかやっちゃうけど,これぐらいならわざわざ Perl を使うまでもなくて,sed で十分という気づきを得られる.

-r を付けると拡張正規表現が有効になり,これで我々にとって直感的な後方参照が有効になる.

以下は試行錯誤の過程です.