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
Ruby Trivia 2
Search
Erik Berlin
November 05, 2015
Programming
0
620
Ruby Trivia 2
Presented at the Berlin Ruby User Group (RUG::B) on November 5, 2015.
Erik Berlin
November 05, 2015
Tweet
Share
More Decks by Erik Berlin
See All by Erik Berlin
Enumerator::Lazy
sferik
1
390
Ruby Trivia 3
sferik
0
560
The Value of Being Lazy
sferik
3
590
Ruby Trivia
sferik
2
1.1k
💀 Symbols
sferik
5
1.6k
Content Negotiation for REST APIs
sferik
8
830
Writing Fast Ruby
sferik
622
60k
Mutation Testing with Mutant
sferik
5
1k
Other Decks in Programming
See All in Programming
Next.js App Router
quramy
13
2.3k
TypeScriptの型とパフォーマンス (TSKaigi 2024)
ypresto
13
3.8k
CQRS meets modern Java
simas
PRO
2
450
Exploring Type-Informed Lint Rules in Rust based TypeScript Linters
unvalley
3
570
Introducing Kotlin Multiplatform in an existing mobile app - Workshop Edition | AndroidMakers Paris
prof18
0
170
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
4
600
Criando a Woovi em uma semana
daniloab
0
120
PHPはいつから死んでいるかの調査
chiroruxx
2
440
TypeScriptのパフォーマンス改善
yajihum
11
4.6k
株式会社ゼネテック
genetec
0
110
Apache Hive 4 on Treasure Data
ryukobayashi
1
470
Jetpack Composeとデザインシステム
rmakiyama
0
190
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
23
1.7k
YesSQL, Process and Tooling at Scale
rocio
165
13k
Building Your Own Lightsaber
phodgson
100
5.7k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Teambox: Starting and Learning
jrom
128
8.4k
The Invisible Customer
myddelton
114
12k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
Embracing the Ebb and Flow
colly
80
4.2k
Thoughts on Productivity
jonyablonski
60
3.9k
Documentation Writing (for coders)
carmenintech
60
4k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Building an army of robots
kneath
300
41k
Transcript
Ruby Trivia 2
What is the return value of Ruby’s method visibility keywords?
private, public, protected Question 1:
self Answer 1: Ruby’s method visibility keywords can be used
as r-values.
Given a button method that takes an argument and a
block, which of these are valid Ruby? button "string" { |n| n } button "string" do |n| n end button ["string"] { |n| n } button ["string"] do |n| n end Question 2:
All except: button("string") { |n| n } Answer 2:
How could this line be fixed? button("string") { |n| n
} Bonus Question:
How could this line be fixed? button("string") { |n| n
} Bonus Question: Answer: Add parentheses around the argument.
What is the result of this line: a Hash with
a String key, a Hash with a Symbol key, or a SyntaxError? {"key": "What happens?"} Question 3:
a Hash with a Symbol key* Answer 3: *In Ruby
2.2 and later. In earlier versions, it raises a SyntaxError.
What is the value of each argument? def foo(*w, a:
7, **t) puts "w: #{w}, a: #{a}, t: #{t}" end foo({a: 1, b: 2, "c" => 3, d: 4}) Question 4:
w: [{"c" => 3}] a: 1 t: {:b => 2,
:d => 4} Answer 4:
What happens if you add a positional argument to the
end? def foo(*w, a: 7, **t) puts "w: #{w}, a: #{a}, t: #{t}" end foo({a: 1, b: 2, "c" => 3, d: 4}, 5) Bonus Question:
What happens if you add a positional argument to the
end? w: [{:a=>1, :b=>2, "c"=>3, :d=>4}, 5] a: 7 t: {} Bonus Question:
When you inspect Object.new, Ruby outputs something like: #<Object: 0x00c1a551f1ab1e>
What are the properties and significance of this hex number? Question 5:
1. It’s the object’s address in memory. 2. It’s always
even. 3. It’s double the object’s object_id. Answer 5:
Answer 5:
Thanks for playing! Follow @sferik on Twitter for more Ruby
trivia and practica.