aboutsummaryrefslogtreecommitdiffhomepage
path: root/2-the-false-awakens/entry.clean.rb
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-04-16 03:28:54 +0900
committernsfisis <nsfisis@gmail.com>2025-04-16 03:28:54 +0900
commit52c3d0499e3fbf4930034ab452af3f562f5672ed (patch)
treed3c165f9362b9c6768b4c1af0fd4e6f1b5951015 /2-the-false-awakens/entry.clean.rb
parent0d39bfde42901478e8ca5e22b146263b94658a5f (diff)
downloadtrick-2025-main.tar.gz
trick-2025-main.tar.zst
trick-2025-main.zip
initial commitHEADmain
Diffstat (limited to '2-the-false-awakens/entry.clean.rb')
-rw-r--r--2-the-false-awakens/entry.clean.rb100
1 files changed, 100 insertions, 0 deletions
diff --git a/2-the-false-awakens/entry.clean.rb b/2-the-false-awakens/entry.clean.rb
new file mode 100644
index 0000000..9a3ce0b
--- /dev/null
+++ b/2-the-false-awakens/entry.clean.rb
@@ -0,0 +1,100 @@
+# A long time ago in a galaxy far,
+# far away....
+
+
+
+
+
+
+
+eval(%w{
+
+def'false(p,s=[],v={});
+ c=0;
+ while(c<p.size);
+ if(!(i=p[c]));false;
+ elsif"$"==i;s.push(s.last);
+ elsif"%"==i;s.pop;
+ elsif(28.chr)==i;s.push(s.pop,s.pop);
+ elsif"@"==i;s[-3],s[-2],s[-1]=s[-2],s[-1],s[-3];
+ elsif"+"==i;s.push(s.pop+s.pop);
+ elsif"-"==i;s.push(-s.pop+s.pop);
+ elsif"*"==i;s.push(s.pop*s.pop);
+ elsif"/"==i;s.push(s.pop.then{s.pop/_1});
+ elsif"_"==i;s.push(-s.pop);
+ elsif"&"==i;s.push(s.pop&s.pop);
+ elsif"|"==i;s.push(s.pop|s.pop);
+ elsif"~"==i;s.push(~s.pop);
+ elsif">"==i;s.push((s.pop<s.pop)?~0:0);
+ elsif"="==i;s.push((s.pop==s.pop)?~0:0);
+ elsif"!"==i;self.false(s.pop,s,v);
+ elsif"?"==i;s.pop.then{s.pop!=0&&self.false(_1,s,v)};
+ elsif":"==i;v[s.pop]=s.pop;
+ elsif";"==i;s.push(v[s.pop]);
+ elsif","==i;print(s.pop.chr);
+ elsif"."==i;print(s.pop);
+ elsif/[0-9]/=~i;s.push(i.to_i);
+ elsif/[a-z]/=~i;s.push(i);
+ elsif"["==i;
+ q=c+=(b=1);
+ while(b!=0);
+ b+={"["=>1,"]"=>-1}[p[c]]||0;
+ c+=1;
+ end;
+ s.push(p[q...(c-=1)]);
+ elsif"#"==i;
+ a,b=s.pop,s.pop;
+ loop{;
+ self.false(b,s,v);
+ s.pop!=0&&break;
+ self.false(a,s,v);
+ };
+ end;
+ c+=1;
+ end;
+end;
+
+
+class'String;
+ def&(other);
+ (self[1..]+other[1..])
+ .chars
+ .map{(_1.upcase==_1)??1:?0}
+ .join
+ .to_i(2)
+ .chr;
+ end;
+
+ def|(other);
+ (self||"")+(other||"");
+ end;
+
+ def'method_missing(_);
+ self;
+ end;
+end;
+
+
+def'Object.const_missing(n);
+ const_set(n,n.to_s);
+end;
+
+}.join.gsub("'"," "))
+
+
+
+
+ EPISODE_VII
+
+ THE_FALSE_AWAKENS
+
+
+
+
+self.false((
+ May.the.false.be.with.you;
+ TrUE&FaLsE|TrUe&FaLse|TrUe&FAlSe|TrUE&FalSE|TrUe&FAlSe|TrUe&FaLse|TrUe&FaLse|TrUe&FaLse|TrUe&FaLse|TrUE&FAlsE|TrUe&FAlSE|TrUe&FALse|
+ TrUE&FaLSE|TrUe&FAlSE|TrUe&FALse|TrUE&FalSe|TrUe&FALsE|TrUe&FALse|TrUE&FAlse|TrUe&FALsE|TrUe&FALse|TrUe&FALse|TrUE&FaLse|TrUE&FAlse|
+ TrUe&FAlSe|TrUe&FALse|TrUE&FaLsE|TrUE&FalSe|TrUE&False|TrUE&FalSe|TrUe&FALSe|TrUe&FALSe|TrUe&FALSe|TrUe&FALSe|TrUE&FalSe|TrUE&FaLsE|
+ TrUe&FAlSe|TrUe&FALse|false
+))