Ewayでのみ、すべての文字からのConwayの「Life」!

12月の夜に働く1人



なんとかして、私たち全員がConwayゲーム「Life」に出くわしました。 誰かが自分自身を書き、誰かが見て、疑問に思って、誰かが遊んだ...

新年までに、同僚と同じコンピューターに座って、仕事の終わりに問題を解決すると、問題から少し離れて、なんとかMxライフ (私たちは両方ともEmacsを使用)になりました&emdash; Emacsを初めて使う人は、EmacsでLifeおもちゃを立ち上げるチームです。

面白くない標準


話したいことのようです。 はい、それはEmacsでの実装が約10の「有線」初期位置を持っているだけで、控えめに言っても面白くないです。

あなたはそれを知っています:




combかされた手


私の手は、ゲームの興味深い形式のいくつかを試してみました。 ただし、このためには、「美しい」テンプレートの1つを挿入するのではなく、 ライフ関数の実装がテキストエディタウィンドウの現在のテキストを認識するようにする必要があります。

そして、(Emacs Chf lifeをクリックすることで) ライフ関数のコードを見たところ、すべてがシンプルであることがわかりました

(defun xlife () (interactive) (let ((life-patterns (vector (list (buffer-string))))) (life))) 


xlife関数 、現在のバッファーのコンテンツを、 life関数で使用されるグローバルな動的変数 life-patternsにバインドするように設計されてます。 そして最後の1つだけを行います。

実装のコピー、フック、ハッキングはありません。

関数コードをEmacs( CMx )に読み込み 、実行( Mx xlife )します。関数のコードであったテキストが「ライブ」になります。



そして、ここにグライダーハッカー紋章があります:

Source: https://habr.com/ru/post/J136597/


All Articles