読者です 読者をやめる 読者になる 読者になる

Okinawa.pm #4に参加

概要

2017/04/01(エイプリルフール)の13:00~18:00に,Okinawa.pm の4回目の集まりに参加しました.

日付が日付なので,「エイプリルPerl」というテーマでLT大会が開かれました.

 

第3回目と同じく,琉球大学東口付近の「ララプリモ」というお店の2Fで実施しました.

 

発表したネタについて

「エイプリルPerl」ということで今回はジョークがメインの回になると思ってネタをずっと考えていたのですが,結局当日まで思いつかず,LTの最後まで考えながらネタ作りをすることになりました.

ちょうどなんとなくQuine(自身と同じソースコードを出力するプログラム)で何かネタをやりたいなと思っていたところに,ぺんさん(@tompng)が素晴らしいQuine風自己書き換えプログラムのネタを披露していたので,それの原理を解読して真似してみようというチャレンジをしました.

LT参加者が全員発表を終えるまでの間に乱入するために,とりあえずQuineの書き方を調査.小飼弾さんのページにそれらしい解説ページがありますが,evalを持つ言語はたいてい同じような形でQuineを作ることができるので,そこから改良して「実行するたびにソースコードが進化していく」ようなものを作ってみることにしました(なので,厳密にはクワインではなく,あくまでもクワイン風,ということになります)

 

実行して出力されるコードをまた実行する,ということを繰り返すたびに,「April_Fool」の文字が1文字ずつ書き出されるというネタをなんとか完成させました.

 

gist.github.com

 

感想

あまり真面目ではないネタですが,実行するたびにソースコードが変化(完成)してゆくようなプログラム,というのをどうすれば実現できるのかといったことを考える切っ掛けになったので,個人的にはとても良かったです.