This file contains 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
def a(p) | |
p.call() | |
raise "The world is safe" | |
end | |
def b | |
x = Proc.new { return Proc.new { return false } } | |
a(x).call | |
raise 'Maybe here, we might save the world. Let us do that.' | |
end |
This file contains 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
# My answer at the time was to do something like this | |
[[nil]*3]*4 | |
#=> [[nil, nil, nil], [nil, nil, nil], [nil, nil, nil], [nil, nil, nil]] | |
# The next question was whether I knew some initializer to do that for us. | |
# Apparently, there is: | |
Array.new(4) { Array.new(3) } | |
#=> [[nil, nil, nil], [nil, nil, nil], [nil, nil, nil], [nil, nil, nil]] | |
# But that wasn't the brainwave my brain came up with just now. |
This file contains 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
### | |
Randomize array element order in-place. | |
Using Fisher-Yates shuffle algorithm. | |
### | |
Array.prototype.shuffle = -> | |
for i in [(@length - 1) .. 0] | |
j = Math.floor(Math.random() * (i + 1)) | |
[@[i], @[j]] = [@[j], @[i]] | |
@ |
This file contains 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
def foo | |
raise "I iz a fool" | |
"But you don't know, man" | |
rescue Exception => e | |
"I caught your foolness" | |
ensure | |
"and I returned you a fish" | |
end |
OlderNewer