Skip to content

Instantly share code, notes, and snippets.

@takkkun
Created November 6, 2011 17:25
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save takkkun/1343199 to your computer and use it in GitHub Desktop.
Save takkkun/1343199 to your computer and use it in GitHub Desktop.
var unekointhehousenow = function(input) {
var copy = function(source, buffer, pointer) {
for (var i = 0, l = source.length; i < l; ++i) {
buffer[pointer + i] = source[i];
}
};
var tokens = input.match(/うーねこいんざおうちなうよー|うーねこ|いんざ|おうち|なうよー/g) || [];
var buffer = [0];
var pointer = 0;
for (var i = 0, l = tokens.length; i < l; ++i) {
var token = tokens[i];
if (token == 'うーねこいんざおうちなうよー') {
var fanon = (function(text) {
var buffer = [];
for (var i = 0, l = text.length; i < l; ++i) {
buffer.push(text.charCodeAt(i));
}
return buffer;
})('Hello world');
copy(fanon, buffer, pointer);
pointer += fanon.length - 1;
}
else if (token == 'うーねこ') {
++pointer;
if (pointer >= buffer.length) buffer[pointer] = 0;
}
else if (token == 'いんざ') {
--pointer;
}
else if (token == 'おうち') {
++buffer[pointer];
}
else if (token == 'なうよー') {
--buffer[pointer];
}
}
return String.fromCharCode.apply(undefined, buffer);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment