幻影

「これで最後。」

#!/usr/bin/env ruby

# name : trinity.rb
# version : 1.0
# author : Tommy

class Trinity
	ESC 		= 0x1b.chr
	SCR_CLEAR	= "#{ESC}[1J#{ESC}[1;1H"
	SCR_GREEN	= "#{ESC}[0;32m"
	SCR_RESET	= "#{ESC}[0m"

	def initialize(script)
		@script = script
		Signal.trap(:INT) { teardown }
		setup
	end

	def setup
		$stdout.sync= true
		print SCR_GREEN
	end
	
	def teardown
		print SCR_RESET
		clear
		exit
	end

	def run
		loop do
			@script.each{|line|
				clear
				print "> "
				sleep 1
				printLine line
				sleep 3
			}
		end
	end	

	def clear
		print SCR_CLEAR
	end

	def printLine(line)
		line.chomp.each_byte{|byte|
			putc byte
			sleep 0.05
		}
	end
end

script =<<EOS
Wake up, Neo...
Tha Matrix has you.
Follow the white rabbit.
Knock, Knock, Neo
EOS

Trinity.new(script).run
  • やっぱ、最後は何事もなかったかのように終わらなきゃ。
  • ソースにバックスラッシュを使わないように。(ここに記載する都合上。)
  • クラス化。(見られてることを意識してしまった…。)