Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ruby Trivia

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Erik Berlin Erik Berlin
October 01, 2015

Ruby Trivia

Presented at the Berlin Ruby User Group (RUG::B) on October 1, 2015.

Avatar for Erik Berlin

Erik Berlin

October 01, 2015
Tweet

More Decks by Erik Berlin

Other Decks in Programming

Transcript

  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? Question 1:
  2. 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:
  3. 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).
  4. Ruby may define a special File object in the first

    file it interprets. What is it called? What does it do? Question 2:
  5. 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__
  6. What happens if you call: DATA.rewind before DATA.read Bonus Question:

    Answer: It reads the entire file, including the source code.
  7. 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:
  8. 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:
  9. What method would need to be added to the Range

    interface to make descending sequences possible? Bonus Question:
  10. What method would need to be added to the Range

    interface to make descending sequences possible? Bonus Question: Answer: pred (the opposite of succ).
  11. What Ruby class mixes-in Comparable but doesn’t define the spaceship

    (<=>) operator? Hint: It’s a descendant of Numeric. Question 5: