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
790
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
610
Ruby Trivia 3
sferik
0
730
The Value of Being Lazy
sferik
3
840
Ruby Trivia
sferik
2
1.3k
💀 Symbols
sferik
5
1.9k
Content Negotiation for REST APIs
sferik
8
1k
Writing Fast Ruby
sferik
630
62k
Mutation Testing with Mutant
sferik
5
1.1k
Other Decks in Programming
See All in Programming
CSC307 Lecture 04
javiergs
PRO
0
620
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
610
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
1k
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
Patterns of Patterns
denyspoltorak
0
420
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2.1k
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
930
dchart: charts from deck markup
ajstarks
3
940
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
6
1.8k
.NET Conf 2025 の興味のあるセッ ションを復習した / dotnet conf 2025 quick recap for backend engineer
tomohisa
0
110
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
6
1.9k
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
220
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
0
1.9M
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
130
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
180
Mind Mapping
helmedeiros
PRO
0
46
Mobile First: as difficult as doing things right
swwweet
225
10k
Docker and Python
trallard
47
3.7k
Done Done
chrislema
186
16k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Chasing Engaging Ingredients in Design
codingconduct
0
95
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
1
220
Why Our Code Smells
bkeepers
PRO
340
58k
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.