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
Search
Erik Berlin
October 01, 2015
Programming
2
1.2k
Ruby Trivia
Presented at the Berlin Ruby User Group (RUG::B) on October 1, 2015.
Erik Berlin
October 01, 2015
Tweet
Share
More Decks by Erik Berlin
See All by Erik Berlin
Enumerator::Lazy
sferik
1
440
Ruby Trivia 3
sferik
0
590
The Value of Being Lazy
sferik
3
640
Ruby Trivia 2
sferik
0
650
💀 Symbols
sferik
5
1.7k
Content Negotiation for REST APIs
sferik
8
870
Writing Fast Ruby
sferik
623
60k
Mutation Testing with Mutant
sferik
5
1k
Other Decks in Programming
See All in Programming
Play Billing Library 7.0.0 変更点まとめ@potatotips#88
kako351
0
160
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
81k
「2024年版 Kotlin サーバーサイドプログラミング実践開発」の補講 〜O/Rマッパー編〜
n_takehata
2
260
企業向け生成AIアプリの 開発から得られた知見
takaakikakei
0
310
Rust.Nagoya #1
codemountains
0
170
Harnessing Large Language Models for Training-free Video Anomaly Detection
tereka114
1
1.3k
How to use Macrobenchmark
veronikapj
0
160
Terraformテスト入門
msato
0
530
さきがけから振り返るアーキテクチャ刷新 / Reflecting on the Architectural Renewal from the Vanguard
nrslib
2
770
Webエディタライブラリ 「CodeMirror」から学ぶ Webアプリ開発のテクニック
ryosukeigarashi
0
250
わかりやすい正解を捨てて、コトに向き合う - スクラムフェス金沢2024 スポンサーセッション
yusukekokubo
0
170
Introduction to GitOps
hwchiu
0
110
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
71
8.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
Producing Creativity
orderedlist
PRO
340
39k
A Tale of Four Properties
chriscoyier
155
22k
The Mythical Team-Month
searls
217
43k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
34
1.9k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
Building Your Own Lightsaber
phodgson
101
5.9k
Clear Off the Table
cherdarchuk
89
320k
Building Applications with DynamoDB
mza
89
5.8k
Music & Morning Musume
bryan
43
5.9k
Transcript
Ruby Trivia
In Ruby, a dash may not be used in a
variable name… …but before Ruby 2.1, one variable was allowed to be named with a dash. What was it called? Question 1:
In Ruby, a dash may not be used in a
variable name… …but before Ruby 2.1, one variable was allowed to be named with a dash. What was it called? Hint: It’s a global variable. Question 1:
$- Answer 1:
Why can’t variable names contain dashes? Bonus Question:
Why can’t variable names contain dashes? Bonus Question: Answer: Because
the Ruby parser can’t distinguish it from the minus (-) operator between two variables (e.g. forty-two).
Ruby may define a special File object in the first
file it interprets. What is it called? What does it do? Question 2:
Ruby may define a special File object in the first
file it interprets. What is it called? Question 2: Hint: When you call read, it reads the file, starting after __END__
DATA Answer 2:
What happens if you call: DATA.rewind before DATA.read Bonus Question:
What happens if you call: DATA.rewind before DATA.read Bonus Question:
Answer: It reads the entire file, including the source code.
The following line of code is valid Ruby syntax: a
= true && return But this line of code is not: a = return && true What is the error message? Question 3:
void value expression Answer 3:
When you convert the range: (1..3).to_a You get the array:
[1, 2, 3] What is the result of: (3..1).to_a Question 4:
[] Answer 4:
What method would need to be added to the Range
interface to make descending sequences possible? Bonus Question:
What method would need to be added to the Range
interface to make descending sequences possible? Bonus Question: Answer: pred (the opposite of succ).
What Ruby class mixes-in Comparable but doesn’t define the spaceship
(<=>) operator? Question 5:
What Ruby class mixes-in Comparable but doesn’t define the spaceship
(<=>) operator? Hint: It’s a descendant of Numeric. Question 5:
Complex Answer 5:
Thanks for playing! Follow @sferik on Twitter for more Ruby
trivia and practica.