Download pdf - Ruby monsters

Transcript
Page 1: Ruby monsters
Page 2: Ruby monsters

I’m Jonanalso @1337807

Page 3: Ruby monsters

I’m from Portland

Page 4: Ruby monsters

They call me

Webmaster

Page 5: Ruby monsters

Also New Relic

Page 6: Ruby monsters

One of us

bit.ly/nerdlife

Page 7: Ruby monsters

Ruby Monsters!

Page 8: Ruby monsters

Oddities

Page 9: Ruby monsters

Ruby is adorable

Page 10: Ruby monsters
Page 11: Ruby monsters

begin; endA neutral, hypoallergenic code wrapper made of opinions.

Page 12: Ruby monsters
Page 13: Ruby monsters
Page 14: Ruby monsters
Page 15: Ruby monsters
Page 16: Ruby monsters
Page 17: Ruby monsters
Page 18: Ruby monsters
Page 19: Ruby monsters
Page 20: Ruby monsters
Page 21: Ruby monsters
Page 22: Ruby monsters
Page 23: Ruby monsters
Page 24: Ruby monsters
Page 25: Ruby monsters

do while

Page 26: Ruby monsters
Page 27: Ruby monsters
Page 28: Ruby monsters
Page 29: Ruby monsters
Page 30: Ruby monsters

ensureWhen you absolutely, probably, maybe need it done approximately right.

Page 31: Ruby monsters
Page 32: Ruby monsters
Page 33: Ruby monsters
Page 34: Ruby monsters
Page 35: Ruby monsters
Page 36: Ruby monsters

Thread#raise

Page 37: Ruby monsters

“I don’t use Thread#raise.”

Page 38: Ruby monsters
Page 39: Ruby monsters
Page 40: Ruby monsters

Net/HTTP

Page 41: Ruby monsters

flip-flopWhen only the occasional truth will do.

Page 42: Ruby monsters
Page 43: Ruby monsters
Page 44: Ruby monsters
Page 45: Ruby monsters
Page 46: Ruby monsters
Page 47: Ruby monsters
Page 48: Ruby monsters
Page 49: Ruby monsters
Page 50: Ruby monsters

(expr1)..(expr2)inclusive, evaluates both expressions on each pass

(expr1)…(expr2)exclusive, evaluates one expression per iteration

Page 51: Ruby monsters

scopeLike voting districts for your code, with more gerrymandering.

Page 52: Ruby monsters
Page 53: Ruby monsters
Page 54: Ruby monsters
Page 55: Ruby monsters
Page 56: Ruby monsters
Page 57: Ruby monsters
Page 58: Ruby monsters
Page 59: Ruby monsters
Page 60: Ruby monsters

closuresThey’re exactly like that one thing from that one language except sometimes when they’re not.

Page 61: Ruby monsters
Page 62: Ruby monsters

portable code podsbits of code that travel a lot, but never forget their roots.

Page 63: Ruby monsters
Page 64: Ruby monsters

blocks

Page 65: Ruby monsters
Page 66: Ruby monsters

Integer#times

Page 67: Ruby monsters
Page 68: Ruby monsters
Page 69: Ruby monsters
Page 70: Ruby monsters
Page 71: Ruby monsters
Page 72: Ruby monsters
Page 73: Ruby monsters

procs

Page 74: Ruby monsters
Page 75: Ruby monsters
Page 76: Ruby monsters
Page 77: Ruby monsters
Page 78: Ruby monsters
Page 79: Ruby monsters

lambdas

Page 80: Ruby monsters
Page 81: Ruby monsters
Page 82: Ruby monsters
Page 83: Ruby monsters
Page 84: Ruby monsters
Page 85: Ruby monsters
Page 86: Ruby monsters
Page 87: Ruby monsters
Page 88: Ruby monsters

blocks and procs- arbitrary arguments!- return home

lambdas- strict arguments!- local return

Page 89: Ruby monsters
Page 90: Ruby monsters
Page 91: Ruby monsters
Page 92: Ruby monsters
Page 93: Ruby monsters
Page 94: Ruby monsters
Page 95: Ruby monsters
Page 96: Ruby monsters
Page 97: Ruby monsters
Page 98: Ruby monsters
Page 99: Ruby monsters

goto!

Page 100: Ruby monsters
Page 101: Ruby monsters
Page 102: Ruby monsters
Page 103: Ruby monsters

I’m Jonanalso @1337807

Page 104: Ruby monsters

I’m from Portland

Page 105: Ruby monsters

They call me

Webmaster

Page 106: Ruby monsters

I work for New Relic

Page 107: Ruby monsters

One of us

bit.ly/nerdlife

Page 108: Ruby monsters

Ruby Monsters!

Page 109: Ruby monsters

!

the end :)