«Жизнь» Конвея Из Каждой Буквы, Только В Emacs!



Один рабочий декабрьский вечер Все мы так или иначе сталкивались игра "Жизнь" Конвей .

Кто-то писал сам, кто-то смотрел и удивлялся, кто-то играл.

В новогоднюю ночь, сидя с коллегой за одним компьютером и решая какую-то задачу в конце рабочего дня, мы немного отошли от проблемы и как-то дело дошло до М-х жизнь (мы оба используем Emacs), &emdash; Для тех, кто не знаком с Emacs, это команда запуска игрушки жизни в Emacs.



Стандарт не интересен
Кажется, здесь не о чем говорить.

Но реализация в Emacs имеет около 10 «встроенных» начальных позиций, которые, мягко говоря, неинтересны.

Вы это знаете:

  • Первоначально Конвей предположил, что ни одна первоначальная комбинация не может привести к неограниченному воспроизводству, и предложил приз в 50 долларов любому, кто сможет доказать или опровергнуть эту гипотезу.

    Цитата из Википедии;
  • К настоящему времени более или менее сложилась следующая классификация фигур:
    Цитата из Википедии;
  • Emacs – это расширяемый текстовый редактор.



Мои руки чесались
Мне не терпелось попробовать некоторые интересные формы игры.

Но для этого нужно что-то сделать, чтобы реализация функции жизнь воспринимала текущий текст в окне текстового редактора, а не вставляла один из своих «красивых» шаблонов.

И глядя на код функции жизнь (щелкнув в Emacs К-ч-ф жизнь ), оказалось, что все просто:

   

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

Функция xlife предназначен для привязки строкового содержимого текущего буфера к глобальная динамическая переменная образ жизни , который используется функцией жизнь .

И затем просто сделайте последнее.

Нет необходимости копировать реализацию, никаких перехватов или хаков.

Загружаем код нашей функции в Emacs ( C-M-x ) и выполнить ( М-х xlife ): текст, который только что был кодом нашей функции, начинает «оживать».

И здесь планер , логотип хакеров : Теги: #life #Lisp #fun #Emacs #Chulan #Conway #Моделирование жизни #elisp #emacs lisp #defun

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.