Save 37% off PRO during our Black Friday Sale! »

Ruby_through_Reserved_Words.pdf

 Ruby_through_Reserved_Words.pdf

0ec4920185b657a03edf01fff96b4e9b?s=128

Yukihiro Matsumoto

July 02, 2019
Tweet

Transcript

  1. Powered by Rabbit 2.2.1 Ruby through Reserved Words Heroku Ruby

    Association Yukihiro "Matz" Matsumoto まつもとゆきひろ @yukihiro_matz
  2. Powered by Rabbit 2.2.1   Ruby has 41 reserved words

  3. Powered by Rabbit 2.2.1   Each reflects (early) design decisions

  4. Powered by Rabbit 2.2.1   The story behinds the words

  5. Powered by Rabbit 2.2.1   begin/end

  6. Powered by Rabbit 2.2.1   Comb Style Indentation

  7. Powered by Rabbit 2.2.1   Inherited from Eiffel

  8. Powered by Rabbit 2.2.1   along with rescue, ensure, retry

  9. Powered by Rabbit 2.2.1   break/next/redo

  10. Powered by Rabbit 2.2.1   not continue

  11. Powered by Rabbit 2.2.1   From Perl (shorter)

  12. Powered by Rabbit 2.2.1   class/def

  13. Powered by Rabbit 2.2.1   From Python

  14. Powered by Rabbit 2.2.1   module

  15. Powered by Rabbit 2.2.1   Lisp (Flavors)

  16. Powered by Rabbit 2.2.1   Mix-in

  17. Powered by Rabbit 2.2.1   if/else/elsif

  18. Powered by Rabbit 2.2.1   elsif

  19. Powered by Rabbit 2.2.1   elseif, elif, elsif

  20. Powered by Rabbit 2.2.1   The shortest pronounceable

  21. Powered by Rabbit 2.2.1   then

  22. Powered by Rabbit 2.2.1   The stop words

  23. Powered by Rabbit 2.2.1   then and class methods

  24. Powered by Rabbit 2.2.1   unless

  25. Powered by Rabbit 2.2.1   From Perl

  26. Powered by Rabbit 2.2.1   No elsif or elsunless

  27. Powered by Rabbit 2.2.1   while

  28. Powered by Rabbit 2.2.1   Simple loop

  29. Powered by Rabbit 2.2.1   for/in

  30. Powered by Rabbit 2.2.1   From Python?

  31. Powered by Rabbit 2.2.1   until

  32. Powered by Rabbit 2.2.1   From Perl

  33. Powered by Rabbit 2.2.1   true/false/nil

  34. Powered by Rabbit 2.2.1   Truthy and Falsy

  35. Powered by Rabbit 2.2.1   Three value model

  36. Powered by Rabbit 2.2.1   Inspired by Lisp

  37. Powered by Rabbit 2.2.1   and/or/not

  38. Powered by Rabbit 2.2.1   From Perl

  39. Powered by Rabbit 2.2.1   Only for precedence

  40. Powered by Rabbit 2.2.1   do/yield

  41. Powered by Rabbit 2.2.1   The block

  42. Powered by Rabbit 2.2.1   From CLU (1970s, MIT)

  43. Powered by Rabbit 2.2.1   The biggest invention of Ruby

  44. Powered by Rabbit 2.2.1   rescue/ensure/retry

  45. Powered by Rabbit 2.2.1   Exception handling

  46. Powered by Rabbit 2.2.1   Inspired by Eiffel

  47. Powered by Rabbit 2.2.1   Icon (1970s, U of Arizona)

  48. Powered by Rabbit 2.2.1   Success/Failure model

  49. Powered by Rabbit 2.2.1   return

  50. Powered by Rabbit 2.2.1   From C

  51. Powered by Rabbit 2.2.1   Multiple values (Tuple)

  52. Powered by Rabbit 2.2.1   self/super

  53. Powered by Rabbit 2.2.1   Smalltalk

  54. Powered by Rabbit 2.2.1   alias/undef

  55. Powered by Rabbit 2.2.1   From Sather (1980s, UCB)

  56. Powered by Rabbit 2.2.1   BEGIN/END

  57. Powered by Rabbit 2.2.1   From Awk

  58. Powered by Rabbit 2.2.1   Not recommendation anymore

  59. Powered by Rabbit 2.2.1   __FILE__/__LINE__

  60. Powered by Rabbit 2.2.1   From C (cpp)

  61. Powered by Rabbit 2.2.1   __ENCODING__

  62. Powered by Rabbit 2.2.1   From Ruby1.9 (encoding)

  63. Powered by Rabbit 2.2.1   UCS vs CSI

  64. Powered by Rabbit 2.2.1   Unicode

  65. Powered by Rabbit 2.2.1   BDFL

  66. Powered by Rabbit 2.2.1   Benevolent Dictator For Life

  67. Powered by Rabbit 2.2.1   How to make decisions

  68. Powered by Rabbit 2.2.1   Scope Background Motivation

  69. Powered by Rabbit 2.2.1   Committee

  70. Powered by Rabbit 2.2.1   Voting

  71. Powered by Rabbit 2.2.1   A ship would climb a

    mountain with many captains
  72. Powered by Rabbit 2.2.1   too many cooks spoil the

    broth