Skip to content

Instantly share code, notes, and snippets.

@baweaver
Created July 11, 2015 05:44
Show Gist options
  • Save baweaver/ecc68d8588f906b4df54 to your computer and use it in GitHub Desktop.
Save baweaver/ecc68d8588f906b4df54 to your computer and use it in GitHub Desktop.
Ox0dea's idea of getting the current time
$_=$$/$$;@_=->_{_==''?_:[*?`..?{]['. !#% & , :;<= >@_ `'=~/#{_[$.]}/]+@_[_[$_..-$_]]};_=->&_{_}[&:"#{@_['@%<#']}"];_[_[_[_['',@_['!: @@']],@_[' <!%@_=>@']][-$_-$_],@_['!=<@_']+?_+@_['&%_'],(''<<(_=$_+$_)**_**(_+$_)/(_+$_)-$_)+@_[',;%']],@_['<%`']]
$_ = $$ / $$ # PID / PID, or 1
# Translating a string of gibberish into alphabetical strings
@_ = -> _ {
_ == '' ? # If _ is blank string, return _
_ :
[
*?`..?{ # Letters a to z with ` and { on either end
][
'. !#% & , :;<= >@_ `' =~ /#{_[$.]}/ #Match against the first character, getting the index
] +
@_[_[$_..-$_]] # Recall function with the tail, index 1 to -1
}
# This looks like underscore is being aliased to a proc of send
_ = -> &_ {
_
}[&:"#{@_['@%<#']}"] # symbol to proc of ["s", "e", "n", "d"] or send
_[ # send Proc
_[ # send Proc
_[ # send Proc
_[ # send Proc
'', @_['!: @@'] # class, so main.send('', class) or class of String
],
@_[' <!%@_=>@'] # ancestors, so String#ancestors
][-$_-$_], # index -2, or Kernel, so Kernel#send
@_['!=<@_'] + # 'const' +
?_ + # '_'
@_['&%_'], ( # 'get'
'' <<
(_ = $_ + $_) ** # 2 ^
_ ** # 2 (4) ^
(_ + $_) / # 3 /
(_ + $_) - # 3 -
$_ # 1
# 2 ** 2 ** 3 / 3 - 1 == 84 == ASCII T
) +
@_[',;%'] # 'ime', so 'Time'
], @_['<%`'] # new
] # So all this to say Kernel#send('Time', 'new')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment