Last active
July 26, 2016 18:31
-
-
Save qrohlf/7045823 to your computer and use it in GitHub Desktop.
Ruby Hello World
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
= 1 | |
= + | |
= * + | |
= * | |
= | |
[ *( + )+ , | |
= * + , | |
= * + - , | |
, | |
= + , | |
* + + , | |
* - * + + , | |
, | |
+ + , | |
, | |
* , + + , | |
] | |
puts .map(&:chr).join |
Nice! Here's a readability trick:
ruby -p -e '$_.gsub!(/ +/," ").gsub!(/\u00a0+/){|m| "v#{m.size}"}' < helloworld
prints
v1 = 1
v2 = v1+v1
v3 = v2*v2+v1
v4 = v3*v2
v5 =
[v4 *(v3+v2)+v2,
v7 = v4*v4+v1,
v8 = v4*v4+v4-v2,
v8,
v7 = v7+v4,
v4*v2+v4+v2,
v4*v4-v2*v4+v3+v2,
v7,
v7+v1+v2,
v8,
v4*v4, v4+v1+v2,
v4]
puts v5.map(&:chr).join
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
It would be interesting to know if there are particular versions of Ruby that don't treat special whitespace unicode points as valid identifier characters. I think a Ruby feature-request to make future versions of Ruby treat all unicode whitespace as real whitespace (i.e. assume it indicates a separation between two tokens but otherwise ignore it) would probably be helpful.