Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Lambdas and Pops - Jan Hettich
Search
Las Vegas Ruby Group
June 18, 2014
0
38
Lambdas and Pops - Jan Hettich
Las Vegas Ruby Group
June 18, 2014
Tweet
Share
More Decks by Las Vegas Ruby Group
See All by Las Vegas Ruby Group
Ruby ISO Standard - David Grayson
lvrug
0
92
Windows Automation - Howard Feldman
lvrug
0
37
Separating Your Application from Rails - Brian Hughes
lvrug
0
70
SWIG and Ruby - David Grayson
lvrug
0
39
Practical Object-Oriented Design in Ruby - Charles Jackson
lvrug
3
96
The Hamster Gem - Ryan Mulligan
lvrug
1
70
Varnish+Redis - Russ Smith
lvrug
1
73
Making Good Use of Fonts - Russ Smith
lvrug
1
53
Writing Files - Ryan Mulligan
lvrug
0
31
Featured
See All Featured
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
2k
Embracing the Ebb and Flow
colly
79
4.1k
Building Your Own Lightsaber
phodgson
98
5.7k
The Language of Interfaces
destraynor
151
23k
Building an army of robots
kneath
300
41k
Infographics Made Easy
chrislema
237
18k
Bootstrapping a Software Product
garrettdimon
PRO
301
110k
Fireside Chat
paigeccino
20
2.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
242
12k
Transcript
λ's and POP's Jan Hettich LVRUG 5/21/2014
Two kinds of Proc “plain old proc” lambda closure? yes
yes class Proc Proc .lambda? false true semantics yield invocation similar to block method
Creation • “Plain old procs” • Kernel.proc {|args| code} •
Proc.new {|args| code} • Lambdas • Kernel.lambda {|args| code} • literal: ->(args) {code} • Method.to_proc
call syntax • direct call – foo.call(args) – foo[args] –
foo.(args) • block-style call – iterator args, &foo
call semantics • yield semantics (blocks, pops) • similar to
parallel assignment • return => lexically enclosing method • invocation semantics (methods, lambdas) • number of arguments must match • “diminutive return”
Let's look at some code • A Digression on Method
• Argument Passing • return statement • Using next • New behavior in Ruby 2.1.0