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
710
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
2
540
Ruby Trivia 3
sferik
0
680
The Value of Being Lazy
sferik
3
740
Ruby Trivia
sferik
2
1.3k
💀 Symbols
sferik
5
1.8k
Content Negotiation for REST APIs
sferik
8
960
Writing Fast Ruby
sferik
628
61k
Mutation Testing with Mutant
sferik
5
1.1k
Other Decks in Programming
See All in Programming
PHPer's Guide to Daemon Crafting Taming and Summoning
uzulla
2
970
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
140
NestJSのコードからOpenAPIを自動生成する際の最適解を探す
astatsuya
0
180
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.1k
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
130
ローコードサービスの進化のためのモノレポ移行
taro28
1
330
私の愛したLaravel 〜レールを超えたその先へ〜
kentaroutakeda
12
3.4k
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
190
‘무차별 LGTM~👍’만 외치던 우리가 ‘고봉밥 코드 리뷰’를?
hannah0731
0
530
爆速スッキリ! Rspack 移行の成果と道のり - Muddy Web #11
dora1998
1
140
RailsでCQRS/ESをやってみたきづき
suzukimar
2
1.5k
Windows版PHPのビルド手順とPHP 8.4における変更点
matsuo_atsushi
0
360
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Documentation Writing (for coders)
carmenintech
69
4.7k
A Tale of Four Properties
chriscoyier
158
23k
Why Our Code Smells
bkeepers
PRO
336
57k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
11
610
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
51
2.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Visualization
eitanlees
146
15k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
28
1.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
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.