147

Humble Little Ruby Book

  • Upload
    shhuang

  • View
    38

  • Download
    2

Embed Size (px)

DESCRIPTION

Book on Ruby on Rails

Citation preview

Page 1: Humble Little Ruby Book
Page 2: Humble Little Ruby Book
Page 3: Humble Little Ruby Book

! " # $ % & ' ( ) * + " , - . /

)0!*,&$,'11,&

"0*-$*++2

Page 4: Humble Little Ruby Book
Page 5: Humble Little Ruby Book

! " # $ % & ' ( ) * + " , - . /

)0!*,&$,'11,&

"0*-$*++2

!"#"$%&'()*+,,%

Page 6: Humble Little Ruby Book

!""#$%&'(&'#)*++,#-(.(/0#1$!&2""03##!""#4567'#4(8(.9(:3

;72'#/(2&8#:%&<'#$%=0#5'3

Page 7: Humble Little Ruby Book

>%.#/0#?5@(A#@.5(&:8A#2&:#@2/5"0A

'72&B#0%C#@%.#'7(#8C==%.'#2&:#@%%:3

1%8'"0#'7(#@%%:3

Page 8: Humble Little Ruby Book
Page 9: Humble Little Ruby Book

TABLE OF CONTENTS

0 What'chu talkin' 'bout, Mister? 4What Is Ruby Anyhow? 4

Installing Ruby 6

Windows 6 · Mac OS X 6 · Linux 7

Let's try her out! 8

1 Welcome to Ruby 10Basic Concepts of Ruby 10

Types in Ruby 11

Strings 11 · Numbers 13

Collections 14

The Range 15 · The Array 16 · The Hash 20

Variables and the Like 23

2 Break it down now! 27Methods 27

Defining Methods 28 · Using Methods 30

Blocks and Proc Objects 31

Block Basics 31 · Procs and Blocks 33 · Building Blocks 35

Your objects lack class! 36

Defining Classes 37 · Methods and Variables 38 · Attributes 40 ·Access Control 41 ·

Class Scoped Objects 42

Modules 44

Creating Modules 44

Files 46

Page 10: Humble Little Ruby Book

!"!"#$%&'()*'+%,-'./,)$0,%1''''!"2,)*3$3,)(%#!!!"

#$%&'(&)*+*%,%-*&&!"&.&#$%&/+)%&0*+*%,%-*&&12

4,,5#!!13

45-6'*'5-+7&8559)&&&13&.&:*%;+*'-<&8559)&+-6&=75/>)&&&1!&.&0*+*%,%-*&?56'('%;)&&11&.&&45-*;577'-<&8559)&&1@

67/&5$3,)#!!1"

A+-67'-<&BC/%9*'5-)&&1"&.&D+')'-<&BC/%9*'5-)&&@2&.&?E&FG-&BC/%9*'5-&@H&.&#$;5G&+-6&4+*/$&&@H

#"89&':;#$&<'=&)&($9''''@!>3%&#;#$&<'?)$&0(/$3,)'!!@!

I;'*'-<&*5&+&('7%&&@@&.&?5;%&('7%&59%;+*'5-)&&@J

890&(*#'()*'>,0@#'()*'A0,/&##&#B'C9'D;E'!@"

DKLE&*$;%+6&L+)'/)&&&@"&.&45-*;577'-<&*$;%+6)&&&JM&.&N%**'-<&'-(5;,+*'5-&(;5,&*$;%+6)&J2&.&O;5/%))%)P&*$%&5*$%;&G+E&*5&65&)*K((&&JH

>,0'$9&'6)F30,)<&)$E'!J3

B-Q';5-,%-*&Q+;'+L7%)&+-6&*$%&7'>%&&J3&.&#$%&/5,,+-6&7'-%&+-6&E5K&&J3&. &DKLE&+-6&'*)&7'**7%&/5;-%;&5(&E5K;&/5,9K*%;&&J!

G3)HI'()*'=&;,)*'!J1

RO:&&J1&.&#$%&D%<')*;E&&JJ&.&F8B&RK*5,+*'5-&&JS

$'4,,@3)J'=&;,)*'!,<&''''"3K&$-,0@3)J'()*'$9&'G&L!!"3

05/>%*&O;5<;+,,'-<&&"3&.&A##O&T%*G5;>'-<&&"@&F*$%;&T%*G5;>&0%;Q'/%)&&SH&&.&&I%L&0%;Q'/%)&&S1

?$M#'43@&'N3#$03L"$&*',0':,<&$93)JOOO'"#

N($('<;'L(#&B'5%&(#&E'&S"

Page 11: Humble Little Ruby Book

%'?$M#'('43L0(0;E''''2M2:$03)J'D()35"%($3,)!!2M2

:-)*+-/%&?%*$56)&&2M2&.&D%<K7+;&BC9;%))'5-)&&2M!

N($&P83<&!!2M@

U+*%)&&2M@&.&#',%)&&2MJ&.&U+*%)&+-6&#',%)&&2MS

!(#93)J'()*'20;5$,J0(59;!!2MS

A+)$'-<&&2MS&&.&4;E9*5<;+9$E&&22M

Q)3$'$&#$3)J''222

&''()*+,"&'43)@#'()*'$9&'43@&''22@

&''()*+,"-'!3J9'A&0+,0<()/&'R"L;'-3$9'2P2SS''22"

Page 12: Humble Little Ruby Book
Page 13: Humble Little Ruby Book

)&-./"

!"#$%&#'())(*+",#-((./#!#*+))#-&#01+",!"#$%!&'(')#$(#$&1$#2))#$%&#30-4#5(6&7##825%#&92:;)&#52"#-&#5(;+&6#2"6#;21$&6#6+<&5$)4#+"$(#*+$=,-+*!

2"6#+$#1%(0)6#*(<.#'2:(01)47##!#%2>&#6("&#1(#*+$%#&25%#("&#$(#:2.&#10<&#$%&4#<0"7

825%#$+:&#!#2:#1%(*+",#(0$;0$#'<(:#*+$/#4(0#*+))#1&&#2#!#5%2<25$&<#'())(*&6#-4#$%&#(0$;0$7##?"4#:&$%(6#(<#>2<+2-)&#"2:&#(<#

5(6&=141$&:#<&)2$&6#$&9$#+1#$4;&1&$#+"#./*0!,12.#'(<#&214#6+15&<":&"$#'<(:#($%&<#$&9$7##

?"4#$+:&#!#%2>&#'(0"6#+$#"&5&112<4#$(#6+''&<&"$+2$&#2#5)211#(-@&5$#'<(:#2"#+"1$2"5&#(-@&5$/#!#%2>&#&<<&6#("#$%&#1+6&#('#1$2"62<6#

"($2$+("#2"6#*&"$#*+$%#$%&#'(<:#('#3450067$89:.#A&>&"#$%(0,%#+$B1#>&<4#0,)4#2"6#+1#"($#*%2$#$%&#<&1$#('#$%&#5+>+)+C&6#*(<)6#01&1D7

Page 14: Humble Little Ruby Book
Page 15: Humble Little Ruby Book

E!#,($$2#,(7##F%&<&B1#2#606&#"&9$#$(#:&#2"6#%&B1#*2$5%+",#:&#$4;&/#*%+5%#+1#1(<$#('#

1$2<$+",#$(#5<&&;#:&#(0$7##G&1#606&#"&9$#$(#:&/#!#:&2"#4(07E

D567'E7(&E620"(#FG2873%.6H

Page 16: Humble Little Ruby Book
Page 17: Humble Little Ruby Book

!

!"#$%&"'($#)*+,%(%-.'$/(0+1$234

! "#$%$!&'!(!)#(*"$%!+,! !-#$%$!&'!(!.&"".$!/&"!01!&2"%0345"0%6!'"411!7$!

2$$3!"0!"(.8!(/04"!/$10%$!7$!'$"!604!.00'$!02!94/6,!!:04!704.32;"!

7(2"!"0!<$"!*'65#$3!(/04"!(!2$7!<(3<$"=!<$"!&"!#0>$=!(23!"#$2!1&<4%$!04"!604!

2$$3!/(""$%&$'= !( !<%(*$1%4&"= !(23!"#$!(/&.&"6! "0 !'*$(8!"#%$$! .(2<4(<$'!"0!$?$2!

0*$2!"#$!/0@!704.3!604A!:04!704.3A! !B$..!"#$2!(2'7$%!>$!"#&'C!D07!704.3!

94/6!%$(5"!"0!.(%<$=!$.('"&5!>02'"$%'!"(8&2<!0?$%!(2!$'"4(%6A! !:04!302;"!8207!

"#$!(2'7$%EA! !B$..=!*.(&2.6!7$!2$$3!"0!"(8$!(!<003=!#(%3!.008!("!(!1$7!"#&2<'!

/$10%$!7$!"4%2!604!.00'$,

:$'

!567(89(:;<=(6>=5?!4

94/6!&'!(2!0*$2F'04%5$=!>4."&F*(%(3&<>=!&2"$%*%$"$3!*%0<%(>>&2<!.(2<4(<$!G(!

/&"!01!(!>04"#14.!H!8207E!!H;>!<0&2<!"0!$@*.(&2!&"=!H!*%0>&'$EI,!!94/6!7('!5%$("$3!

/6!:48&#&%0!JK("LJ!K("'4>0"0=!(!?$%6!1&2$!M(*(2$'$!<$2".$>(2!7#0!54%%$2".6!

%$'&3$'!&2!N#&>(2$!O%$1$5"4%$=!M(*(2P!K("L;'!70%8!02!"#$!.(2<4(<$!7('!'"(%"$3!

02!Q$/%4(%6!RS= !TUUV!G50>>02.6 !502'&3$%$3!"#$!/&%"#3(6!01 !"#$! .(2<4(<$P !H!

#$(%!"#("!0?$%!&2!M(*(2!"#$6!%0..!04"!(!"70F'"0%6!5(8$!(23!'&2<I!(23!%$.$('$3!"0!

"#$!*4/.&5!&2!TUUW,!!94/6!&'!01"$2!#(&.$3!('!02$!"#$!>0'"!$@*%$''&?$!(23!5025&'$!

.(2<4(<$'!(?(&.(/.$!"0!3$?$.0*$%'!"03(6,! !H2!"#("!'*&%&"!01!$@*%$''&?$2$''=!.$";'!

.008!("!$@(5".6!7#("!&"!(..!>$(2',! !X$"!4'!207!$?&'5$%("$!"#$'$!?$%/(.!14%/$.07'!

7&"#!502?&5"&02E

!"#$%&'()*#% %-#$!011&5&(. ! &>*.$>$2"("&02 !01 ! "#$ ! .(2<4(<$ ! &' ! 1%$$ ! '01"7(%$!

3&'"%&/4"$3!423$%!"#$!YOX!(23!"#$!94/6!0*$2!'04%5$!.&5$2'$,!!H1!604;%$!42(7(%$!

01!7#("!J0*$2!'04%5$J!>$(2'=!"#$2!.008!("!&"!"#&'!7(6C!K("L!*%0<%(>>$3!"#$!

Page 18: Humble Little Ruby Book

$2"&%$!94/6!&2"$%*%$"$%!(23!.&/%(%6=!"#$2!<(?$!(7(6!"#$!503$!#$!4'$3!"0!30!&",!!N&25$!"#$!

'04%5$!503$!&'!(?(&.(/.$=!*$0*.$!5(2!207!"(8$!&"!(23!&>*%0?$!&",!K(26!*$0*.$!"(8$!"#$!

503$= ! &>*%0?$ ! &"= ! (23 !K("L ! G(23 ! #&' ! 5%(58 ! "$(> ! 01 !>(&2"(&2$%'I ! &2"$<%("$ ! "#$&%!

5#(2<$'!/(58!&2"0!"#$!>(&2!'04%5$!503$,!!-#$!/$2$1&"!01!0*$2!'04%5$!&'!5#&$1.6!"#("!604!

<$"!(!.0"!>0%$!>&23'!70%8&2<!02!(!*%0Z$5"!"#(2!(!*%0*%&$"(%6!*%0Z$5"!G(23!"6*&5(..6!10%!

1%$$!"0!/00"EI,

+(,-./01)12.34 %%X&8$!"0!7%&"$!503$!&2!( ! 1425"&02(.!'"6.$ !( ! .( !D('8$.. !0% !N5#$>$A!

-#(";'!500.P!94/6!30$'!"#(",!!9$(..6!3&<!0/Z$5"!0%&$2"("&02!.&8$!M(?(!0%!N>(.."(.8A!![0!

*%0/.$>P!94/6!#(23.$'!"#("=!"00,! !O%$1$%!"0!4'$!(!*%05$34%(.!G(,8,(,!&>*$%("&?$I!'"6.$!

.&8$!Q0%"#!0%!\3(A! !94/6!5(2!J<$"!&"'!*%05$34%$!02J!('!<003!('!(26!0"#$%!.(2<4(<$E!

]02;"!8207!7#("!(26!01!"#0'$!>$(2!/4"!Z4'"!%$(..6!7(2"!"0!*%0<%(>A!!^@5$..$2"E!!94/6!

&'!(!>4."&F*(%(3&<>!.(2<4(<$!/$5(4'$!&"!30$'2;"!502'"%(&2!"0!(!'&2<.$!*%0<%(>>&2<!

>&23'$"P !604!5(2!4'$!(26!01! "#$!(10%$>$2"&02$3!*%0<%(>>&2<!*(%(3&<>'!7&"#!20!

*%0/.$>'!&2!94/6,!!:04!5(2!*&58!"#$!02$!604!*%$1$%!G0%!"#$!$('&$'"!10%!604!"0!.$(%2I!(23!

<0!7&"#!&"C! !94/6!30$'2;"!>&23,! !_2.&8$!'0>$!0"#$%!.(2<4(<$'=!&"!30$'2;"!<$"!Z$(.04'!

(23!<&?$!604!J$%%0%'J!&1 !604!/%$(8!&" !011 !7&"#!0/Z$5"' !(23!3$5&3$!"0!<0!'"$(36!7&"#!

5.0'4%$'!&2'"$(3,

5$-#)")#-#2 %% H1 !604;?$ !4'$3 ! '0>$"#&2< ! .&8$ !\''$>/.6= !O('5(.= !Q0%"%(2= !0% !)`)aa=!

604;?$!4'$3!(!50>*&.$3!.(2<4(<$,!!J)0>*&.$3J!>$(2'!"#("!604;?$!#(3!"0!%42!604%!503$!

"#%04<#!(!.&"".$!50>*&.$%!(23!&"!'*&"'!04"!'0>$!'0%"!01!2("&?$!503$!"#("!7&..!%42!7&"#04"!

(26!'0%"!01!&2"$%*%$"("&02!/6!"#$!50>*4"$%!0"#$%!"#(2!/6!"#$!0*$%("&2<!'6'"$>!&"'$.1,!

-#&' ! 5(2 ! /$50>$ ! "&>$ ! 502'4>&2< ! (' ! 604% ! *%0Z$5" ! <%07' ! .(%<$% ! (23 ! .(%<$%= ! (23!

'0>$"&>$'!5(2!$?$2!/$!(!'$?$%$!#&23%(25$!"0!*%0345"&?&"6,! !b#=!/4"!"#$%$!&'!(20"#$%!

7(6E! !94/6!&'!(2!&2"$%*%$"$3!.(2<4(<$=!7#&5#!>$(2'!"#("!"#$%$!&'!(2!&2"$%*%$"$%!"#("!

%$(3'!604% !503$!(23! "#$2!$>&"' !2("&?$ !503$! "0 ! "#$ !0*$%("&2<!'6'"$>, ! !K(6/$! "#&'!

3&(<%(>!7&..!>(8$!>0%$!'$2'$,,,

-#$%$!&'!(!/&"!>0%$!"0!&"!"#(2!"#("!G$,<,!604!#(?$!"0!50(@!M$11!04"!01!#&'!/0@I=!/4"!"#(";' !

"#$!<$2$%(.!5025$*",! !)03$!<0$'!&2=!94/6!*.(6'!(%0423!7&"#!&"=!*%0<%(>!50>$'!04",!

B#$2!%422&2<!94/6!503$=!604!#(?$!(!1$7!0*"&02',! !-#$!1&%'"!0*"&02!604!#(?$!&'! ! !"0!

5%$("$!(!1&.$!7&"#!604%!'04%5$!503$!&2!&"=!(23!"#$2!"$..!94/6!"0!$@$54"$!"#("!1&.$!/6!<&?&2<!

&"!('!(!50>>(23!.&2$!0*"&02!"0!"#$!!"#$!50>>(23,! !:04%!2$@"!0*"&02!&'!"#("!604!5(2!

4'$!604%!$3&"0%;' !94/6!%422$%!G&1 ! &" !#(' !02$I!/6 !4'&2<!"#$&% !'#0%"54"P ! 10%!$@(>*.$=!

N5&-^!#('!"#&'!1$("4%$!"#("!604!5(2!4'$!/6!*%$''&2<!QW,! !-#$!.('"!0*"&02!&'!"0!4'$!(2!

&2"$%(5"&?$!'#$..!.&8$!%!#!0%!&'!%P!"#$'$!'#$..'!<&?$!604!(!J94/6!*%0>*"J!("!7#&5#!604!

5(2! "6*$ ! &2 ! .&2$' !01 !94/6!503$ !(23!#(?$ ! "#$>! &>>$3&("$.6 !$@$54"$3, ! ! H !4'$3 !%!#(

!!!!!"#$%&"'($#)*+,%(%-.'$/(0+1$234

!"#$%&'()'*+',-&%-"&.',/'0,.'1$23'04+56&7'8%,#%497:

Page 19: Humble Little Ruby Book

$@"$2'&?$.6!&2!7%&"&2<!"#&'!/008!/$5(4'$!&"!(..07'!'*$$3&$%!1$$3/(58!"#(2!%422&2<!1%0>!

(!1&.$, ! !-#$'$!*%0>*"'!(%$!*0''&/.$!/$5(4'$!94/6!&'!(!362(>&5!.(2<4(<$!%(2!&2!(2!

&2"$%*%$"$%,!!

-#$!&2"$%*%$"$3!2("4%$!01!94/6!(..07'!&"!"0!#(?$!>(26!01!"#$!1$("4%$'!"#("!

>(8$!&"!'0!<%$(",! !)0>*&.$3!*%0<%(>'!(%$!20"!2$(%.6!('!362(>&5!('!&2"$%*%$"$3!02$'!

/$5(4'$!"#$6!302;"!G4'4(..6I!(..07!10%!%42"&>$!5#(2<$!"0!503$!0%!"#$!(**.&5("&02!&"'$.1,!

c$5(4'$!&2"$%*%$"$3!*%0<%(>'!(%$!'&>*.6=!7$..=!&2"$%*%$"$3!1%0>!"#$&%!0%&<&2(.!'04%5$!

G0% ! ( ! '.&<#".6 ! 50>*&.$3 ! /6"$503$I= ! "#$6 ! 5(2 ! (..07 ! 10% !>0%$ ! 1(%F%$(5#&2< ! %42"&>$!

&2"$%(5"&02, ! !B$;.. ! 3&'54'' ! (.. ! 01 ! "#&' ! ( ! .0" ! >0%$ ! .("$% ! (' ! "#$'$ ! 1$("4%$' ! %$?$(.!

"#$>'$.?$'P !207!7$!2$$3!"0!>(8$!'4%$!604!(5"4(..6!#(?$!94/6, ! !b"#$%7&'$= !"#$'$!

1$("4%$'!7&..!/$!.&8$!5#('&2<!"#$!7&23!7#$2!&";'!%422&2<!1('"$%!"#(2!604C!>$(2&2<.$''E

8>976@@8>A(:;<=

N0>$"&>$'!&2'"(..&2<!(!*%0<%(>>&2<!$2?&%02>$2"!5(2!/$!(!*(&2P!&1!604;?$!$?$%!"%&$3!"0!

&2'"(..!(!Y[_!50>*&.$%!02!B&2307'!604!8207!7#("!H!>$(2,! !Q0%"42("$.6=!94/6!&'!

%$.("&?$.6!$('6!"0!&2'"(..!02!>0'"!*.("10%>',

!+,B.C1

H2'"(..&2< ! 02 ! B&2307' !&' ! ( ! '2(*P ! '&>*.6 ! 2(?&<("$ ! 0?$% ! "0 ! "#$ ! 7$/ ! '&"$ ! ("!

#""*C``777,%4/6F.(2<,0%<! (23 ! 5.&58 ! 02 ! "#$ ! J94/6J ! .&28 ! 423$% ! "#$ ! J]072.0(3J!

'&3$/(%,!!-#$2!5.&58!02!"#$!JH2'"(..!94/6!423$%!B&2307'J!.&28,!!-#("!*(<$!#('!(!.&28!"0!

"#$ ! &2'"(..$% ! "#(" !604 !2$$3 !(.02< !7&"# ! &2'"%45"&02' !02 !#07!"0 ! &2'"(.. ! &" ! G/('&5(..6=!

3072.0(3=!%42=!(23!604;%$!302$I,

-0!$3&"!94/6!1&.$'=!604!'&>*.6!2$$3!(!"$@"!

$3&"0%,! !-#&'!504.3!/$!'0>$"#&2<!('!'&>*.$!

('![0"$*(3!0%!('!1(256!('!_."%(^3&",!!94/6!

50>$' ! 7&"# ! ( ! 1&2$ ! $3&"0% ! 2(>$3 ! N5&-^!

7#&5# !7&.. ! *%0*$%.6 ! #&<#.&<#"= ! 0*$2= ! (23!

'(?$!94/6!1&.$'!10%!604P!&"!(.'0!#('!"#$!2&5$!

1$("4%$!01!%422&2<!604%!*%0<%(>'!10% !604!

'0 ! 604 ! 302;" ! #(?$ ! "0 ! *08$ ! (%0423 ! "#$!

50>>(23!.&2$!"0!<$"!"#$>!<0&2<,!!-#$%$!(%$!

0"#$% ! 94/6 ! '*$5&1&5 ! 3$?$.0*>$2"!

$2?&%02>$2"' ! G$,<, ! Q%$$9H]^= ! \%(5#20=!

K023%&(2= ! $"5,I= ! /4" ! "#$'$ ! $2?&%02>$2"'!

(%$!20"!2$5$''(%6!"0!30!3$?$.0*>$2"!G&,$,!H!

302;"!4'$!"#$>I,

H1 !604!3$5&3$!"0!'&>*.6!4'$![0"$*(3!0%!

'0>$"#&2<!"#("!30$'2;"!#(?$!(!1$("4%$!"#("!(..07'!604!"0!%42!604%!(**.&5("&02!1%0>!

!"#$%&"'($#)*+,%(%-.'$/(0+1$234!!!"

Page 20: Humble Little Ruby Book

7&"#&2!&"=!"#$2!604!2$$3!"0!1&23!604%!*%0<%(>'!4'&2<!"#$!50>>(23!.&2$!(23!&''4$!"#$!

94/6!50>>(23!"0!%42!"#$>,!!Q0%!$@(>*.$C

!"#$()$*+,-&%.-/!#

H !'4<<$'" !'&>*.6 !4'&2<!N5&-^!"0!(?0&3 !"#&'= !/4" !'0>$"&>$'!"#&' ! &' !( !2$5$''(%6 !$?&.!

G$'*$5&(..6!&1!604;%$!(.%$(36!?$%6!50>10%"(/.$!7&"#!(20"#$%!$3&"0%I,

0#&(?9(D

H1!604;%$!%0..&2<!02!M(<4(%!GT+,RI!0%!.("$%=!"#$2!604!'#04.3!(.%$(36!#(?$!'0>$!?(%&(2"!

01 !94/6 ! 02 ! "#$%$, ! ! -0 ! 1&23 ! 04" !7#&5# ! ?$%'&02 ! 604 ! #(?$ ! G(23 ! "0 !>(8$ ! '4%$ ! &";'!

50>*("&/.$!7&"#!"#&'!/008!7#&5#!&'!/('$3!02!"#$!T,d!?$%'&02'I=!"6*$!"#$!10..07&2<!&2!

-$%>&2(.C

!"#$(01

-#("!'#04.3!<&?$!604!(!'#0%"!>$''(<$!"$..&2<!604!7#&5#!?$%'&02!604!#(?$!&2'"(..$3,!!H1!

604!#(?$!(!T,d!?$%'&02!&2'"(..$3=!<%$("E!!H1!20"=!.$";'!&2'"(..!02$,

-#$ ! $('&$'" ! 7(6 ! "0 ! &2'"(.. ! 94/6 ! &' ! <0&2< ! "0 ! /$ ! 4'&2< ! ](%7&2O0%"'!

G#""*C``777,3(%7&2*0%"',0%<`I,!!Y0!"0!"#$&%!7$/'&"$=!"#$2!"0!"#$&%!3072.0(3!*(<$!(23!

3072.0(3 ! "#$ ! *%0*$% ! ,3>< ! 1&.$ ! 10% ! 604% ! ?$%'&02 ! G$,<,= ! 10% ! -&<$%`T+,S ! 604 !704.3!

3072.0(3!'0>$"#&2<!.&8$!](%7&2O0%"'FT,RF6789,3><I,! !H2'"(..!"#("!('!604!20%>(..6!

704.3,!!-#$2!0*$2!-$%>&2(.!(23!$2"$%!"#$!10..07&2<C

2",+(3+!4(2$5*2",+(3+!4(%5246..(!"#$

H"!7&..!3072.0(3!'0>$!1&.$'=!50>*&.$!'0>$!"#&2<'=!5(.54.("$!"#$!(&%'*$$3!?$.05&"6!01!(2!

42.(3$2!'7(..07=!(23!"#$2!1&2(..6!604;..!#(?$!(!70%8&2<!94/6!3&'"%&/4"&02E! !M4'"!%42!

"#$!(/0?$ !!"#$(01 (50>>(23!"0!>(8$!'4%$!$?$%6"#&2<!&'! &2!0%3$%,! !H1 !"#("!30$'2;"!

70%8=!"#$2!<0!"0!"#$!](%7&2!*0%"'!7$/'&"$!(23!5#$58!"#$&%!'4**0%"!(23!>(&.&2<!.&'",

^3&"&2<!94/6!1&.$'!02!K(5!bNe!5(2!/$!

302$!4'&2<!'0>$"#&2<!.&8$!-$@"!^3&"0%!&1!

604 ! .&8$ ! "0 !8$$* ! "#&2<' ! '&>*.$, ! ! H1 !604!

%$f4&%$ ! ( ! .&"".$ ! >0%$ ! 04" ! 01 ! 604%!

$2?&%02>$2"= ! 604 ! 5(2 ! '*.4%<$ ! 02!

'0>$"#&2<!.&8$!-$@"K("$!G>6!K(5!H]^!

01!5#0&5$I,! !H1!604;%$!(!#(%350%$=!_[HeF

0%F3&$=!502'0.$F02.6!8&23!01!*$%'02=!"#$2!

?& !0% !$>(5'!70%8'!*$%1$5".6! 1&2$= !(23!(!

.0" ! 01 !70%8 ! #(' ! /$$2 ! 302$ !7&"# ! "#$'$!

$3&"0%'!"0!(5"4(..6!>(8$!"#$>!*%$""6!4'(/.$!94/6!3$?$.0*>$2"!$2?&%02>$2"'!&1!604!

(%$!'0!&25.&2$3!"0!4'$!"#$>,

#!!!!"#$%&"'($#)*+,%(%-.'$/(0+1$234

Page 21: Humble Little Ruby Book

@+,'E

-0!(''$''!7#$"#$%!0%!20"!604!#(?$!94/6!(.%$(36!&2'"(..$3!G(23!604!?$%6!7$..!>(6I=!

"6*$!!"#$(01(02!"#$!50>>(23!.&2$,!!H1!X&24@!5(2;"!1&23!94/6=!"#$2!"6*$!78%*8(!"#$(

02!"#$!50>>(23!.&2$,!!H1!604!(%$!(<(&2!5021%02"$3!7&"#!"#$!#0%%&/.$!1(5"!"#("!94/6!&'!

20"!02!604%!'6'"$>=!*%$*(%$!"0!&2'"(..!&",!!Q0%"42("$.6=!94/6!#('!7&3$'*%$(3!'4**0%"!02!

X&24@=!(23!3$*$23&2<!02!604%!?(%&("&02!01!X&24@`604%!$2?&%02>$2"=!604!7&..!#(?$!"0!

30!02$!01!"#$!10..07&2<,

5$:-1,,%;)'4%<24.$.:-)1-')! !H1!604!(%$!20"!"#$!(3>&2&'"%("0%!01!604%!>(5#&2$=!604!

>(6!#(?$!"0!"#%07!604%'$.1!("!"#$!>$%56!01!604%!'6'"$>'!(3>&2&'"%("0%,! !c$<!#&>!0%!

#$%!"0!&2'"(..!&"!10%!604,! !b11$%!"#$>!*('"%&$',! !-$..!"#$>!"#("!604!7&..!4%&2("$!02!"#$&%!

3$'8!&1!"#$6!302;"!&2'"(..!&",!!B#("$?$%!&"!"(8$'=!<$"!94/6!&2'"(..$3E

5$:-1,, % ;)'4%01*=13#! ! -0 ! &2'"(.. ! 1%0>!( !*(58(<$= ! 604 !7&.. ! 2$$3 ! "0 ! 502'4." ! 604%!

3&'"%&/4"&02;' ! 3054>$2"("&02, ! ! ^(5# ! 3&'"%&/4"&02 ! #(23.$' ! "#$'$ ! '0%"' ! 01 ! "#&2<'!

3&11$%$2".6=!/4"!&1!604%!3&'"%&/4"&02!'&>*.6!30$'2;"!#(?$!(!*(58(<$!604!#(?$!0*"&02',!

Q&%'"= ! 5#$58 ! 42011&5&(. ! %$*0'&"0%&$' ! '45# ! (' !](<;'= !K&23;'= ! N#(30&;'= ! 0% !]$/&(2F

_2011&5&(.!G0%!"#$!"02'!01!0"#$%'!"#("!Y00<.$!7&..!"4%2!4*!&1!604!('8!&"!2&5$.6I,! !H1!604!

302;"!#(?$!(26!.458!"#$%$,,,

5$:-1,,%;)'4%&'()*#!!H2'"(..&2<!1%0>!'04%5$!&'!'0>$!*$0*.$;'!1&%'"!&2'"&25",!!:04!30!<$"!

(!'>&3<$!/$""$%!*$%10%>(25$=!10%!'4%$=!/4"!H;>!#('"6!(23!.&8$!"0!<$"!"#&2<'!302$!('!

f4&58.6!('!*0''&/.$,!!H;3!%("#$%!Z4'"!3%0*!(!*(58(<$!&2!(23!<0,!!H1!604;%$!(!>('05#&'"!0%!

'&>*.6!5(2;"!1&23!(!*(58(<$=!604!5(2!&2'"(..!1%0>!'04%5$,!!Q&%'"=!<0!"0!#""*C``777,%4/6F

.(2<,0%<! (23!3072.0(3! "#$ ! '04%5$ !(%5#&?$, ! !-#$2= !$@"%(5" ! &" !(23!$2"$% ! "#$ ! '04%5$!

3&%$5"0%6C

46!(9'1&(!"#$0:/;/</46!/=9*,(!"#$0:/;/<

O08$!(%0423!&2!"#$%$!(!/&"P!604!>&<#"!7(2"!"0!%$(3!"#$!.&5$2'$!0%!9^\]K^!"0!>(8$!

'4%$!"#("!"#$%$!(%$2;"!(26!<0"5#('!10%!604%!3&'"%&/4"&02!01!X&24@,! !-#$2=!604!2$$3!"0!

5021&<4%$=!/4&.3=!(23!&2'"(..!&"C

/>*+5&%="!-)6?-)6?-(%5246..

:04!'#04.3!/$!<003!"0!<0!("!"#&'!*0&2",!!-6*$!!"#$(01("0!>(8$!'4%$!"#("!&";'!&2'"(..$3!

*%0*$%.6,

^3&"&2<!94/6!1&.$'!02!X&24@!&'!('!'&>*.$!('!4'&2<!(!*.(&2!"$@"!$3&"0%!.&8$!<^3&"!

0%!604%!1(?0%&"$!502'0.$!$3&"0%=!'45#!('!?&=!$>(5'=!0%!2(20=!0%!02$!01!"#$&%!e!B&2307'!

5042"$%*(%"'!.&8$!@$>(5',!!-#$%$!(%$!(.'0!>0%$!%0/4'"!$2?&%02>$2"'=!'45#!('!Z^3&"!(23!

\%(5#20!94/6!"#("!604!5(2!(5f4&%$=!/4"!"#$6!(%$!20"!%$f4&%$3,

!"#$%&"'($#)*+,%(%-.'$/(0+1$234!!!$

Page 22: Humble Little Ruby Book

@F7%9(7:=(5F:(?;7G

X$";'!<&?$!"#&'!7#0.$!94/6!"#&2<!(!"%6,! !:04!5(2!$&"#$%!4'$!&%/!0%!1@%&!"0!<$"!&2'"(2"!

1$$3/(58!0%!"6*$!"#$!'04%5$!503$!&2!(!1&.$!(23!4'$!94/6!"0!$@$54"$!&",!!H1!604!7(2"!"0!4'$!

"#$!10%>$%=!$&"#$%!"6*$!&%/!02!"#$!50>>(23!.&2$!0%!1&23!1@%&!&2!"#$!*%0<%(>!<%04*!10%!

94/6,! !H1!604!7(2"!"0!'&>*.6!"6*$!&"!&2!(23!$@$54"$!&"=!"#$2!0*$2!604%!1(?0%&"$!$3&"0%!

(23!.$";'!<$"!5%(58&2<,

3"42(@A-..+B(7+!.,/@

-#&' ! &'= !01 !504%'$= ! "#$!*%$f4&'&"$ ! 10% !(26!*%0<%(>>&2<!/008, ! !:04!'#04.3;?$ !'$$2!

JD$..0=!70%.3,J!&1!604;%$!4'&2<!02$!01!"#$!&2"$%(5"&?$!'#$..'P!&1!604;%$!*.(5&2<!"#&'!&2!(!

1&.$=!'(?$!"#$!1&.$!('!'0>$"#&2<!.&8$!#$..0,%/!(23!"#$2!"6*$!!"#$(8-..+/!#!"0!$@$54"$!&",!

[07=!.$";'!>(8$!"#&'!(!.&"".$!>0%$!&2"$%$'"&2<,

3"42(@A-..+B(7+!.,/((C864(%2($+"!(56)-D@)$56)-(E(=-42FG3"42(@C-..B(8-..+(48-!-(@(H()$56)-(H(@/@

N(?$!"#$!1&.$!(<(&2!(23!%42!"#&'!G0%!"6*$!&"!&2!604%!.&"".$!&2"$%*%$"$%IP!604!'#04.3!'$$!(!

<%$$"&2<=!/$!('8$3!10%!604%!2(>$=!(23!"#$2!<%$$"$3!/6!2(>$,!!H1!604!3&32;"!1&<4%$!&"!04"= !

3"42!>(8$'!"$@"!50>$!4*!02!"#$!502'0.$!(23!=-42!<$"'!"$@"!1%0>!"#$!4'$%,!![07!"#("!

604;?$!<0"!(!.&"".$!94/6!423$%!604%!/$."=!604;%$!<003!"0!<0!02!)#(*"$%!T,

!"#$%&"'()*+ %%

:04!.$(%2$3!(!.&"".$!(/04"!94/6!(23!#07!"0!&2'"(..!&",!!:04!.$(%2$3,,,

! "#$!#&'"0%6!01!94/6!(23!7#$%$!&"!5(>$!1%0>,

! "#$!<&'"!01!7#("!94/6!&'!(23!#07!&"!70%8',

! #07!"0!&2'"(..!94/6,

! (!.&"".$!/&"!01!94/6,

%!!!!"#$%&"'($#)*+,%(%-.'$/(0+1$234

Page 23: Humble Little Ruby Book

"

!2)&.H2($.(:'-IJ

-#&'!'$5"&02!(&>'!"0!&2"%0345$!"#$!'62"(5"&5!'4<(%!(23!.&2<4&'"&5!>&'10%"42$'!01!94/6!

&2!"#$!f4&58$'"!>(22$%!"#("!7&..!'"&..!(..07!10%!(!14..!$345("&02!02!"#$!'4/Z$5",! !H1!604!

%("$!604%'$.1!(!94/6!<4%4=!#("$!.(2<4(<$!"4"0%&(.'!10%!02$!%$('02!0%!(20"#$%=!0%!&1!604!

'"(6$3!(" !( !D0.&3(6 ! H22 !^@*%$'' ! .('" !2&<#" ! G0% ! "#04<#" !(/04" ! &" !/4" !3$5&3$3! "#$&%!

0?$%*%&5$3!(550>>03("&02'!7$%$2;"!10%!604I=!"#$2!604!>(6!>$%%&.6!*%05$$3!02!"0!"#$!

2$@"!'$5"&02,

<698K(K?>KFL79(?M(:;<=

94/6! &' !(2 !0/Z$5"F0%&$2"$3! .(2<4(<$= !/4"!/$10%$!604!'8&*!"#&'!'$5"&02!/$5(4'$ !604!

"#&28!604!8207!7#(" ! "#&' ! &' !(.. !(/04" !/$5(4'$ !604!#(?$ !4'$3!)aa!0% !'0>$!0"#$%!

4210%"42("$!$@54'$!10%!(2!0/Z$5"F0%&$2"$3!.(2<4(<$=!"#$2!*.$('$!*(4'$!(23!("! .$('"!

%$(3!"#$!10..07&2<!'$2"$25$,! !H2!94/6=!$?$%6"#&2<!604!>(2&*4.("$!7&..!/$!(2!0/Z$5",!

^?$%6"#&2<,! !^?$2!"#$!%$'4."'!01!0*$%("&02'!02!'(&3!0/Z$5"'!(%$!0/Z$5"'P!"#&'!(**%0(5#!

3&11$%'!1%0>!)aa!0%!M(?(!7#$%$!*%&>&"&?$!"6*$'!$@&'"!0%!'0>$!'"("$>$2"'!30!20"!%$"4%2!

(!?(.4$,

H1!604!#(?$!2$?$%!3$.?$3!&2"0!0/Z$5"F0%&$2"$3!*%0<%(>>&2<!G0%!*%0<%(>>&2<!

("!(..I=!"#$2!"#("!&'!(!3&11$%$2"!'"0%6!(."0<$"#$%,! !B#$2!7%&"&2<!94/6!503$=!0%!0/Z$5"F

0%&$2"$3!503$!&2!<$2$%(.= !"#$!&3$(!&' ! "0!5%$("$!>03$.'! &2!604%!503$!"#("!%$23$%!"#$!

*%05$''!604!(%$!"%6&2<!"0!<0!"#%04<#!&2!503$,! !Q0%!$@(>*.$=!&1 !604!7$%$!5%$("&2<!(!

5008/008!(**.&5("&02=!604!704.3!*%0/(/.6!7(2"!"0!5%$("$!(!.&'"!01!%$5&*$'!G>6!'8&..'!01!

3$345"&02!(%$!(>(L&2<=!H!8207I,! !-0!>03$.!"#("!&2!(!20"F'0F0/Z$5"F0%&$2"$3!7(6=!604!

704.3!>0'"!.&8$.6!4'$!(!'$%&$'!01!.&'"!'"%45"4%$'!01!'0>$!'0%"!"0!#0.3!"#$!?(%&04'!'0%"'!01!

3("(!7&"#!(!'625#%02&L$3!7(6!"0!"%(58!"#$!*0'&"&02!01!$(5#!.&'"!0%!'0>$!'45#!202'$2'$,!

b/Z$5"F0%&$2"$3 !*%0<%(>>&2<!'&>*.&1&$' ! "#&' !(23 !(..07' !604! "0 !5%$("$ !5.(''$' !(23!

0/Z$5"' ! "0 !>03$. ! "#$!2$$3$3!50>*02$2"', ! !_'&2<!04%!$@(>*.$= !604!504.3!5%$("$ !(!

I-*%3-! 5.(''!7&"#!'"%&2<!(""%&/4"$' !56)-! (23!6"48+!! (23!(!#('#!0%!(%%(6!(""%&/4"$!01!

%5=!-,%-542, ! !\!5.('';'!*4%*0'$!&'!"0 !9,5&6! '0>$ !;0"+# '&2!604%!(**.&5("&02P!5.(''$'!

5%$("$!"#$!J*%0"0"6*$J!10%!"#$!2042'!&2!604%!*%0<%(>'C!0/Z$5"',! !).(''!&2'"(25$'=!0%!

0/Z$5"' ! G"#$ ! "$%>' ! (%$ ! &2"$%5#(2<$(/.$I= ! "#$2 ! "(8$ ! "#(" ! *%0"0"6*$ ! (23 !*4" ! &" ! &2"0!

!2)&.52($.(6'-78!!!&

Page 24: Humble Little Ruby Book

(5"&02,!!H2!04%!$@(>*.$=!0/Z$5"'!504.3!/$!5%$("$3!10%!$(5#!%$5&*$!&2!"#$!.&'"!"#("!704.3!

/$!&2'"(25$'!01!"#$!5.('' !I-*%3-B7#&5#!704.3!&2!"4%2!504.3!#0.3!3("(!(23!30!"#&2<'!

%$.("$3!"0!/$&2<!(!%$5&*$!G&,$,=!#0.3!(!.&'"!01!&2<%$3&$2"'=!(33!&2<%$3&$2"'!"0!"#("!.&'"=!(23!

'0!02I!(23!$210%5$!502'"%(&2"'!"#("!704.3!/$!$210%5$3!02!(!20%>(.!%$5&*$!G&,$,=!02.6!

(..07!24>$%&5!?(.4$'!10%!&2<%$3&$2"!(>042"'=!>(8$!'4%$!"#$%$!&'!(!2(>$!10%!"#$!%$5&*$=!

(23!'0!02I,!!!!!

7=LF9(8>(:;<=

M4'"!/$5(4'$!$?$%6"#&2<!&'!(2!0/Z$5"!&2!94/6!30$'!20"!>$(2!"#("!$?$%6"#&2<!&'!<$2$%&5!

G&2!"#$!'$2'$!"#("!'*$5&(.&L$3!1425"&02(.&"6!30$'!20"!$@&'"I!0%!"#("!"#$%$!(%$!20!J/4&."F

&2J!5.(''$',! !94/6!*%0?&3$'!(!24>/$%!01!/4&."F&2!5.(''$'!7#&5#!(5"!('!/4&.3&2<!/.058'!

10%!"#$!(..!01!"#$!50>*02$2"'!01!604%!(**.&5("&02,! !-#$'$!"6*$'!3&11$%!1%0>!"#0'$!&2!

>(26!0"#$%!.(2<4(<$'!&2!"#("!"#$6!(.. !0%&<&2("$!1%0>!"#$!'(>$!5.(''!0%&<&2(..6C !"#$!

J#K-*4! 5.('',! !-#&'!#&$%(%5#6!>$(2'!"#("!"#$%$!&'!02.6!02$!J/('$J!"6*$!%("#$%!"#(2!(!

24>/$%!01!*%&>&"&?$'!.&8$!"#$%$!(%$!&2!.(2<4(<$'!'45#!('!),! !B#("!10..07'!&'!(!7(.8F

"#%04<#!01!#07!"#$'$!"6*$'!3&11$%!(23!7#("!"#$6!5(2!011$%!604!('!(!3$?$.0*$%,

9$3+,N1

-#$!1&%'"!01!"#$'$!"6*$'!"#("!7$!7&..!.008!("!(%$!'"%&2<'=!7#&5#!(%$!'&>*.6!'$f4$25$'!01!

/6"$'!"#("!%$*%$'$2"!(!'$f4$25$!01!5#(%(5"$%', ! !N"%&2<'!5(2!/$!10%>$3!(!24>/$%!01!

7(6'=!/4"!"#$!>0'"!50>>02!&'!.&8$.6!"0!/$!4'&2<!(!'"%&2<!.&"$%(.,! !\!'"%&2<!.&"$%(.!&'!(!

502'"(2"!'"%&2<!"#("!&'!5%$("$3!/6!$25.0'&2<!&"!&2!'&2<.$!0%!304/.$!f40"$',!!Q0%!$@(>*.$C

3"42(LA-..+B(M6!.%5=/L"!!!A-..+B(M6!.%5=/

3"42(LC864NL2(("3DL(( "!!!C864L2("3D

3"42(@ON4P6#/@ (( "!!!O 46#/

B(&" ! ( !>&24"$E ! !B#(" ! (%$ ! "#0'$ ! /(58'.('#$'A ! ! -#0'$ ! (%$ ! $'5(*$ ! '$f4$25$'= ! (!

/(58'.('#!10..07$3!/6!(!5#(%(5"$%!"0!5%$("$!20%>(..6!42*%&2"(/.$!5#(%(5"$%'!G&,$, !&2!

"#&'!$@(>*.$!H!4'$3!N4! "0!5%$("$!(!"(/!5#(%(5"$%!/4"!604!5(2!(.'0!4'$!0"#$%'!"0!5%$("$!

"#&2<' ! .&8$ !2$7! .&2$' ! (23 ! ?$%"&5(. ! "(/'I, ! ! H ! '(&3 !42*%&2"(/.$ ! /$5(4'$ ! &2 ! "#$ !0"#$%!

$@(>*.$=!H!4'$3!NL!"0!5%$("$!(!'&2<.$!f40"$!5#(%(5"$%P!"#&'!5#(%(5"$%!704.3!20%>(..6!/$!

42*%&2"(/.$!/$5(4'$!&"!&'!502"(&2$3!&2!(!'$"!01!'&2<.$!f40"$'!(23!704.3!$11$5"&?$.6!5.0'$!

"#$!'$"!01!f40"$'!5(4'&2<!(2!$%%0%,

[07=!&1!604!20"&5$3=!H!4'$3!'&2<.$!f40"$'!10%!'0>$!01!"#$!'"%&2<'!(23!304/.$!

f40"$'!10%!0"#$%',! !-#$%$!&'!(!3&11$%$25$!/$"7$$2!"#$!"70!20"("&02',! !N&2<.$!f40"$3!

'"%&2<'!(%$!f4&"$!'&..6!(23!#(?$!(!?$%6!.&>&"$3!'$"!01!$'5(*$!'$f4$25$'!"#$6!5(2!4'$!G('!(!

>(""$%!01!1(5"=!02.6!'&2<.$!f40"$!(23!/(58'.('#!(%$!(..07$3I!(23!(%$!"6*&5(..6!4'$.$''!

42.$''!*$%10%>(25$!&'!(!5025$%2!10%!604!G(23!"4%2&2<!304/.$!f40"$3!'"%&2<'!"0!'&2<.$!

f40"$3 ! '"%&2<' ! '#04.3 ! *%0/(/.6 ! /$ ! "#$ ! .('" ! "#&2< ! 604 ! "%6 ! 7#$2 ! &>*%0?&2<!

*$%10%>(25$IP!304/.$!f40"$3!'"%&2<'=!02!"#$!0"#$%!#(23=!011$%!1(%!>0%$!1425"&02(.&"6!

&2!"#$!7(6!01!&2"$%*0.("&02,! !Q&%'".6=!"#$6!011$%!1(%!>0%$!$'5(*$!'$f4$25$',! !\'!20"$3!

(/0?$=!604!5(2!4'$!N5!"0!5%$("$!(!2$7.&2$!5#(%(5"$%=!N4!"0!5%$("$!(!"(/!5#(%(5"$%=!(23!'0!

'!!!!2)&.52($.(6'-78

Page 25: Humble Little Ruby Book

02P !/$.07!&' !( ! "(/.$!01 !(.. ! "#$!(?(&.(/.$!$'5(*$!'$f4$25$'!604!5(2!4'$!7&"#!304/.$!

f40"$3!'"%&2<'!G"#$%$!(%$!f4&"$!(!1$7I,

F9K6LF(9FO;F>KF9

N6 !!c$..!(.(%> N& !!Q0%>!1$$3

NDDD !!b5"(.!?(.4$ N5 !![$7!.&2$

N'DD !!D$@!?(.4$ N! !!9$"4%2

QRDDDS!!g(.4$!01!AAA=!7#$%$!AAA!&'!(!!!!!94/6!$@*%$''&02

N2 !!N*(5$

N- !!^'5(*$ N4 !!-(/

N*DNT0D

!!)02"%0.FA N1 !!g$%"&5(.!"(/

NU0D !!K$"(FA N# !!c(58'*(5$

NU0NT0D(!!K$"(F)02"%0.FA

X008&2<!("!"#("!"(/.$=!604!>(6!#(?$!20"&5$3!"#("!304/.$!f40"$3!'"%&2<'!(.'0!

011$%!(20"#$%!&2"$%$'"&2<!1$("4%$C!$@*%$''&02!&2"$%*0.("&02,!!\'!1(256!('!"#("!'0423'=!&"!

'&>*.6!>$(2'!"#&'C!604!5(2!&2'$%"!"#$!?(.4$!01!*&$5$'!01!94/6!503$!&2"0!'"%&2<'!3&%$5".6,!

9$>$>/$%!"#("!$?$%6"#&2<!&2!94/6!&'!(2!0/Z$5"=!$?$2!"#$!%$'4."'!01!$@*%$''&02',!!-#("!

>$(2'!604!5(2!30!"#&'C

@V5*8-2>$6!,W(QR:XYZS@ "!!!V5*8-2>$6!,W((Z[

@QR@P+!6\(@YZS@ !! "!!(P+!6\(P+!6\(P+!6\

-#$!'$5023!$@(>*.$!&'!50214'&2<=!42.$''!604!%$>$>/$%!"#("!$?$%6"#&2<!&'!(2!0/Z$5"!&2!

94/6!G6$'=!$?$2!'"%&2<!.&"$%(.'E! !-#$6!(%$!01!5.('' !]4!%5=,I, ! !N&25$!"#$!'"%&2<!.&"$%(.!

5%$("$' !( !N"%&2< !0/Z$5"= !604!5(2!(5" !02 ! &" ! Z4'" ! .&8$ !(26 !0"#$% !0/Z$5", ! ! H2 ! "#&' !5('$=!

>4."&*.6&2<!(!'"%&2<!/6!V!'&>*.6!30$'!7#("!604!704.3!"#&28C!>(8$'!"#%$$!50*&$'!01!"#$!

'"%&2<,

\20"#$%= ! .$'' ! (7$'0>$ ! >$"#03 ! 01 ! 5%$("&2< ! '"%&2<' ! &' ! 4'&2< ! ( ! '*$5&(.!

3$.&>&"$%C!^_!0%!^`,!!-#$!7(6!"#&'!502'"%45"0%!70%8'!&'!"0!10..07!^_(0%!^`!7&"#!(26!202F

(.*#(24>$%&5=!202F>4."&/6"$!5#(%(5"$%,!!Q0%!$@(>*.$C

^`RA+6=%-2(a(=!%5,-!2\S("!!A+6=%-2(65,(=!%5,-!2\

^_bQR@c61$(#-652\(@YZSb("!!c61$(#-652\(c61$(#-652\(c61$(#-652\

[0"$!"#(" !^`! (5"'!.&8$!(!'&2<.$!f40"$3!'"%&2<!(23!^_! (5"'!.&8$!(!304/.$!f40"$3!'"%&2<,!

M4'"!(''05&("$!"#$>!/6!'&L$C!.&"".$!f=!02$!f40"$!/4"!/&<!h=!"70!f40"$',!!

:$" !4+,;0&% '7(6!'"%&2<'!5(2!/$!5%$("$3! &2!94/6! &' ! "#$!4'$!01 ! "#$!?$%/0'$!

$6$7(%" ! 82072 ! (' ! #$%$ ! 3054>$2"' ! GO$%. ! *%0<%(>>$%' ! %$Z0&5$EI= ! (.'0 ! 82072 ! ('!

!2)&.52($.(6'-78!!!(

Page 26: Humble Little Ruby Book

J#$%$305',J! !-#$'$!4210%"42("$!.(2<4(<$!502'"%45"'!5%$("$!(!'"%&2<!/6!'*$5&16&2<!(!

3$.&>&"$%!(1"$%!(!'$"!01!dd!5#(%(5"$%'!"0!'"(%"!"#$!'"%&2<!(23!*4""&2<!"#$!3$.&>&"$%!02!(!

.&2$!01!&"'!072!"0!$23!&",!!Q0%!$@(>*.$C

)$e24!%5=(E(ddUfe]PIVcgP8%2(%2(6(2%)3.-(24!%5=(4864(%2(3!-0&+!)644-,B(78%*8()-652(4864(48-(76$((%4(%2(&+!)644-,(8-!-(%5*.",%5=(46#2(65,(5-7.%5-2(7%..(#-(,"3.%*64-,78-5(V(3!%54(%4(+"4/

Ufe]PIVcg

-#$!1&2(.!>$"#03!"#("!5(2!/$!4'$3!"0!5%$("$!(!'"%&2<!&2'"(25$!&'!"0!'&>*.6!4'$!

"#$!4+e2(>$"#03!01!(2!0/Z$5",! !K(26! !0/Z$5"'!'&>*.6!04"*4"!"#$!'"(23(%3!%$'4."'!10%!

"#&'!>$"#03!G&,$,!"#$&%!5.(''!2(>$!(23!&2'"(25$!&3!0%!'0>$"#&2<!'&>&.(%I=!/4"!0"#$%'!

*%0?&3$ !/$""$% ! 1(54."&$', ! !Q0% ! &2'"(25$= !h%'5")! 7&.. ! (5"4(..6 ! %$"4%2 !( ! '"%&2< !01 ! "#$!

24>/$%!?(.4$!%("#$%!"#(2!'&>*.6!(!/&<!/.0/!01!94/6!3("(,

>'H-231

-#$!'$5023!"6*$!7$!7&.. !.008!("!&'!94/6;'!/4&."F&2!5.(''$'!10%!24>/$%'C !h%'5")! (23!

i%=5"),!!B#$2!5%$("&2<!(!24>$%&5!0/Z$5"=!(26!&2"$<$%!"#("!&'!/$"7$$2!GFRV+I!(23!GRV+!F!

TI ! &' ! (''&<2$3 ! "0 ! (2 ! &2'"(25$ ! 01 !h%'5")! (23 ! (26"#&2< ! $.'$ ! 04"'&3$ ! "#(" ! %(2<$ ! &'!

(''&<2$3!"0!(2!&2'"(25$!01!i%=5")P!94/6!30$'!"#&'!(''&<2>$2"!"%(2'*(%$2".6!'0!"#$%$!&'!

20!2$$3!"0!70%%6!7#&5#!02$!"0!4'$!&1!604!5%$("$!(!/0088$$*&2<!(**.&5("&02!10%!604%'$.1!

(23!604%!/(28!/(.(25$!G.&8$!>&2$I!'&"'!/$.07!FRV+!502'"(2".6,

H2"$<$%'!(%$!5%$("$3!/6!$2"$%&2<!"#$!24>/$%!604!7&'#!"0!4'$!7&"#04"!f40"$'!

G.$'"!&"!/$50>$!(!'"%&2<I,!!-#$!*(%"&54.(%!10%>("!3$*$23'!02!7#&5#!24>$%&5(.!/('$!604!

*.(2 !02 !4'&2<, ! !94/6 ! '4**0%"' ! '"(23(%3 !3$5&>(. ! G/('$FT+I ! 0*$%("&02' !/4" ! &" ! (.'0!

'4**0%" !0*$%("&02' !02 !05"(. ! G/('$FdI= !#$@(3$5&>(. ! G/('$FTiI= ! (23 !/&2(%6 ! G/('$FRI!

24>/$%',!!Q0%!$@(>*.$C

0:XZ<j[k;l "!!!#:XZ<j[k;l( Q(h%'5")

m,:XZ<j[k;l "!!!:XZ<j[k;lm( Q(h%'5")

:XZ<ZXZ<X<XZ: "!!!:XZ<ZXZ<X<XZ: Q(i%=5")

m'jT: "!!!:<kZ Q(A-'

m:<:: "!!!kkk Q(J*46.

:elmeZZ "!!!:lmZZ Q(h%'5")

[0"&5$!"#("!94/6!&<20%$'!423$%'50%$'!&2!24>/$%'!G'0>$!*$0*.$!5#00'$!"0!4'$!"#$>!&2!

*.(5$ !01 ! 50>>(' ! 10% ! .(%<$% !24>/$%' ! "0 ! $2#(25$ ! %$(3(/&.&"6I, ! !-#$ !$@(>*.$' !(.'0!

&..4'"%("$!"#$!?(%&04'!/('$!20"("&02',! !-0!5%$("$!(!/&2(%6!24>/$%!G/('$FRI=!*%$1&@!"#$!

24>/$%!7&"#!+/P !"0!5%$("$!(2!05"(. !24>/$%!G/('$FdI=!*%$1&@!"#$!24>/$%!7&"#!+P !"0!

5%$("$ !( !#$@(3$5&>(. !24>/$% ! G/('$FTiI= !*%$1&@ ! "#$ !24>/$% !7&"# !+@, ! !-0 !5%$("$ !(!

'"(23(%3= !/('$FT+! &2"$<$%= !$&"#$% !'&>*.6 ! "6*$ !"#$!24>/$%!(' !20%>(. !G&,$, !TijdI !0%!

*%$1&@!&"!7&"#!+3!G&,$,!+3TijdI,!

)*!!!!2)&.52($.(6'-78

Page 27: Humble Little Ruby Book

H2!(33&"&02!"0!&2"$<$%!"6*$'=!94/6!(.'0!#('!'4**0%"!10%!(!Q.0("!"6*$,! !Q.0("!

24>/$%' ! #0.3 ! 24>/$%' ! "#(" ! (%$ ! 1%(5"&02(. ! G&,$, ! "#$6 ! #(?$ ! ( ! *(%"&(. ! ?(.4$ ! "#(" ! &'!

$@*%$''$3!&2!3$5&>(.!10%>I,!!Q0%!$@(>*.$C

:/j "!!!:/j

:/m-j "!!!:mmmmm/m

:/-j "!!!\c+U-48+,n!!+!

^(5#!'&3$!01!"#$!3$5&>(.!*0&2"!>4'"!502"(&2!(!24>/$%,! !B#$2!20"("&2<!1.0("'!4'&2<!

'5&$2"&1&5!G0%!5023$2'$3I!20"("&02=!604!>4'"!*.(5$!(!+!2$@"!"0!"#$!3$5&>(.!*0&2"!0%!

94/6! &2! &"'!'&..&2$''!7&.. ! "%6! "0!$@$54"$!(!>$"#03!2(>$3!G10%!$@(>*.$I!$W!02!5.(''!

h%'5"),

N&25$!24>/$%'!(%$!0/Z$5"'!G&,$,!'&25$!$?$%6"#&2<!&'!(2!0/Z$5"!&2!94/6I!"#$6!

(.'0!502"(&2!>$"#03'!"#("!5(2!(5"!02!"#$>,!!:04!5(2!<$"!(!24>/$%;'!'&L$!7&"#!"#$!'&L$!

>$"#03=!502?$%"!(!24>/$%!"0!(!'"%&2<!4'&2<!"#$!4+e2!>$"#03=!(23!>(26!0"#$%'C

0</6#2 "!!!<(

[/9-!+D "!!!&6.2-

-#$!(/0?$!>$"#03'!(%$!0/?&04'.6!2(>$3!G"#$!(/'!>$"#03!<$"'!"#$!(/'0.4"$!?(.4$!(23!

"#$!9-!+D!%$"4%2'!4!"-!&1!"#$!24>/$%!&'!L$%0I=!/4"!"#$6!(%$!20"!"#$!02.6!>$"#03'!"#("!

(%$!011$%$3,!!)#$58!"#$!94/6!\OH!]054>$2"("&02!10%!>0%$!&210%>("&02,

[4>/$%'!(.'0!011$%!>$"#03'!"#("!>(6!20"!'$$>!.&8$!>$"#03'!("!1&%'"!<.(25$C!

"#$!(%&"#>$"&5!0*$%("0%',!!D$%$!(%$!'0>$!$@(>*.$'C

X(H(X "!!!<(

[(>(Z "!!!X

0<(Y(X "!!!0;

\!14..!.&'"&2<!01!"#$'$!0*$%("0%'!(23!"#$&%!1425"&02!&'!(?(&.(/.$!/$.07,! !\!f4&58!"&*C!&1!

604;?$!$?$%!*%0<%(>>$3!&2!(20"#$%!.(2<4(<$=!5#(25$'!(%$!"#$6!(%$!"#$!'(>$!G42.$''!

604;?$!/$$2!*%0<%(>>&2<!&2!'0>$!'0%"!01!7&..6!2&..6!202F>("#0.0<&5(.!.(2<4(<$I,!

6:8750F78K(?LF:67?:9

H !!\33&"&02

0 !!N4/"%(5"&02

> !!]&?&'&02

Y !!K4."&*.&5("&02

FG !!b%3$%!01!0*$%("&02'!G&,$,!<%04*!$@*%$''&02'!"0!10%5$!(!5$%"(&2!0%3$%!01!0*$%("&02'I

^ !!K034.4'!G&,$,!"#$!%$>(&23$%!10%!"#0'$!20"!&2!"#$!8207I

!2)&.52($.(6'-78!!!))

Page 28: Humble Little Ruby Book

K?@@FK78?>9

H"!&'!(!<%$("!"#&2<!"0!/$!(/.$!"0!*4'#!3("(!(%0423!&2!&"'!'&2<4.(%!10%>=!/4"!$?$%602$!

8207'!"#("!50..$5"&02'!(%$!7#$%$!"#$!*(%"6!&'!("!G("!.$('"!"#(";'!7#("!K-g!'(6'I,! !H!

"#&28!Y03!025$!'(&3!"#("!&";'!20"!<003!10%!3("(!"0!/$!(.02$=!(23!94/6!*%0?&3$'!(!1$7!

7(6'!"0!1(5&.&"("$!"#&',

\!50..$5"&02!G'0>$"&>$'!5(..$3!(!502"(&2$%I!&'!(2!0/Z$5"!"#("!#0.3'!(!<%04*!01!

%$.("$3!0/Z$5"'P!"#&'!%$.("&02!504.3!/$!/6!"6*$!G&,$,!(..!01!"#$>!(%$!'"%&2<'I=!*4%*0'$!G&,$,!

(..!01!"#$>!(%$!2(>$'I=!0%!/6!1(?0%&"$!5#$$'$'!G>&2$!&'!*%0?0.02$I,!!\!50..$5"&02!5(2!/$!

4'$3!"0!#04'$!(!24>/$%!01!3("(!&"$>'=!8$$*!"#$>!0%<(2&L$3=!(23!*$%10%>!0*$%("&02'!

(5%0''!(..!&"'!>$>/$%'P!$(5#!>$>/$%!G0%!$.$>$2"I!01!(!50..$5"&02!&'!(.'0!(!'$*(%("$=!

?&'&/.$!0/Z$5"!"#("!5(2!/$!0*$%("$3!02!G&,$,!&"!5(2!'"&..!5(..!>$"#03'=!/$!(33$3!"0!(23!

'4/"%(5"$3!1%0>=!$"5,I,

7"2(:#,N2(

-#$! 1&%'" !(23!>0'" !*%&>&"&?$ ! &' ! "#$ ! %(2<$, ! !9(2<$' !#0.3 !( !'$f4$2"&(. !50..$5"&02 !01!

?(.4$'=!'45#!('!(..!24>/$%'!/$"7$$2!T!(23!U!0%!"#$!.$""$%'!1%0>!\!"0!k,! !\!%(2<$!&'!

5%$("$3!/6!*.(5&2<!(!'$%&$'!01!30"'!G0%!*$%&03'!0%!3$5&>(.'!0%!7#("$?$%!&"!&'!604!8&3'!5(..!

"#$>!207(3(6'I!/$"7$$2!"#$!.07$%!(23!4**$%!.&>&"!01!"#$!%(2<$,!!Q0%!$@(>*.$=!&1!604!

7$%$!5%$("&2<!(!%0.$*.(6&2<!<(>$!(23!7(2"$3!"0!'$"!"#$!*0''&/.$!%(2<$'!10%!"#$!#$&<#"!

01!$(5#!%(5$!G&2!&25#$'I=!604!504.3!"6*$C

8")65(E(<;//;:-.&(E(<m///[;=!+4-2`"-.$e8"=-e="$(E(:Xm//:ZX

9(2<$' ! 5(2 !4'$ !$&"#$% ! "70 !30"'= !7#&5# ! &23&5("$' ! (2 ! &25.4'&?$ ! %(2<$ !01 ! (.. ! ?(.4$'!

&25.43&2<!"#$!/$<&22&2<!?(.4$!(23!"#$!$23!?(.4$=!0%!"#%$$!30"'=!7#&5#[email protected]$'!"#$!.('"!

?(.4$,!!-#&'!'$$>'!/(587(%3'!("!1&%'"!<.(25$=!/4"!&2!"%4"#!"#("!"#&%3!30"!&'!'0!1("!"#("!&"!

*4'#$'!"#$!.('"!$.$>$2"!04"!01!"#$!%(2<$,!!H!(>!20"!8&33&2<P!5%(58!0*$2!(!3$/4<<$%!(23!

1&23!04"!10%!604%'$.1,!!Q0%!$@(>*.$=!"#$!%(2<$!T,,,j!704.3!*%0345$!(!%(2<$!.&8$!"#&'C

b2!"#$!0"#$%!#(23=!"#$!%(2<$!T,,j!704.3!*%0345$!"#&'C

[07!"#("!604!5(2!<$"!"#$!%&<#"!?(.4$'!&2!(!%(2<$=!604!>(6!7(2"!"0!(5"4(..6!30!

'0>$"#&2<!7&"#!"#$>,! !9(2<$'!011$%!( !24>/$%!01!7(6'!"0! "$'" !(23!50>*(%$!"#$>,!

Q&%'".6=!604!5(2!50>*(%$!%(2<$'!"0!02$!(20"#$%!4'&2<!"#$ !EE! 0*$%("0%!G>0%$!02!"#&'!

)!!!!!2)&.52($.(6'-78

Page 29: Humble Little Ruby Book

0*$%("0% !(23!0"#$%' ! .("$%I !0% ! "#$ !-`.D! >$"#03, ! ! H1 ! ! 604!7$%$ !"0 !7%&"$ !'01"7(%$ ! "0!

>(2(<$!/(8$!'(.$'!G7#&5#!H!#$(%!"#(";'!(!/00>&2<!>(%8$"!&2!"#$!'01"7(%$!&234'"%6!

%&<#"!207I!"#$2!604!>(6!7%&"$!'0>$!"$'"!503$!"0!"$'"!"#$!*%0/(/&.&"6!01!"#$!%(2<$!01!

<003!(23!/(3!5008&$'!604!5(2!$@*$5"!1%0>!(!/("5#C

=++,e*++?%-2(E(:///Z#6,e*++?%-2(E(://Z#"!54e*++?%-2(E(://Z

3"42F=++,e*++?%-2(EE(#6,e*++?%-2G( "!!!&6.2-

3"42F=++,e*++?%-2/-`.DF#"!54e*++?%-2GG "!!!&6.2-

3"42F#6,e*++?%-2(EE(#"!54e*++?%-2G "!!!4!"-

9(2<$'!(%$!502'&3$%$3!$f4(.!&1!"#$&%!/$<&22&2<!(23!$23!?(.4$'!(%$!"#$!'(>$=!/4"!20"$!

"#("!$?$2!"#04<#!"#$!=++,e*++?%-2!(23!#6,e*++?%-2!'#(%$3!"#$!'(>$!/$<&22&2<!(23!

$23!?(.4$!&2!503$=!"#$!?(.4$'!3&11$%$3,! !-#$!?(.4$'!7$%$!5#(2<$3!/6!"#$!?(.4$!01!"#$!

&25.4'&?$!1.(<!G%$>$>/$%!"#$!"70!30"F"#%$$!30"!"#&2<AI,!!-#$!?(.4$'!10%!=++,e*++?%-2(

(%$!o:BXp!7#&.$!#6,e*++?%-2!#0.3'!o:BXBZp/

9(2<$'!(.'0!011$%!(!7(6!"0!"$'"!7#$"#$%!0%!20"!(!?(.4$!&'!502"(&2$3!7&"#&2!(!%(2<$!

4'&2<!EEE(0%!"#$!%5*.",-D!>$"#03,!!Q0%!$@(>*.$=!&1!604!(23!604%!50F70%8$%!<4$''$3!(!

24>/$%!01!<003!5008&$'=!/4"!7(2"$3!"0!'$$!&1!&"!7('!7&"#&2!"#$!*%0/(/.$!%(2<$!01!<003!

5008&$'=!604!504.3!30!"#&'C

)$e="-22(E(X8%2e="-22(E(:l

3"42F=++,e*++?%-2(EEE()$e="-22G "!!!4!"-

3"42F=++,e*++?%-2/%5*.",-DF)$e="-22GG "!!!4!"-

3"42F=++,e*++?%-2(EEE(8%2e="-22G "!!!&6.2-

-#$!%5*.",-D!>$"#03!7&..!%$"4%2!(26!?(.4$!"#("!&'!502"(&2$3!7&"#!"#$!%(2<$!01!?(.4$'!

&2!"#$!%(2<$!G&,$,!&"!704.3!%$"4%2!4!"-! &1!604!"$'"$3!R,SSWiS!(<(&2'"!#6,e*++?%-2IP!&1!

604;%$!1$$.&2<!(!.&"".$!(."$%2("&?$=!604!5(2!(.'0!"%6!%5*.",-D;'!(.&('!)-)#-!D,

7"2(633#I(

-#$!'$5023!/4&."F&2!50..$5"&02!&'!"#$!(%%(6=!(2!&2"$<$%!&23$@$3!(23!0%3$%$3!50..$5"&02!01!

$.$>$2"',! !H1!604!#(?$!#(3!(26!&2"%0345"0%6!50>*4"$%!'5&$25$!504%'$=!"#&'!5025$*"!01!

(2!(%%(6!'#04.3!20"!/$!10%$&<2!"0!604!/4"!94/6;'!&>*.$>$2"("&02!>(6!'$$>!'.&<#".6!

421(>&.&(%!"0!604,!!B#&.$!"#$!&23$@&2<!&'!L$%0!/('$3!.&8$!)`)aa!(23!M(?(!G&,$,!"#$!1&%'"!

$.$>$2" ! &' ! %$1$%$25$3!(" ! &23$@ !m= ! ! "#$!'$5023!$.$>$2" !:= !(23!'0 !02I= !42.&8$ ! "#$'$!

.(2<4(<$'=!"#$!$.$>$2"'!&2!(!94/6!(%%(6!30!20"!#(?$!"0!/$!"#$!'(>$!"6*$P!20%!30$'!"#$!

"6*$!01!"#$!(%%(6!#(?$!"0!'*$5&1&$3!/$10%$!&"!&'!&2&"&(.&L$3!10%!4'$,!!N0=!7&"#04"!"#04<#"!"0!

"6*$'=!604!504.3!$23!4*!7&"#!(2!(%%(6!"#(";'!'0>$"#&2<!.&8$!"#&'C

!2)&.52($.(6'-78!!!)"

Page 30: Humble Little Ruby Book

H2!94/6=!.&"$%(.!(%%(6'!5(2!/$!5%$("$3!(23!'"411$3!7&"#!?(.4$'!&2!(!?(%&$"6!01!

142!(23!&2"$%$'"&2<!7(6'C

%42e2+e-)34$(E(op

+8e2+e-)34$(E(O!!6$/5-78-..+(E(oL5%(86+LB(L#+5K+"!LB(L8%LB(L8+7,$Lp!65,+)e4$3-2(E(o:ZB(L563?%5LB(F:ZZ[(H(:G/4+e2p

\2!(%%(6!5(2!/$!&2&"&(.&L$3!7&"#!?(.4$'!01!(26!"6*$=!$?$2!?(%&(/.$'=!?(.4$'!%$"4%2$3!

1%0>!>$"#03'=!.&"$%(.'!'45#!('!f40"$3!'"%&2<'=!0%!20"#&2<!G"0!5%$("$!(2!$>*"6!(%%(6I,!

-#&' ! &' ! #(236 !>0'".6 ! 10% ! .&"$%(. ! ?(.4$'= ! /4" !94/6 !011$%' ! ( ! 1$7 !>0%$ !>$"#03' ! 10%!

5%$("&2<!(%%(6'!"#("!(%$!>0%$!502?$2&$2"!(23!5$%"(&2.6!>0%$!1$23%"/"<,!!N"%&2<'!011$%!(!

'*$5&(.!7(6!"0!5%$("$!(%%(6'!1%0>!"#$&%!502"$2"',!!X$";'!'(6!604!7$%$!7%&"&2<!#(&84'!(23!

7(2"$3!"0!>(8$!'4%$!$(5#!.&2$!G7#&5#!&'!502?$2&$2".6!1&..$3!7&"#!02$!'6..(/.$!70%3'I!

>("5#$'!"#$!0.;!JWFjFWJ!*(%(3&<>!/6!'*.&""&2<!"#$!.&2$!&2"0!(2!(%%(6!'0!604!5(2!5042"!

"#$!$.$>$2"'C

)$e86%?"(E(^7F()$(,+=(,%=2(%4(8-!-N5(G

"((o@)$@B(@,+=@B(@,%=2@B(@%4@B(@8-!-@(p

)$e86%?"(E(^7F(8-(%2(5%*-(4+()-(a(*642N5(G

"!!!o@8-@B(@%2@B(@5%*-@B(@4+@B(@)-@B(@a@B(@*642@p

)$e86%?"((E(^CF(#"4(8-(64-(QRFXYZG>[S(+5*-(G

"!!!o@#"4@B(@8-@B(@64-@B(@:@B(@+5*-@p

)$e86%?"((E(^7F(#"4(8-(64-(QRFXYZG>[S(+5*-(G

"!!!o@#"4@B(@8-@B(@64-@B(@QRFXYZG>[S@B(@+5*-@p

b0*'E ! !\ ! '"%&2< !7%(**$3 ! &2 ! "#$ ! !^C! 3$.&>&"$% !(5"' ! .&8$ !( !304/.$ !f40"$3 ! '"%&2<C ! &"!

*$%10%>' ! '"%&2< ! &2"$%*0.("&02 ! (23 ! $@"$23$3 ! $'5(*$ ! '$f4$25$ ! '4/'"&"4"&02= ! /4" !^7(

3$.&>&"$%!(5"'! Z4'"! .&8$!(!'&2<.$!f40"$3!'"%&2<C! &" !02.6!(..07'!(!'4/'$" !01 !"#$!$'5(*$!

'$f4$25$'!"0!/$!4'$3!(23!30$'!20"!1(5&.&"("$!&2"$%*0.("&02,!!N0>$!(%$!50214'$3!/6!(..!01!

"#&'!*0**65058=!/4"!&";'!?$%6!$('6!"0!%$>$>/$%C!c&<<$%!&'!/$""$%!G42.$''!604!302;"!2$$3!

(..!"#$!1(256!1$("4%$'!0%!604!#(?$!'0>$!'0%"!01!%$.&<&04'!502?&5"&02'!(<(&2'"!304/.$!

f40"$'!(23`0%!5(*&"(.!B;'I,

-#$!.('"!7(6!"0!10%>!(%%(6'!"#("!H!704.3!.&8$!"0!>$2"&02!&'!"#$!4+e6!>$"#03!01!

'0>$!0/Z$5"',! !-#&'!>$"#03!502?$%"'!(2!0/Z$5"!0%!G%(%$.6I!02$!01!&"'!>$>/$%'!"0!(2!

(%%(6,!!Q0%!$@(>*.$=!%(2<$'!'4**0%"!"#&'!>$"#03C

)#!!!!2)&.52($.(6'-78

!"#$%&'=)'>,,?@'94A'B,';38&7A

Page 31: Humble Little Ruby Book

)$e!65=-(E(://:m

"((://:m

)$e,699.%5=e6!!6$(E()$e!65=-/4+e6

"((o:B(XB(ZB(<B(jB([B(kB(;B(lB(:mp

K(26 ! 0/Z$5"' ! &>*.$>$2" ! "#&' ! >$"#03P ! &" ! &' ! ( ! 502?$2&$2" ! 7(6 ! "0 ! <$" ! (2 ! $('&.6!

>(2&*4.("(/.$!3("(!'"%45"4%$!1%0>!'0>$!'&..6!5.(''$'!"#("!(%$!3&11&54."!"0!70%8!7&"#,!

:04!>(6!502'&3$%!*$$8&2<!&2!"#$!94/6!\OH!3054>$2"("&02!"0!'$$!&1!"#$!0/Z$5"!604!

7&'#!"0!4'$!"#&'!>$"#03!7&"#!30$'!&23$$3!&>*.$>$2"!&",

[07!"#("!604!#(?$!(2!(%%(6=!>(6/$!604!7(2"!"0!(33!"0!&", ! !^.$>$2"'!5(2!

$('&.6!/$!(33$3!"0!(2!(%%(6!/6!'&>*.6!(''&<2&2<!(!?(.4$!"0!(!202F$@&'"$2"!&23$@P!10%!

$@(>*.$C

)$e,699.%5=e6!!6$o:mp(E(::

"((o:B(XB(ZB(<B(jB([B(kB(;B(lB(:mB(::p

)$e,699.%5=e6!!6$o:Xp(E(:X

"((o:B(XB(ZB(<B(jB([B(kB(;B(lB(:mB(::B(5%.B(:Xp

H1!(!<(*!$@&'"'!/$"7$$2!&23$@$'!01!"#$!.('"!$.$>$2"!&2!"#$!(%%(6!(23!"#$!2$7$'"!(33$3!

$.$>$2"= ! 94/6 ! *.(5$' !5%.! G&,$, ! "#$ ! $f4&?(.$2" ! 01 !5"..! &2 ! 0"#$% ! *%0<%(>>&2<!

.(2<4(<$'P ! &" ! %$*%$'$2"' ! ( ! 50>*.$"$ ! .(58 ! 01 ! ?(.4$I ! &2 ! "#$ ! <(* ! $.$>$2"' ! G.008 ! ("!

)$e,699.%5=e6!!6$o::p!(/0?$I,! !H1! !604!'&>*.6!7(2"!"0!(33!(2!$.$>$2"!"0!$23!01!(2!

(%%(6= ! "#$2!604!5(2!4'$!"#$ !dd! 0*$%("0%= ! "#$ !3"28! >$"#03!0% !5$%"(&2 !10%>'!01 ! "#$!

%52-!4!>$"#03,!!Q0%!$@(>*.$C

)$e,699.%5=e6!!6$/3"28F:jB(:[G

"((o:B(XB(ZB(<B(jB([B(kB(;B(lB(:mB(:jB(:[p

)$e,699.%5=e6!!6$/%52-!4F0:B(:kG

"((o:B(XB(ZB(<B(jB([B(kB(;B(lB(:mB(:kp

)$e,699.%5=e6!!6$(dd(:<

"((o:B(XB(ZB(<B(jB([B(kB(;B(lB(:mB(:<p

-#$!3"28!>$"#03!(..07'!604!"0!*4'#!02$!0%!>0%$!$.$>$2"'!02"0!"#$!$23!01!(2!(%%(6P!

$(5#!$.$>$2"!'#04.3!/$!*%0?&3$3!('!(!*(%(>$"$%!"0!"#$!>$"#03,! !-#$!%52-!4!>$"#03!

(..07'!604!"0!&2'$%"!$.$>$2"'!("!G"#$!'*$5&1&$3!&23$@!a!TIP!&2!"#$!$@(>*.$=!H!4'$3!FT!"0!

(33!$.$>$2"'!"0!"#$!$23!01!"#$!(%%(6!G&,$,!FT!>0?$'!1%0>!"#$!$23!01!"#$!(%%(6!/(58!02$!

$.$>$2"!"0!"#$!.('"!$.$>$2",!!\33&2<!(2!$.$>$2"!(1"$%!"#$!.('"!$.$>$2"!704.3!$11$5"&?$.6!

(33!&"!"0!"#$!$23,I,!!-#&'!>$"#03!*%0/(/.6!&'!20"!"#$!/$'"=!/4"!&"!5(2!/$!4'$3!7#$2!"#$!

'(>$!>$"#03!2$$3'!"0!&2'$%"!$.$>$2"'!("!?(%&04'!*.(5$'!&2!"#$!(%%(6!G&25.43&2<!"#$!

$23I, ! !-#$ !dd! 0*$%("0% !(..07'!604!"0 !*4'#!'*$5&1&$3!$.$>$2"' !02!"0 ! "#$ !$23!01 !(2!

$@&'"&2<!(%%(6P!H!*.4%(.&L$3!$.$>$2"!/$5(4'$!'$?$%(.!01!"#$'$!J(**$23'J!5(2!/$!5#(&2$3!

"0<$"#$%!"0!(33!24>$%04'!$.$>$2"'!"0!"#$!$23!01!(2!(%%(6,!!Q0%!$@(>*.$C

!2)&.52($.(6'-78!!!)$

Page 32: Humble Little Ruby Book

)$e,699.%5=e6!!6$(dd(Xm(dd(X:(dd(XX

"((o:B(XB(ZB(<B(jB([B(kB(;B(lB(:mB(XmB(X:B(XXp

[07!"#("!604!#(?$!3("(!&2!604%!(%%(6=!7#("!(%$!604!"0!30!7&"#!&"A!!H!*$%'02(..6!

.&8$!"0!(3>&%$!>6!3("(=!*%&3$!>6'$.1!02!>6!(/&.&"6!"0!#(%2$''!(..!"#("!&'!"#$!(%%(6=!(23!

"#%4'"!>6!1&'"! &2"0!"#$!(&%!6$..&2<=!JH!\K!NO\9-\)_N=!Xb9]!bQ!-D^!\99\:EJ!

-#$2!>6!7&1$!.008'!("!>$!.&8$!H!(>!5%(L6=!&"!<$"'!(..!7$&%3=!(23!H!<$"!/(58!"0!70%8,! !H!

'4**0'$!"#("!>(6!0%!>(6!20"!70%8!10%!604P!>0'"!*$0*.$!0*"!"0!'&>*.6!4'$!"#$&%!(%%(6!"0!

#0.3!'"411!(23!5(..!&"!7#$2!"#$6!2$$3!&"!G7#&5#!&'!20"!2$(%.6!('!142I,!!-0!>(8$!4'$!01!(2!

(%%(6!$.$>$2";'!?(.4$=!604!'&>*.6!%$1$%$25$!"#$!3$'&%$3!$.$>$2"!/6!&23$@!&2!"#$!10%>!

6!!6$e56)-o%5,-'p,!!Q0%!$@(>*.$C

3"42()$e,699.%5=e6!!6$omp

"((:

%5,-'(E(X

)$e,699.%5=e6!!6$o%5,-'p

"((Z

)$e,699.%5=e6!!6$om//Xp

"((o:B(XB(Zp

[0"&5$!"#("!7#$2!%$1$%$25&2<!(%%(6!$.$>$2"'=!604!5(2!%$1$%$25$!(!'&2<.$!$.$>$2"!7&"#!

(2!&2"$<$%!0%!4'$!(!%(2<$!"0!%$1$%$25$!(!24>/$%!01!$.$>$2"',! !9$>$>/$%=!/$5(4'$!

(%%(6 ! &23$@&2< ! &' ! L$%0 !/('$3= ! %$1$%$25&2< ! &23$@ !m! &' ! (5"4(..6 ! %$1$%$25&2< ! "#$ ! 1&%'"!

$.$>$2",! !\.'0=!/$!'4%$!"#("!7#$2!604!*(''!(2!&23$@=!"#("!&"!&'!(2!&2"$<$%!0%!%(2<$P!&1 !

604!30!20"=!94/6!7&..!"#%07!( !P$3-n!!+!! G7#&5#!7&..!&2!"4%2!5%4'#!604%!'04.I,! !-#&'!

'$$>'!.&8$!(!'&..6!*%0/.$>!G(23!(2!$?$2!'&..&$%!502'$f4$25$EI=!/4"!&"!504.3!'#07!4*!&1!

604 !7$%$ ! G10% ! '0>$ ! %$('02I ! %$(3&2< ! &23$@$' ! 1%0> ! '058$"' ! 0% ! 1&.$' ! G7#&5# ! %$(3'!

$?$%6"#&2<!&2!('!'"%&2<'!'0!604!704.3!#(?$!"0!502?$%"!"#$>!7#&5#!604;..!.$(%2!#07!"0!

30 ! .("$%I, ! ! -#&' !>$"#03 ! 10% ! %$1$%$25&2< ! (%%(6 ! $.$>$2"' ! 0*$%("$' ! Z4'" ! .&8$ ! "#$ !64(

>$"#03C

3"42()$e,699.%5=e6!!6$/64FmG

"((:

\20"#$%!>$"#03=!&-4*8=!5(2!(.'0!0*$%("$!&2!"#&'!>(22$%=!/4"!&-4*8!5(2!(.'0!'*$5&16!(!

3$1(4."!?(.4$!"0!%$"4%2!&1!"#$!'*$5&1&$3!&23$@!&'!20"!10423,!!

3"42()$e,699.%5=e6!!6$/&-4*8FlllB(@c+4(&+"5,\\@G

"((c+4(&+"5,\\

:$" !(20"#$% !>$"#03= !16."-2e64= ! 5(2 !(.'0 !0*$%("$ ! Z4'" ! .&8$ !64= !&-4*8= ! (23 ! "#$ !op(

0*$%("0%=!$@5$*"!"#&'!>$"#03!5(2!"(8$!(!24>/$%!01!&23$@$'!"0!1$"5#!(23!%$"4%2!('!(2!

(%%(6,

)%!!!!2)&.52($.(6'-78

Page 33: Humble Little Ruby Book

!"#$%&'()*++,-./(*00*'12*,"3$(*#456%76%89

!%%:76%86%;<

!"#$%&'($)&*'$("&($+$),-%.$%/0#$(,$'"&1#$(,$1#(1/#2#$#%#3#4('$&1#$("#$3#(",.'$!=!$&4.$

'"/5(6$ $!"# $!=!$3#(",.$71&8'$("#$%&'($#%#3#4($/4$("#$&11&*$&4.$1#3,2#'$/($51,3$("#$

&11&*9$("#$$>-?#$3#(",.$71&8'$("#$5/1'($#%#3#4($51,3$("#$&11&*$&4.$1#3,2#'$/($'"/5(/47$

&%%$,("#1$#%#3#4('$8&:0$,4#$/4.#;6

&'()*++,-./(*00*'1!=!

!%%:76%86%;6%@6%A6%B6%C6%D6%E<

&'()*++,-./(*00*'1$>-?#

!%%:86%;6%@6%A6%B6%C6%D6%E6%75<

<,$4,)$*,-$"&2#$&4$&11&*=$*,-$"&2#$.&(&$/4$/(=$8-($3&*8#$*,-$&1#$'/:0$,5$("&($

("/1.$#%#3#4(6$ $>#$?-'($0##@'$7/2/47$*,-$:1&A*$%,,0'$,1$#*/47$*,-1$)/5#$&4.$*,-$?-'($

)&4($(,$(&0#$"/3$,-($,1$@,''/8%*$!"#$%&'#!(6$ $B#%%=$5,1(-4&(#%*$C-8*$:&4$(&0#$:&1#$,5$("&($

%/((%#$@1,8%#3=$&4.$%#(D' $ ?-'($'&*$/( $&/4D( $@1#((*6 $ $!"# $)3,3#3(*#$ 3#(",.$.#%#(#'$("#$

#%#3#4($&($("#$/4.#;$'@#:/5/#.$&'$&$@&1&3#(#1$&4.$1#(-14'$("#$2&%-#$,5$("&($#%#3#4(6$

E,1$#;&3@%#F

!"#$%&'()*++,-./(*00*'1)3,3#3(*#479

!%%8

&'()*++,-./(*00*'

!%%:76%;6%@6%A6%B6%C6%D6%E6%75<

G4,("#1$3#(",.$("&($&11&*'$,55#1$(,$.#%#(#$/(#3'$/'$("#$)3,3#3$3#(",.$H8/7$

'-1@1/'#=$"-"IJ6$ $!"/'$3#(",.$.#%#(#'$&4.$1#(-14'$("#$2&%-#$("&($/' $1#5#1#4:#.$&'$&$

@&1&3#(#1$1&("#1$("&4$("#$/4.#;$%/0#$)3,3#3(*#6$$E,1$#;&3@%#F

!"#$%&'()*++,-./(*00*'1)3,3#34@9

!%%@

&'()*++,-./(*00*'

!%%:76%86%;6%A6%B6%C6%D6%E6%75<

!"#$%&'()*++,-./(*00*'1)3,3#347;;C9%F%GH0=./IG%J

!%%H0=./I

K,(#$("&($("#$/(#3$)/("$("#$2&%-#$,5$L$)&'$.#%#(#.$1&("#1$("&4$("#$/4.#;$L6$ $G%',$4,(#$

("&($("#$)3,3#3$3#(",.$,55#1'$("#$,@(/,4$5,1$&$M.#5&-%(M$2&%-#$(,$1#(-14$/5$("#$'@#:/5/#.$

2&%-#$.,#'$4,($#;/'($/4$("#$&11&*9$("#$%&'($#;&3@%#$/'$&$.#3,4'(1&(/,4$,5$("/'$5#&(-1#6$

!"#$2&%-#$1#(-14#.$8*$("#$8%,:0$,5$:,.#$8#()##4$("#$81&:#'$)/%%$8#$("#$2&%-#$1#(-14#.$/5$

("#$/(#3$/'$4,($5,-4.$H+$(&%0$3,1#$&8,-($("#'#$0/4.'$,5$:,.#$8%,:0'$%&(#1$,49$/5$*,-D1#$

:,45-'#.=$:-1/,-'=$&4.$/3@&(/#4(=$%,,0$&($@&7#$NOJ6

!"#$%&"'(%')*+,-"""!"

Page 34: Humble Little Ruby Book

7"2(5#1"(

-#$!.('" !50..$5"&02!"6*$!"#("!94/6!011$%'!&' !"#$!#('#!G(.'0!'0>$"&>$'!82072!('!(2!

(''05&("&?$!(%%(6!0%!3&5"&02(%6IP!#('#$'!(%$!50..$5"&02'!01!?(.4$'!01!(26!"6*$!&23$@$3!/6!

0"#$%!?(.4$'!01!G(.>0'"I!(26!"6*$!%("#$%!"#(2!'0.$.6!24>/$%'!.&8$!(%%(6'!G"#04<#!604!

5(2!4'$!24>/$%'!10%!#('#$'!(.'0I,!!Q0%!$@(>*.$=!"#$6!5(2!/$!&23$@$3!/6!'"%&2<'P!&1!604!

#(3!(!#('#!5(..$3!"#("#('#=!604!504.3!5(..!04"!&"'!8$6'!/6!2(>$,

H!'(6!"#$6!5(2!/$!8$6$3!/6!(.>0'"!(26!"6*$!/$5(4'$!&23$@$'!G5(..$3!8$6'!&2!#('#$'I!

#(?$!"70!%$f4&%$>$2"'C!"#$6!>4'"!&>*.$>$2"!"#$!/-`.D!>$"#03!(23!"#$6!>4'"!#(?$!(!

502'"(2" ! G0% ! 502'"(2".6 ! 4*3("$3 ! 4'&2< ! "#$ !!-8628! >$"#03I ! #('# ! 503$, ! ! -#$'$!

%$f4&%$>$2"'!'"$>!1%0>!"#$!7(6!#('#$'!#(23.$!&23$@&2<!(23!.008&2<!4*!?(.4$'!/6!8$6,!

:04!5(2!1&23!(!1&2$=!"$5#2&5(.!$@*.(2("&02!01!"#&'!*%05$''!01!.008&2<!4*!(23!#('#&2<!

(23!7#("!#(?$!604!&2!0"#$%!?0.4>$'=!/4"!.$"!4'!'411&5$!207!"0!'(6!"#("!"#$!#('#!503$!&'!

"#$!#('#;'!>$"#03!10%!50>*(%&2<!(23!1&23&2<!8$6'!(23!"#$!.&8$=!'0!&"!704.3!20"!/$!7&'$!

"0!.$"!"#("!<$"!"#%072!(..!7&..6!2&..6!/6!(!%0<4$!0%!&2(554%("$!#('#!503$!G'"%&2<'!(%$!

$@5$*"&02'!'&25$!94/6!>(8$'!(!50*6!01!"#$>!%("#$%!"#$2!%$1$%$25$'!"#$>P!"#&'!7(6!"#$!

?(.4$!5(220"!/$!(."$%$3!(23!"#$!#('#!503$!5#(2<$3!7&"#04"!"#$!#('#!8207&2<!(/04"!

&"I,

-0!5%$("$!(!2$7!#('#=!604!'&>*.6!/%(58$"!20"#&2<!0%!(!'$"!01!8$6!?(.4$!*(&%'!

G&23&5("$3!/6!"#$!JEqJ!50>/&2("&02I!/$"7$$2!(!'$"!01!/%(5$',! !H1 !604!*.(5$!20"#&2<!

/$"7$$2!"#$!/%(5$'!G0%!604!5(..!"#$ !A628/5-7!>$"#03I=!"#$2!(2!$>*"6!#('#!7&..!/$!

5%$("$3=!/4"!.$";'!'(6!604!7(2"$3!"0!5%$("$!(!<&(2"!#('#!01!"#$!2(>$'!01!$?$%602$!"#("!

604!8207!7#0!&'!(!70>/("!(23!7#$%$!"#$6!.&?$,!!:04!504.3!30!'0!.&8$!"#&'C

)$e7+)#642(E(R(LC6..$(C+)#64L(Eq(LP8-(r"5=.-(]4/LBLC%.)6(C+)#64L(Eq(LP8-(A+"2-(+5(48-(T+!5-!LB

L]6)L(Eq(Lc+467+)#64(C6$LB(LU")3L(Eq(:Z(S

b8(6=!'0!>(6/$!&";'!20"!(!<&(2"!#('#!G6$"I,! !\26#07=!94/6!30$'2;"!>&23!7#&"$'*(5$!

G'*(5$'=!"(/'=!(23!"#$!.&8$I!0%!2$7.&2$'!G0%!"#$!.(58!"#$%$01I!&2!"#$!#('#!3$1&2&"&02=!'0!

)'!!!!2)&.52($.(6'-78

!"#$%&'C)'D0&'0470@'"66$7;%4;&5:''D0,7&'54%+'/&6;';"88&5'8&+7:

Page 35: Humble Little Ruby Book

.02<!('!604!*4"!(!50>>(!/$"7$$2!$(5#!$2"%6,! !H!4'$3!'"%&2<!8$6'!&2!>6!$@(>*.$=!/4"!

(26!0/Z$5"!5(2!/$!4'$3!('!.02<!('!&"!>$$"'!"#$!%$f4&%$>$2"'!10%!8$6'!G.&'"$3!(/0?$I,

94/6!(.'0 !011$%'! "#$ !5-7! >$"#03!10% !5%$("&2<!#('#$'P ! "#$ !5-7! >$"#03!10%!

#('#$' ! ?(%&$' ! '.&<#".6 ! "#(2 ! 7#(" ! 704.3 ! /$ ! $@*$5"$3, ! ! b2$ ! 704.3 ! $@*$5" ! "#("!

*(%(>$"$%'!*%0?&3$3!"0!5-7!704.3!/$50>$!"#$!?(.4$'!01!(!#('#=!/4"!&2!"#&'!5('$!&"!"(8$'!

(!'&2<.$!*(%(>$"$%!7#&5#!/$50>$'!(!3$1(4."!?(.4$!&1!(!202$@&'"$2"!8$6!&'!%$1$%$25$3!G0%!

&1!"#$!,-&6".4!>$"#03!&'!5(..$3I,

5-7e8628(E(A628/5-7F@c+4(8-!-\@G

5-7e8628oL5+50-'%24-54(?-$Lp

"((c+4(8-!-\

l$6'!5(2!/$!(33$3!"0!(!#('#!/6!'&>*.6!3$1&2&2<!"#$>P!502"&24&2<!1%0>!"#$!

(/0?$!$@(>*.$=!.$"!4'!(''4>$!"#("!604!>$"!(!2$7!70>/("!("!"#$!'4*$%>(%8$"C

)$e7+)#642oLC+)#%-(U*C+)#64Lp(E(L:XZ(P864(]4!--4L

[0"$!604!302;"!%$3$1&2$!"#$!#('#!0%!$25.0'$!(26"#&2<!&2!/%(58$"'!0%!/%(5$'P!604!302;"!

#(?$!"0!5(..!(26!'&..6!>$"#03'!G604!<4+'4'$!"#$!24+!-!>$"#03=!/4"!7#6!704.3!604AI!0%!

4'$!(26!0*$%("0%'!"#("!'$$>!10%$&<2P!604!'&>*.6!(''&<2!(!?(.4$!"0!"#$!8$6,

N0!207!"#("!604!#(?$!"#&'!1&2$!#('#!0;!70>/("'=!7#("!5(2!604!30!7&"#!&"A!!-0!

%$1$%$25$!(!#('#!?(.4$=!604!5(2!4'$!"#$ !&-4*8!>$"#03!7&"#!"#$!8$6!('!(!*(%(>$"$%!

G.(>$EI!0% !'&>*.6 !%$1$%$25$ ! &" !'&>&.(% ! &2 !(2!(%%(6F.&8$ ! 10%>C !8628e56)-o?-$p, ! !Q0%!

$@(>*.$=!&1!604!7$%$!"#%07&2<!(!70>/("!*(%"6!(23!7(2"$3!"0!&2?&"$!(..!604%!70>/("!

1%&$23'= !/4" !604!504.32;" ! %$>$>/$% !B(..6 !B0>/(";' !(33%$''= !604!504.3!*%&2" ! "#$!

?(.4$!01!#&'!(33%$''!.&8$!"#&'C

3"42()$e7+)#642oLC6..$(C+)#64Lp

"((P8-(r"5=.-(]4/

D('#$'!(.'0!011$%!"#$!16."-2e64!>$"#03=!7#&5#!(..07'!604!"0!*%0?&3$!24>$%04'!8$6'!

(23!%$5$&?$!"#$&%!?(.4$'!&2!(2!(%%(6,! !g(.4$'!&2!#('#$'!#(?$!"0!/$!5(..$3!4'&2<!"#$'$!

>$"#03' ! G&-4*8= !o?-$p= ! 0% !16."-2e64IP ! #('#$' !30 !20" ! 011$% !>$"#03' ! .&8$ !3+3! &2!

(%%(6',! !D('#$'!011$%!28%&4=!/4"!&"!'&>*.6!%$"4%2'!"#$!1&%'"!$.$>$2"!('!(2!(%%(6!7#&5#!

502"(&2'!"#$!8$6!&2!02$!$.$>$2"!(23!"#$!?(.4$!&2!(20"#$%P!"#&'!>$"#03!(23!(!504*.$!01!

0"#$%'!(%$!20"!?$%6!4'$14.!&1!604!'&>*.6!7(2"!"#$!?(.4$!01!$.$>$2"',! !b#!'4%$=!#('#$'!

011$%!(!>6%&(3!01!>$"#03'!7#&5#!(..07!604!"0!30!3&11$%$2"!"#&2<'!7&"#!"#$!$.$>$2"'!01!

(!#('#!G&,$,!"#$!4+e6!>$"#03!7#&5#!5#(2<$'!"#$!#('#!"0!(2!(%%(6=!)-!=-!"0!>$%<$!"70!

#('#$'=!!-3.6*-!"0!%$*.(5$!02$!#('#;'!?(.4$'!7&"#!(20"#$%;'!?(.4$'=!$"5,I=!/4"!"#$%$!(%$!

20"!(!7#0.$!01!0*"&02'!7#$2!&"!50>$'!"0!<%(//&2<!$.$>$2"'!1%0>!(!#('#,!!D('#$'!.(58!(!

.0"!01!26"+#!"0!/$!#02$'",

94/6!(.'0!011$%'!(!1$7!>$"#03'!"#("!"$'"!$.$>$2"'!&2!(!#('#P!"#$'$!(%$!#$.*14.!

"0!<%(/!&210%>("&02!(/04"!"#$!#('#!7&"#04"!"%(?$%'&2<!"#$!7#0.$!#('#,!!Q0%!$@(>*.$C

!2)&.52($.(6'-78!!!)(

Page 36: Humble Little Ruby Book

)$e7+)#642/862e?-$DFLC%.)6(C+)#64LG

"((4!"-

)$e7+)#642/862e16."-DFLs6)32(65,(365,62LG

"((&6.2-

)$e7+)#642/-)34$D

"((&6.2-

-#$!>$"#03!2(>$'!0/?&04'.6!$@*.(&2!7#("!"#$6!30=!/4"!H!7&..!$@*.(&2!"#$>!(!.&"".$!/&"!

(26#07,! !-#$ !-)34$D!>$"#03!5#$58'!7#$"#$%!0%!20"!(26!$.$>$2"'!$@&'"!&2!"#$!#('#P!

"#&'!30$'!20"!5#$58!"#$!?(.4$'!01!"#$!#('#=!'0!&1!"#$%$!&'!(2!$.$>$2"!7#&5#!&'!$>*"6!&"!

%$"4%2'!1(.'$, ! !-#$ !862e?-$D! >$"#03!5#$58'!"#$!#('#!"0!'$$!&1 !"#$!8$6!*(''$3!('!(!

*(%(>$"$%!$@&'"'P !"#&'!&' !*%0/(/.6!>0%$!'(1$!"#(2!5#$58&2<!"#$6!8$6!10%!"#$!3$1(4."!

?(.4$!0%!2&.,!!-#$!862e16."-D!>$"#03!5#$58'!"#$!?(.4$'!01!"#$!#('#!"0!'$$!&1!&"!$@&'"'!&2!

02$!01!"#$!$.$>$2"',! ! !-#&'!>$"#03!&'!20"!*(%"&54.(%.6!4'$14.!G'&25$!&" !30$'!"$.. !604!

7#&5#!8$6!#('!"#$!?(.4$I=!/4"!&"!5(2!/$!4'$14.!&1!604!7(2"!"0!>(8$!'4%$!"#("!(26!8$6!#('!

"#&' ! ?(.4$, ! !-#$%$ !(%$ !( ! .0" !01 ! '62026>' ! 10% !862e?-$D! G)-)#-!D= !?-$DB! $"5,I ! (23!

862e16."-D (G16."-D= !$"5,IP !5#$58 ! "#$ !94/6!3054>$2"("&02 ! 10% !( ! 14.. ! .&'" !01 ! "#$'$!

>$"#03'P!>(6/$!02$!01!"#$!'62026>'!7&..!/$!$('&$%!10%!604!"0!%$>$>/$%,

D('#$' ! (.'0= ! 01 ! 504%'$= ! 011$% !>$"#03' ! "0 ! 3$.$"$ ! $.$>$2"', ! ! -0 ! 3$.$"$ ! (2!

$.$>$2"=!'&>*.6!5(..!"#$ !,-.-4-!>$"#03!(23!*%0?&3$!"#$!8$6!604!7&'#!"0!3$.$"$!('!(!

*(%(>$"$%,! !X$";'!'(6!"#("!604!#(3!(!1(..&2<!04"!7&"#!B&.>(!B0>/("!G'#$!<0"!(!.&"".$!

"&*'6!("!"#$!B0>/("![$7!:$(%!*(%"6!(23!?0>&"$3!02!604%!2$7!$$.!'8&2!O%(3(!'#0$'I!

(23!604!207!7(2"!"0!3$.$"$!#$%!1%0>!604%!.&'"!01!1%&$23.6!70>/("'P!604!504.3!30!'0!.&8$!

"#&'C

)$e7+)#642/,-.-4-oLC%.)6(C+)#64Lp

"((P8-(A+"2-(+5(48-(T+!5-!

B#$2!(2!$.$>$2"!&'!3$.$"$3=!&"'!?(.4$!&'!%$"4%2$3,!!-#&'!70%8'!<%$("!&1!604!8207!$@(5".6!

7#&5#!8$6'!604!7(2"!"0!3$.$"$=!/4"!.$";'!'(6!"#("!604!<$"!"&%$3!01!#07!70>/("'!'>$..!

G"#$!'>$..!01!'"(.$!<&2!(23!<4(?(!Z4&5$!5(2!/$!%("#$%!427$.50>$!&2!"#$!>0%2&2<I,!!:04!

7(2"!"0!50>*.$"$.6!/.07!(7(6!"#$!7#0.$!#('#=!/4"!&"!'$$>'!'&..6!"0!<0!"#%04<#!$(5#!

8$6!(23!5(..!,-.-4-,!!B$..=!10%"42("$.6!94/6!3$.&?$%'C

)$e7+)#642/*.-6! "((RS

)$e7+)#642/-)34$D "((4!"-

B#$2!"#$!*.-6!!>$"#03!&'!5(..$3=!"#$!2$7.6!$>*"&$3!!#('#!&'!%$"4%2$3P!(%$2;"!604!<.(3!

"#("!604!302;"!#(?$!"0!3$(.!7&"#!"#0'$!3(%2!70>/("'!(26>0%$A

P6:86<@F9(6>Q(75F(@8RF

[07!"#("!7$;?$!<02$!0?$%!(.. !"#$!/('&5!0/Z$5"'!604!#(?$!"0!70%8!7&"#!G("! .$('"!"#$!

&>*0%"(2"!02$'I=!7$!'#04.3!*%0/(/.6!"(.8!(/04"!#07!"0!30!'0>$"#&2<!7&"#!"#$>,! !H"!

!*!!!!2)&.52($.(6'-78

Page 37: Humble Little Ruby Book

704.3!/$!'&..6 !"0!.$(%2!(/04"!7#("!604!#(?$!"0!70%8!7&"#!7&"#04" !70%8&2<!7&"#!&"!

G42.$''!01!504%'$!604!7$%$!.$(%2&2<!(/04"!*0&'0204'!'2(8$'!0%!K(.(6'&(2!'.0"#'IP!"0!

30 !(26"#&2< !*%(5"&5(. !7&"# !(2 !0/Z$5" ! 604 !*%0/(/.6 !2$$3 ! "0 ! '"0%$ !( ! %$1$%$25$ ! "0 ! &"!

'0>$7#$%$!.&8$!(!?(%&(/.$!0%!(!502'"(2",! !B$!3&3!"#&'!7(2"02.6!&2!04%!3&'54''&02!01!

"6*$'= ! /4" ! 207 !>(6 ! /$ ! ( ! <003 ! "&>$ ! "0 ! <0 ! 0?$% ! "#$ ! 1&2$% ! *0&2"' ! 01 ! (''&<2>$2"=!

$@*%$''&02'=!(23!0"#$%!142!*(%"6!<(>$'!7&"#!0/Z$5"',

H2 ! "#$ ! $@(>*.$' ! 10% ! 70%8&2< ! 7&"# ! "#$ ! '"(23(%3 ! 94/6 ! "6*$'= ! H ! 01"$2!

3$>02'"%("$3!?(%&(/.$!(''&<2>$2"!7&"#04"!%$(..6!$@*.(&2&2<!$@(5".6!7#("!7('!<0&2<!

02,! !H"!'$$>'!0/?&04'!7#("!7('!<0&2<!02C!.$1"!?(.4$!G(,8,(,!.?(.4$I!&'!'$"!$f4(.!"0!"#$!

?(.4$!01!"#$!%&<#"!?(.4$!G(,8,(, !%?(.4$I,! !N$$>'!.&8$!'$5023!<%(3$!>("#=!%&<#"A! !c4"!

20"&5$!"#("!H!'(&3!%$1$%$25$!&2!"#$!*%$?&04'!*(%(<%(*#,! !g(%&(/.$'!(%$=!&2!$.$>$2"(%6!

"$%>'=!2(>$'!10%!?(.4$'!"#("!.&?$!&2!"#$!>$>0%6!01!604%!50>*4"$%,!!H2!94/6=!?(%&(/.$'!

*0&2"!"0!(!.05("&02!&2!>$>0%6,!!H1!604!*0&2"!(!*0&2"$%!"0!(20"#$%!*0&2"$%=!604%!*0&2"!"0!

"#$!'(>$!.05("&02!&2!>$>0%6,

H1!604!302;"!%$(..6!<$"!&"=!*$%#(*'!(2!$@(>*.$!7&..!70%8!(!.&"".$!/$""$%!"0!&..4'"%("$!7#("!

%$1$%$25$'!>$(2!&2!*%(5"&5$C

!2)&.52($.(6'-78!!!!)

!"#$%&'E)'F4%"426&7'47'%&/&%&+<&7:''G,$%'<,98$;&%H7'9&9,%3'6,,?7'7$78"<",$763'6"?&'4'#%,$8',/'<"%<6&7:

Page 38: Humble Little Ruby Book

&%!24e16!(E(@%(8+.,(6(!-&-!-5*-@

"((%(8+.,(6(!-&-!-5*-

2-*+5,e16!(E(&%!24e16!

"((%(8+.,(6(!-&-!-5*-

2-*+5,e16!/*8+3\((Q(T8+32(+&&(48-(.624(*86!6*4-!(+&(48-(24!%5=

"((%(8+.,(6(!-&-!-5*

&%!24e16!

"((%(8+.,(6(!-&-!-5*

B(&"!(!'$5023E! !H!>03&1&$3!2-*+5,e16!E! !B#6!&'!&%!24e16!!3&11$%$2"!207A! !-#&'!"#$!

7#$%$!"#$!&3$(!01!(!%$1$%$25$!50>$'!&2"0!*.(6C!?(%&(/.$'!(%$!20"!0/Z$5"'!/4"!%$1$%$25$'!

G0%!*0&2"$%'I!"0!0/Z$5"'!7#&5#!.&?$!&2!"#$!>(<&5(.!$"#$%!/$6023!G0%!"#$!#$(*P!7#("$?$%!

604 !8&3' ! 5(.. ! &" ! 207(3(6'I, ! !9$1$%$25$' ! G(23= ! &2 ! "4%2= ! ?(%&(/.$'I !>$%$.6 !*0&2" ! "0!

0/Z$5"'P ! "#$6 ! 30 ! 20" ! #0.3 ! "#$ ! (5"4(. ! 0/Z$5"' ! "#$>'$.?$', ! !B#$2 ! 604 ! %$1$%$25$ ! (!

%$1$%$25$=!&"!30$'!20"!34*.&5("$!"#$!0/Z$5"C!/0"#!%$1$%$25$'!*0&2"!"0!"#$!'(>$!0/Z$5",!!H1!

604!7(2" !"0' 34*.&5("$ ! "#$!0/Z$5" !G&,$, !5%$("$!(20"#$% !50*6!01 ! "#$!0/Z$5" ! &2 !(20"#$%!

0/Z$5"!%("#$%!"#(2!'&>*.6!%$1$%$25&2<!&"I=!604!5(2!4'$!"#$!/*.+5-(0%!/,"3!>$"#03!02!

0/Z$5"'!7#&5#!011$%!&",

B#&.$ ! (''&<2>$2" ! 01 ! "#$ ! %?(.4$F&2"0F.?(.4$ ! '0%" ! &' ! '&>*.$ ! $204<# ! "0!

423$%'"(23!34$!"0!&"'!%$(3(/&.&"6=!"#$%$!(%$!0"#$%!10%>'!01!(''&<2>$2"!(23!(..!>(22$%'!

01!/&"!"7&33.&2<!(23!/&2(%6!/%4#(#(!604!5(2!*4..!02!?(%&(/.$',! !b2$!'45#!%4584'!604!

5(2!'"&%!4*!&'!5#(&2&2<!(''&<2>$2",! !H2!(!20%>(.!(''&<2>$2"=!"#$%$!&'!02$!.?(.4$!(23!

%?(.4$P ! (1"$% ! "#$ ! (''&<2>$2" ! "#$ ! .?(.4$ ! $f4(.' ! "#$ ! %?(.4$, ! ! B#$2 ! 604 ! 5#(&2!

(''&<2>$2"'!"#04<#=!>(<&5!#(**$2'!G7$..=!20"!%$(..6I,!!Q0%!$@(>*.$C

.-&4(E(j "((j

.-&4(E()%,,.-(E(k "((k

.-&4 "((k

)%,,.- "((k

H2!"#&'!$@(>*.$=!"#$!5#(&2&2<!%$'4."'!&2!"70!.?(.4$'!(23!02$!%?(.4$,! !-#&'!'$$>'!"(>$!

(23!*%(5"&5(. !$204<#P!&1 !604!2$$3!"0!(''&<2!"70!?(%&(/.$'!"#$!'(>$!?(.4$=!604!Z4'"!

*.(5$!"#$>!('!.?(.4$'!"0!"#$!3$'&%$3!%?(.4$,!!B#$%$!&"!5(2!<$"!5%(L6!&'!4'&2<!'0>$"#&2<!

.&8$!"#&'!'"("$>$2"C

4(E(8(E(%(E(2(E(%(E(2(E(*(E(!(E(6(E(9(E($(E(:mm

"((:mm

[07!$?$%6!?(%&(/.$!"0!"#$!.$1"!01!"#$!1&2(.!%?(.4$!G!4B(8B(%B(2B(%B(2B(*B(!B(6B(9B(

!($"#+,-,./-/0-/1.-2+345-67458.-9:mm:;--<108=1-+/-,..>,-5+?.-455-/1.-746+4@5.,-46.-@.+3=-

,./-+3-A46455.5B-+3-4C/845+/D-E8@D-4,,+=3,-/1.>-F06?+3=-260>-6+=1/-/0-5.2/-9+;.;-$-+,-,./-

/0-)**B-9-+,-,./-/0-$B-43G-,0-03:;--E8@D-G0.,-022.6-,.//+3=-746+4@5.,-+3-A46455.5B-@8/-+/-+,-

4CC0>A5+,1.G-8,+3=-4-,5+=1/5D-G+22.6.3/-206>H

!!!!!!2)&.52($.(6'-78

Page 39: Humble Little Ruby Book

3:B(3X(E(:B(X "((o:B(Xp

3: (( "((:

3X "((X

[0"$!"#("!94/6!%$"4%2'!(2!(%%(6!01!"#$!(''&<2$3!?(.4$',! !-#&'!10%>!&'!(!<%$("!>$"#03!

10%!'7(**&2<!"#$!?(.4$'!01!?(%&(/.$'!G'&25$!"#$6!(%$!(5"4(..6!'$"!&2!*(%(..$.I,! !:04!5(2!

(.'0!>(8$!4'$!01!"#&'!10%>!7&"#!(2!(%%(6C

!16."-(E(m "((m

6B(#(E(!16."- "((m

6 "((m

# "((5%.

!16."-(E(o:B(XB(ZB(<B(jp "((o:B(XB(ZB(<B(jp

6B(#(E(!16."- "((o:B(XB(ZB(<B(jp

6 "((:

# "((X

\26!(%%(6!5(2!/$!(''&<2$3!"0!(!.&'"!01!?(%&(/.$'P!('!'#072!&2!"#$!$@(>*.$=!94/6!&<20%$'!

(26!$@"%(!$.$>$2"'!&2!"#$!(%%(6!*('"!"#$!24>/$%!01!?(%&(/.$'!'*$5&1&$3!"0!(''&<2!"0,!

-#&'!&'!4'$14.!&1!(!>$"#03!%$"4%2'!(2!(%%(6!/4"!604!302;"!2$5$''(%&.6!2$$3!(26"#&2<!*('"!

"#$!1&%'"!1$7!$.$>$2"',! ![0"&5$!"#("!$(%.&$%! &2!"#$!$@(>*.$!"#("!(26!.?(.4$'!7&"#04"!

50%%$'*023&2<!%?(.4$'!(%$!'&>*.6!'$"!"0!5%.,!!\%%(6'!5(2!(.'0!/$!(''&<2$3!&2!*(%(..$.!&2!

2$'"$3 ! (''&<2>$2"' ! P !94/6 ! &' ! '>(%" ! $204<# ! "0 ! *&58 ! (*(%" ! 604% ! $@*%$''&02' ! &2"0!

&23&?&34(.!0/Z$5"'!(23!"%6!"0!(''&<2!"#$>!G7#&5#!&'!(!/&<!'"$*!4*!1%0>!.(2<4(<$'!.&8$!

)aa!(23!)mI,!!Q0%!$@(>*.$C

6B(F#B(*GB(,(E(:mB(::B(:XB(:Z

"((6(EE(:mB(#(EE(::B(*(EE(5%.B(,(EE(:X

6B(F#B(*GB(,(E(:mB(o::B(:XpB(:Z

"((6(EE(:mB(#(EE(::B(*(EE(:XB(,(EE(:Z

K45#!.&8$ ! "#$!0"#$% ! 10%>!01 !*(%(..$. !(''&<2>$2"= !94/6!'4/'"&"4"$' !5%.! 10% ! .?(.4$'!

7#&5#!30!20"!#(?$!(!50%%$'*023&2<!%?(.4$,!!-#$!1&%'"!$@(>*.$;'!*!30$'!20"!<$"!(''&<2$3!

/$5(4'$!&"!&'!&2!(2!(%%(6!7&"#!#!(23!"#$!50%%$'*023&2<!%?(.4$!&'!20"!(2!(%%(6,! !H2!"#&'!

5('$=!94/6!(''&<2'!"#$!1&%'"!$.$>$2"!"#$!?(.4$,

\20"#$%!10%>!01!%&3&54.04'!%?(.4$!%&<0%>0%(.&"%6!&'!"#$!(33&"&?$!(''&<2>$2"!

0*$%("0% ! GHEI ! (23 ! "#$ ! '4/"%(5"&?$ ! (''&<2>$2" ! 0*$%("0% ! G0EI, ! ! -#$'$ ! 10%>' ! (%$!

'0>$7#(" ! '&>&.(% ! "0 ! G/4" ! (.'0 ! %$*.(5$I ! "#$ !HH! (23 !00! 0*$%("0%' ! '$$2 ! &2 !>(26!

*%0<%(>>&2<!.(2<4(<$',! !-#$ !0E! (23 !HE! 0*$%("0%'!(%$!3$.&<#"14.!*&$5$'!01!'62"(5"&5!

'4<(%!"#("!>(8$!(33&2<!(23!'4/"%(5"&2<!0/Z$5"'!(23!(''&<2&2<!"#$!%$"4%2$3!?(.4$!"0!

"#$!&2&"&(.!0/Z$5"!(!/%$$L$,!!Q0%!$@(>*.$C

.")32(HE(X( Q(.")32(E(.")32(H(X

"((X

!2)&.52($.(6'-78!!!!"

Page 40: Humble Little Ruby Book

3%-(HE(.")32 Q(3%-(E(3%-(H(.")32

"((X

.")32(0E(3%- Q(.")32(E(.")32(t(3%-

"((m

\'!604!5(2!'$$=!"#$'$!'#0%"54"'!(..07!604!"0!(550>*.&'#!"#$!'(>$!"#&2<!&2!(!7#0.$!.0"!

.$''!"6*&2<!G$?$%6!*%0<%(>>$%;'!3%$(>=!%&<#"AI,!!\.'0!20"$!"#("!"#$'$!0*$%("0%'!70%8!

02!>0%$!"#(2!24>/$%'P!(26"#&2<!"#("!4'$'!"#$!a!(23!F!0*$%("0%'!5(2!4'$!"#$>!'&25$!

"#$'$!'62"(5"&5!'4<(%!.4>*'!>$%$.6!7%(*!"#$'$!0*$%("0%',! !-#&'!>$(2'!"#("!(26"#&2<!

"#("!#(**$2'!34%&2<!20%>(.!4'$!01!"#$'$!0*$%("0%'!G&,$,!5$%"(&2!0/Z$5"'!*$%10%>!$@"%(!

70%8!7#$2!(33&2<!0%!'4/"%(5"&2<!"#("!&'!/4&."!&2!0%!"#("!604!'*$5&16I!7&..!'"&..!#(**$2,

B#("!&1 !604!302;" !7(2"!"0!/$!(/.$!"0!(''&<2!"0!(2!0/Z$5"A! !H";'!(!%(%$!5('$!

&23$$3!42.$''!604;%$!"%6&2<!"0!70%8!(!/4<!04"!0%!&1!604!'&>*.6!.&8$!"0!%(&'$!42#$(."#6!

(>042"' ! (2<$% ! 7&"#&2 ! 604%'$.1 ! /$5(4'$ ! 604 ! #(**$2 ! "0 ! /$ ! "#$ ! H25%$3&/.$ ! D4.8,!

Q%$$L&2<!(2 !0/Z$5" ! &' !4'$14. ! &1 ! 604% !*%0<%(>! &' !(5"&2< !70286 !(23 !'*&""&2< !04" !(2!

(/20%>(.!?(%&(/.$=!/4"!1%0>!7#("!604!5(2!'$$=!&"!'#04.3!/$!70%8&2<!20%>(..6,!!N0=!604!

704.3!'&>*.6!&!--9-!"#$!0/Z$5"!("!"#$!.('"!.&2$!01!503$!604!'$$!!/$#(?&2<!20%>(..6C

Q(s+42(+&(*+,-(8-!-///)$e*!69$e+#K-*4(E(78$e,+e$+"e864-e)-D)$e*!69$e+#K-*4/&!--9-

Q(n1-5()+!-(*+,-///)$e*!69$e+#K-*4(E(6#5+!)6.e16."-

"((P$3-n!!+!\((*65L4()+,%&$(&!+9-5(+#K-*4

-#&'!'$$>'!.&8$!(!500.!"%&58!604;3!4'$!01"$2=!/4"!&";'!%$(..6!20",! !H!'4<<$'"!20"!4'&2<!&"!

42.$''!604!(/'0.4"$.6!2$$3!"0!(23!604!#(?$!*$%>&''&02!1%0>!604%!>0>!(23!3(3!1&%'",

\20"#$%!5%(1"6!*&$5$!01!'62"(@!604!>(6!'*0"!7#$2!.008&2<!("!0"#$%'!'04%5$!

503$!0%!$@(>*.$'!&2!/008'!0%!"#$!7$/!&'!'0>$"#&2<!"#("!>(6!.008!.&8$!"#&'C

)$e24!%5=(Eu(>N224!%5=N2>

B#(";'!"#("!"&.3$!10%AE! !\23!7#(";'!7&"#!"#$!'.('#$'!(23!"#$!.&"$%(.!(23!"#$!$'5(*$!

'$f4$25$!04"'&3$!01!(!'"%&2<AE!!-#&'!&'!7#(";'!5(..$3!(!%$<4.(%!$@*%$''&02=!(!*(""$%2!"#("!

&'!4'$3!"0!>("5#!'"%&2<!0%!*0%"&02'!01!'"%&2<'!&2!0%3$%!"0!$@$54"$!'0>$!>(22$%!01!'"%&2<!

>(2&*4.("&02,! !94/6!011$%'!(!?$%6!%0/4'"!%$<4.(%!$@*%$''&02!1(5&.&"6!G7#&5#!7$!7&..!

"045#!>0%$!02!.("$%I=!/4"!%&<#"!207!.$";'!'411&5$!"0!'(6!7#("$?$%!&'!/$"7$$2!"#$!'.('#$'!

7&..!/$!>("5#$3!(23!(''&<2$3!"0!"#$!.?(.4$!7#$2!"#$!Eu!0*$%("0%!&'!4'$3,!!Q0%!$@(>*.$C

)$e24!%5=(E(@)$(24!%5=(%2(.+++++5=@

)$e24!%5=(Eu(>N224!%5=N2> "((X

)$e24!%5=(Eu(>N2> "((X

)$e24!%5=(Eu(>)$> "((m

!#!!!!2)&.52($.(6'-78

Page 41: Humble Little Ruby Book

-#$!*(""$%2!$25.0'$3!&2!"#$!'.('#$'!&'!>("5#$3!"0!"#$!'"%&2<!4'&2<!"#$!EuP!4'&2<!"#("!

*(""$%2= ! "#$ ! &23$@ !01 ! "#$ !1&%'" !>("5#!G&,$, !(2 !0554%%$25$ !01 !( !'"%&2<!>("5#&2<! "#("!

*(""$%2I ! &' ! %$"4%2$3, ! ! H ! %$(.&L$ ! "#&' ! &' ! ( ! %("#$% ! 54%'0%6 ! %423072 !01 !7#(" ! %$<4.(%!

$@*%$''&02'!5(2!30,!H!7&..!3&'54''!"#&'!>0%$!&2!3$"(&.!.("$%!02!&2!"#&'!5#(*"$%=!/4"!10%!

207!H!"#04<#"!&"!/$2$1&5&(.!10%!604!"0!/$!1(>&.&(%!7&"#!"#("!&1!604!'$$!&"!'0>$7#$%$!

/$10%$!604!<$"!"#$%$,

!"#$%&"'()*+ %%

:04!.$(%2$3!(/04"!94/6;'!0/Z$5"!'6'"$>!(23!/4&."F&2!5.(''$',!!:04!.$(%2$3,,,

! "#("!$?$%6"#&2<!&2!94/6!&'!(2!0/Z$5",

! "#("!"#$!/('&5!/4&."F&2!5.(''$'!&2!94/6!(%$!"#$!24>/$%!Gh%'5")!(23!i%=5")I=!

"#$!]4!%5==!"#$!I65=-=!"#$!O!!6$=!(23!"#$!A628,

! "#("!'$""&2<!(!94/6!?(%&(/.$!&'!(5"4(..6!'$""&2<!(!%$1$%$25$!%("#$%!"#(2!(!?(.4$=!

/4"!5(2!/$!'$"!"0!?(.4$'!&1!2$$3$3,

!2)&.52($.(6'-78!!!!$

Page 42: Humble Little Ruby Book

#

<32#*(+$(B.C,(,.CG

[07!"#("!604!(%$!1(>&.&(%!7&"#!'0>$!/('&5!0/Z$5"'!(23!#07!"0!>(2&*4.("$!"#$>!(!.&"".$!

/&"=!7$!'#04.3!*%0/(/.6!>0?$!02!"0!'$<>$2"&2<!604%!503$P!'4%$.6!604!3&32;"!"#&28!"#("!

(**.&5("&02'!%(2!&2!02$!#4<$!5#428!01!503$E!!H"!704.3!/$!'&..6!&1!604!#(3!"0!%$*$("!$?$%6!

*&$5$!01!503$!604!7(2"$3!"0!4'$!(<(&2!0%!70%%6!502'"(2".6!(/04"!&1!604!7$%$!'"0>*&2<!

02!(!?(%&(/.$!604!4'$3!V+=+++!.&2$'!(<0=!'0!"#$!.(2<4(<$!<$2&4'$'!#(?$!5%$("$3!(!1$7!

7(6'!"0!'$<>$2"!604%!503$,!!

-#$ !>0'" ! 1423(>$2"(. !01 ! "#$'$ ! &' !( !/.058P !/.058' !(%$ ! Z4'" !*&$5$' !01 !503$!

'$<>$2"$3!(7(6!1%0>!"#$&%!502"$@"!/6!(2!&2&"&("0%!(23!"#$!$23!8$670%3,!!-#$!&2&"&("0%!

504.3!/$!"#$!#-=%5!8$670%3!G7#&5#!H!7&..!4'$!('!(2!$@(>*.$!#$%$I!0%!'0>$"#&2<!.&8$!%&(

0%!&+!!G7#&5#!604!7&..!.$(%2!(/04"!&2!"#$!2$@"!'$5"&02I,!!-0!5%$("$!(!/.058!01!503$=!604!

'&>*.6!*.(5$!"#$!&2&"&("0%!02!(!.&2$!10..07$3!/6!(26!2$$3$3!%$f4&%$>$2"'!G7#&5#!(%$!

20"#&2<!10%!"#$!#-=%5!8$670%3I=!10..07$3!/6!"#$!503$!604!7&'#!"0!*.(5$!&2!"#$!/.058=!

(23!$23$3!/6!"#$!-5,!8$670%3!GH;>!'4%$!"#("!02$!7&..!/$!#(%3!"0!%$>$>/$%,,,I,!!D$%$;'!

(2!$@(>*.$C

#-=%5((3"42(@VL)(%5(6(#.+*?/@((3"42(@]4%..(48-!-///@((3"42(@]4%......(%5(8-!-///@((3"42(@JvB(VL)(,+5-/@-5,

_'&2<!( !#-=%5>-5,! /.058!/6!&"'$.1!%$(..6!30$'2;"!(110%3!604!(26"#&2<!$@5$*"!"0!'#07!

"#("!&"!&'!'$*(%("$!1%0>!&"'!502"$@"=!/4"!"#$6!5(2!*(&%$3!7&"#!(23!>$'#$3!&2"0!?(%&04'!

502'"%45"'!"0!(5#&$?$!3&11$%$2"!%$'4."',! !H;..!"045#!02!(!.0"!01!"#$'$!502'"%45"'!&2!"#&'!

'$5"&02!(23!.("$%!02!7#$2!H!"(.8!(/04"!4'&2<!/.058'!>0%$!$11$5"&?$.6!G&";'!(!#00"2(226!

"%4'"!>$EI,

0F75?Q9

H2!"#$!$@(>*.$'!(/0?$=!H;?$!/$$2!%("#$%!.&/$%(.!&2!>6!4'(<$!01!>$"#03'!7&"#04"!>45#!

$@*.(2("&02, ! ! H1 ! 0/Z$5"'`?(%&(/.$' ! (%$ ! "#$ ! 2042' ! 01 ! *%0<%(>>&2<= ! "#$2 !7$ ! 504.3!

!%!!!932#*(+$(:.;,(,.;<

Page 43: Humble Little Ruby Book

3$'5%&/$ !>$"#03' !(' ! "#$ !?$%/'P !>$"#03' ! J30 ! '"411,J ! ! H2 !>0%$ ! "$5#2&5(. ! .(2<4(<$=!

>$"#03'!(%$!*&$5$' !01 !503$!"#("!(%$!5(..$3 !1%0>!7&"#&2 !0"#$% !503$!4'&2<!?(%&(/.$'!

5(..$3!*(%(>$"$%'!G(.'0!82072!('!(%<4>$2"'!0%!0*"&02'I!1$3!"0!"#$>!1%0>!"#$!5(..&2<!

503$,! !-#&28!01!"#$>!('!#-=%5>-5,!/.058'!"#("!5(2!/$!5(..$3!(%/&"%(%&.6,! !B#$2!H!'(6!

(%/&"%(%&.6= ! H !>$(2 ! "#(" ! "#$6 ! 5(2 ! /$ ! 5(..$3 ! (267#$%$= ! (26"&>$, ! ! -#$%$ ! &'2;" ! ( ! '$"!

J>$"#03J!/.058!"#("!(..!>$"#03!5(..'!.&?$!&2,! !H!%$(.&L$!"#&'!/4'&2$''!7&"#!*(%(>$"$%'!

(23!'45#!'0423'!( ! .&"".$ !50214'&2<= !/4" !7$;?$ !(.%$(36!'$2" !*(%(>$"$%' ! "0!>$"#03'!

7#$2!7$;?$!'$2"!"$@"!"0!3"42!0%!(!'"%&2<!"0!*8+3\,!!B$;?$!(.%$(36!/$$2!30&2<!&"!7&"#04"!

$?$%!'(6&2<!7$!7$%$E!!H!'.&**$3!&"!%&<#"!&2!"#$%$!02!604P!H;>!(!'>00"#!5%&>&2(.=!H!8207,!

B#$2!>$"#03'!(%$!5(..$3!&2!94/6=!604!(%$2;"!"$5#2&5(..6!J5(..&2<J!(!>$"#03!

G$?$2!"#04<#!"#("!"$%>&20.0<6!&'!01"$2!4'$3!"0!3$'5%&/$!&"I,!!:04!(%$!(5"4(..6!'$23&2<!(!

>$''(<$!"0!(2!0/Z$5"!'(6&2<=!JD$6E!!]0!604!#(?$!"#&'!>$"#03AJ!!H1!"#$6!30=!"#$!>$"#03!

&'!$@$54"$3P!&1!"#$6!30!20"=!(! ![0K$"#03^%%0%!&'!"#%072!(23!"#$%$!&'!>45#!7$$*&2<!

(23!<2('#&2<!01!"$$"#,!JY%$("=!J!604!'(6,!!Jc4"!7#("!(%$!>$"#03'!10%A!!N4%$=!604!5(2!

4'$!"#$>!"0!;30!'"411=;!/4"!&'!"#$%$!(!;/&<<$%;!*4%*0'$!10%!"#$>AJ!!b1!504%'$,

K$"#03'!(%$!4'$3!"0=!1&%'".6=!%$>0?$!%$3423(256,! !Q0%!$@(>*.$=!&"!704.3!/$!

'&..6!"0!"6*$!"#$!'(>$!TW!.&2$'!01!503$!0?$%!(23!0?$%!(<(&2!&1!604!7$%$!<0&2<!"0!/$!4'&2<!

"#$>!(..!"#%04<#!604%!(**.&5("&02,!!:04!5(2!Z4'"!5%$("$!(!>$"#03!(23!5(..!&"!7#$%$?$%!

604!2$$3!&",!!K$"#03'=!'$5023.6=!(..07!604!"0!'$<>$2"!604%!503$!/$""$%,!!K(&2"(&2&2<!(!

WW+! .&2$ !*&$5$ !01 !503$! &' !2$?$% ! 142 ! 10% !(2602$ !G$@5$*" !$@"%$>$.6 !'$.1F3$*%$5("&2<=!

(/4'&?$= !>('05#&'"&5 ! 5%(L6 !<46'= !/4" ! "#0'$ !<46' !70%8 !0?$% ! &2 !(55042"&2< ! %&<#"AIP!

>$"#03' !(..07!604 ! "0 ! '*.&" !4* !(.. ! "#$ ! .0<&5 ! &2 ! "#(" !#4<$ !>$'' ! &2"0 ! '>(..$%= !>0%$!

>(2(<$(/.$!5#428',!!

!"#$%$%&'(")*+,-

H;>!'4%$!604!(%$!<%07&2<!%("#$%!(2@&04'!&2!(2"&5&*("&02!01!/$&2<!(/.$!"0!5%$("$!604%!

072!'#&26!2$7!>$"#03',! !B$..=!7(&"!20!.02<$%!>6!&>*$"404'!1%&$23E! !D$%$!&'!"#("!

7#&5#!604!3$'&%$C

932#*(+$(:.;,(,.;<!!!!&

!"#$%&'I)'J466"+#',/'9&;0,57:''K;H7'9$<0'6"?&'8"#'<466"+#@',+63'&6&<;%,+"<:

Page 44: Humble Little Ruby Book

,-&()$e5-7e)-48+,F56)-G((3"42(@8-$B(@(H(56)-(H(@B(48%2(%2()$(5-7()-48+,///@-5,

)$e5-7e)-48+,FL)6=5"2LG

"((8-$B()6=5"2B(48%2(%2()$(5-7()-48+,///

\!>$"#03!&'!3$1&2$3!/6!$2"$%&2< !,-&! 10..07$3!/6!"#$!>$"#03!2(>$!(23!*(%(>$"$%'!

G&,$,!?(%&(/.$'!*(''$3!&2"0!(!>$"#03!"0!/$!4'$3!7&"#&2!"#("!>$"#03=!%$>$>/$%AIP!"#$!

10..07&2<!.&2$'!'#04.3!502"(&2!"#$!3$'&%$3!>$"#03!503$!$23$3!/6!"#$ !-5,! 8$670%3,!

-#(";'!&"P!'&>*.$!$204<#=!%&<#"A!!

B$..= ! "#$%$;' !( !/&" !>0%$ ! "0 !>$"#03'! "#(2!"#(", ! !Q&%'"= !604% !>$"#03!2(>$!

'#04.3!G/6!502?$2"&02=!01!504%'$I!'"(%"!7&"#!(!.07$%5('$!.$""$%!G(23!*%$1$%(/.6!/$!(..!

.07$%5('$I, ! !-#$!%$('02!10%! "#&' ! &' ! "#(" !94/6!"#&28'!"#(" ! "#&2<'!"#("!'"(%" !7&"#!(2!

4**$%5('$!.$""$%!(%$!502'"(2"'!(23!5.(''$'!%("#$%!"#(2!>$"#03'P!"#&'!504.3!5(4'$!'0>$!

%("#$% ! %('5(..6 ! /$#(?&0% ! 1%0> ! 604% ! (**.&5("&02, ! !B#&.$ !7$ ! (%$ ! 02 ! "#$ ! '4/Z$5" ! 01!

502?$2"&02=!"#$%$!(%$!0"#$%!502?$2"&02'!"#("!*$%"(&2!"0!"#$!2(>$!01!>$"#03',!!Q&%'".6=!

&1!&"!&'!f4$%6&2<!(2!(""%&/4"$=!&"!'#04.3!$23!&2!(!f4$'"&02!>(%8P!10%!$@(>*.$=!&1!604!7$%$!

"0 !7%&"$ ! ( !>$"#03 ! "0 ! <$" ! "#$ ! 24>/$% ! 01 ! Q%$25# !>&.&"(%6 ! ?&5"0%&$'= ! 604 ! 504.3 ! 30!

'0>$"#&2<! .&8$ !h!65*-/862e)%.%46!$e1%*4+!%-2D, ! !-#&' !704.3= !01 !504%'$= ! %$"4%2!

&6.2-,!!\20"#$%!502?$2"&02!"0!10..07!&'!"#("!&1!"#$!>$"#03!>03&1&$'!&"'!%$5$&?$%!&2!*.(5$!

G&,$, ! "#$ ! >$"#03 ! >03&1&$' ! "#$ ! 0/Z$5" ! "#(" ! 5(..$3 ! &"I= ! "#$2 ! &" ! '#04.3 ! $23 ! &2 ! (2!

$@5.(>("&02 !*0&2"P ! 10% ! $@(>*.$= ! .$";' ! '(6 !604 !7$%$ ! %$*.(5&2< ! "#$ !$@&'"&2< ! ! 56/0%<!

'01"7(%$!"#("!(..!"#0'$!%0/0"!5$.$/%&"&$'!%42!7&"#!(!2$7!'2(LL6!94/6F/('$3!'6'"$>,!!-0!

$@$54"$ ! (20"#$% ! 1(5$.&1" ! (23 ! >(8$ ! "#$> ! .008 ! S+ ! 6$(%' ! 6042<$%= ! 604 ! 504.3 ! 30!

M+..$ew6!4+5/&6*-.%&4\= !0% ! "0 !'$" ! "#$&% !(<$ ! "0 !(2!(%/&"%(%6 !?(.4$= !604!504.3!5(..!

i+#ei6!?-!/2-4e6=-\FZmG,!

-#$ ! 2$@" ! "#&2< ! 7$ ! '#04.3 ! *%0/(/.6 ! 3&'54'' ! (/04" ! >$"#03' ! (%$ ! "#$!

*(%(>$"$%'!G0%!(%<4>$2"'!0%!7#("$?$%I!"#("!(%$!*(''$3!&2,!!-#$'$!?(%&(/.$'!(%$!*(''$3!

&2"0!"#$!>$"#03!('!.05(.!?(%&(/.$'=!7#&5#!>$(2'!"#$6!(%$!.05(.!(23!4'(/.$!02.6!&2!"#$!

502"$@"!01!"#("!/.058!01!503$!G"#$!>$"#03I,!!-#&'!>$(2'!"#("!"#$!?(%&(/.$'!"#("!5%$("$3!

&2!"#("!/.058!01!503$!(23!&"'!*(%(>$"$%'!(%$!20"!4'(/.$!04"'&3$!01!"#("!/.058!01!503$,!

-#$!.(2<4(<$!"0!$@*.(&2!&"!&'!(!.&"".$!3$2'$=!'0!.$";'!.008!("!(2!$@(>*.$C

,-&()$e)-48+,F&%!24B(2-*+5,G((3"42(&%!24((48%!,(E(2-*+5,((3"42(2-*+5,-5,

)$e)-48+,F@$-2/@B(@5+/@G

"(($-2/

"((5+/

3"42(&%!24

"((\(c6)-n!!+!W("5,-&%5-,(.+*6.(16!%6#.-(+!()-48+,

3"42(48%!,

"((\(c6)-n!!+!W("5,-&%5-,(.+*6.(16!%6#.-(+!()-48+,

!'!!!932#*(+$(:.;,(,.;<

Page 45: Humble Little Ruby Book

[0"&5$!"#("!2$&"#$%!"#$!*(%(>$"$%'!20%!"#$!5%$("$3!.05(.!?(%&(/.$!(%$!(55$''&/.$!04"'&3$!

"#$!>$"#03!42.$''!"#$6!(%$!%$"4%2$3!0%!*(''$3!04"'&3$!01!&"!0"#$%7&'$,!!-#&'!5025$*"!&'!

82072!('!'50*&2<!(23!7&..!50>$!4*!>(26=!>(26!"&>$'!7#&.$!*%0<%(>>&2<!&2!94/6P!H!

7&..!#&<#.&<#"!7#$2!'50*&2<!7&..!/$!(2!&''4$!7&"#!(!2$7!5025$*",! !g(%&(/.$'!5(2!/$!

'50*$3!<.0/(..6=!.05(..6=!5.(''!'50*$3=!$"5,P!(26!/.058!G&25.43&2<!5023&"&02(.!/.058'!.&8$!

%&;'!(23!.00*'I!5(2!#(?$!?(%&(/.$'!"#("!(%$!.05(.!"0!&",!!-#$%$!7&..!/$!>0%$!50?$%(<$!01!

"#&' ! (' !7$ !*%0<%$''= ! /4" ! &";' ! &>*0%"(2" ! "0 ! %$>$>/$% ! '50*&2< !7#$2 !70%8&2< !7&"#!

>$"#03'P!&"!5(2!5(4'$!'$?$%$!#$(3(5#$'!&1!604!(%$2;"!5(%$14.,!

N0!207!"#("!604!423$%'"(23!7#("!*(%(>$"$%' !(%$!(23!30= ! .$";' !<$" ! 1(256,!

B#(" ! &1 ! 604 ! 302;" !7(2" ! "0 ! %$f4&%$ ! ( ! 5$%"(&2 ! *(%(>$"$%A ! !b% !>(6/$ ! 604 !7(2" ! (!

*(%(>$"$%!"0!/$!(/.$!"0!"(8$!>(26!*(%(>$"$%',! !B$..=!94/6!5(2!3$.&?$%!02! !/0"#!01!

"#0'$,! !94/6!011$%'!0*"&02(.!*(%(>$"$%'!10%!>$"#03'P!"#$6!(%$2;"!%$(..6!0*"&02(.!'0!

>45#!('!604!5(2!(''&<2!(!3$1(4."!?(.4$!"0!"#$>,!!Q0%!$@(>*.$C

,-&(5-7e)-48+,F6(E(@P8%2@B(#(E(@%2@B(*(E(@&"5@G((3"42(6(H(L(L(H(#(H(L(L(H(*(H(L/L-5,

5-7e)-48+,FLI6%.2LG

"((I6%.2(%2(&"5/

-#&'!"$5#2&f4$!&'!#$.*14.!&1!UUn!01!"#$!"&>$!604;..!/$!4'&2<!"#$!>$"#03!7&"#!(!5$%"(&2!

?(.4$!G$&"#$%!(!*(%(>$"$%!0%!.05(.!?(%&(/.$I!/4"!604!7(2"!"0!/$!(/.$!"0!5#(2<$!"#("!

?(.4$!$?$%6!025$!&2!(!7#&.$, ! !:04!504.3!*(''!&2 !5%.! "0 ! "#$!>$"#03!$?$%6!"&>$!604!

7(2"$3!"0!4'$!"#$!3$1(4."!?(.4$!(23!1&."$%!&"!"#%04<#!(!5#$58!0%!'0>$!#0<7('#!.&8$!"#("=!

/4"!"#("!704.32;"!'(?$!(26!"6*&2<!20%!704.3!&"!>(8$!(26!'$2'$,!!-#&'!.(2<4(<$!1$("4%$!

(..07'!604!'&>*.6!'*$5&16!"#$!*(%(>$"$%'!604!2$$3!(23!.$(?$!"#$!%$'"!('!"#$6!('!(%$P!30!

20"$=!"#04<#=!7#$2!4'&2<!"#&'!1$("4%$!"#("!"#$!*(%(>$"$%'!>4'"!/$!&2!"#$!'(>$!0%3$%!

(23!604!5(2!20"!'8&*!(26!*(%(>$"$%'!&2!"#$!.&'"!G&,$,!&";'!/$'"!"0!*.(5$!"#$!02$'!604!702;"!

/$!$@*.&5&".6!3$1&2&2<!"#("!01"$2!("!"#$!$23!01!"#$!.&'"I,

O(%(>$"$%!.&'"'!5(2!(.'0!/$!?(%&(/.$!.$2<"#P!.$";'!'(6!"#("!604!7(2"$3!"0!5%$("$!

( ! %("#$% ! 502"%&?$3 !>$"#03 ! "#(" ! 04"*4"' ! 604% ! %$.("&02' ! /('$3 ! 02 ! *(%(>$"$%' ! 604!

*%0?&3$,!!-#$!>$"#03!504.3!.008!.&8$!"#&'C

,-&(3!%54e!-.64%+5F!-.64%+5B(Y56)-2G((3"42(@U$(QR!-.64%+5S(%5*.",-W(QR56)-2/K+%5FLB(LGS/@-5,

3!%54e!-.64%+5F@*+"2%52@B(@U+!=65@B(@U%.-2@B(@s%5,2-$@G

"((U$(*+"2%52(%5*.",-W(U+!=65B(U%.-2B(s%5,2-$/

H!504.3!#(?$!*%0?&3$3!(26!24>/$%!01!2(>$'!&2!"#$!.&'"P!/6!*.(5&2<!(2!('"$%&'8!/$10%$!

"#$!&3$2"&1&$%!10%!"#$!.('"!*(%(>$"$%=!604!5(2!"4%2!&"!&2"0!(!?(%&(/.$!.$2<"#!.&'"!G7#&5#!&'!

(5"4(..6!Z4'"!(2!O!!6$!5%$("$3!1%0>!"#$!0/Z$5"'!604!*%0?&3$=!7#&5#!&'!7#6!7$!5(2!4'$!

"#$!K+%5!>$"#03!7&"#!&"I,!!-#&'!"$5#2&f4$!&'!#$.*14.!7#$2!3$(.&2<!7&"#!.&'"'!01!0/Z$5"'!

0%!>(@&>&L&2<!"#$!1.$@&/&.&"6!01!"#$!>$"#03!G&,$,!4'&2<!(!>$"#03!"0!*%05$''!02$!0%!>0%$!

0/Z$5"'!&2!02$!1$..!'700*!%("#$%!"#(2!5(..&2<!"#$!>$"#03!'$?$%(.!"&>$'I,

932#*(+$(:.;,(,.;<!!!!(

Page 46: Humble Little Ruby Book

.-$%&'(")*+,-

[07!"#("!604!8207!#07!"0!5%$("$!>$"#03'=!604!704.3!*%0/(/.6!.&8$!"0!8207!#07!"0!

4'$ ! "#$>!>0%$ ! $11$5"&?$.6 ! G0% ! '&>*.6 !(" ! (..I, ! !\' ! 604 !#(?$ ! '$$2 ! &2 !*%$?&04' ! 503$!

$@(>*.$'=!5(..&2<!(!>$"#03!&'!('!'&>*.$!('!*4""&2<!"#$!>$"#03!2(>$!10..07$3!/6!"#$!

%$f4&%$3!*(%(>$"$%'!G&1!"#$%$!(%$!(26I,!!-#$%$!(%$!>(26!7(6'!"0!10%>("!(!>$"#03!5(..P!

'0>$"&>$' ! ( ! >$"#03 ! >(6 ! 20" ! %$f4&%$ ! (26 ! *(%(>$"$%' ! '0 ! "#$ ! *(%$2"#$'$' ! (23!

*(%(>$"$%' !(%$!20"!2$$3$3, ! !K(26!"&>$'!604!5(2!5(.. !( !>$"#03!7&"#04" !4'&2<!"#$!

*(%$2"#$'$'=!/4"!"#&'!&'!<$2$%(..6!20"!<003!*%(5"&5$!G&";'!'&..6!"0!'(5%&1&5$!%$(3(/&.&"6!

Z4'"!"0!'(?$!"70!8$6'"%08$'!42.$''!604;%$!02.6!*(''&2<!02$!*(%(>$"$%I,! !X$";'!.008!("!

'0>$!$@(>*.$'C

3"42(@s++?()6\((c+(36!-548-2-2\@3"42F@s++?()6\((w6!-548-2-2\@G3"423"42FG

\..!01!"#$!(/0?$!$@(>*.$'!(%$!?(.&3!5(..'!01!3"42,!!!-#$!1&%'"!"70!$@(>*.$'!3$>02'"%("$!

"#$ ! 0*"&02(. ! *(%$2"#$'$' ! 4'(<$P ! "#$ ! '$5023 ! '$" !>$%$.6 ! 3$>02'"%("$' ! "#(" ! 20" ! (..!

>$"#03'!2$$3!*(%(>$"$%',!!]0!20"$!"#("!>0'"!>$"#03'!30!%$f4&%$!*(%(>$"$%'!(23!7&..!

"#%07!(2!O!=")-54n!!+!!&1!"#$6!302;"!<$"!"#$!50%%$5"!24>/$%,

N0!>$"#03'!(%$!<%$("=!%&<#"A!!c4"!#07!30!7$!30!(26"#&2<!7&"#!"#$>A!!B#("!

<003!(%$!"#$6!&1!"#$!?(%&(/.$'!4'$3!&2!"#$>!(%$!4'$.$''!04"'&3$!01!"#$>A!!-#&'!&'!7#$%$!(!

>$"#03!%$"4%2!?(.4$!50>$'! &2"0 !*.(6P !( !>$"#03!(..07'!604!"0 !%$"4%2!02$!0% !>0%$!

?(.4$'!1%0>!7&"#&2!"#$!>$"#03!"0!/$!4'$3!04"'&3$!01!&",!!K$"#03'!(.7(6'!%$"4%2!(!?(.4$=!

/4"!&1!20!?(.4$!&'!$@*.&5&".6!'*$5&1&$3=!"#$!?(.4$!%$"4%2$3!&'!5%.!G$,<,!7#$2!(!>$"#03!&'!

3$1&2$3=!94/6!%$"4%2'!5%.I!0%!"#$!.('"!?(.4$!4'$3!&2'&3$!"#$!>$"#03!G&1!"#("!$@&'"'I,!!Q0%!

$@(>*.$C

,-&(!-4"!5e)-F16."-G((2*+3-,e16."-(E(16."--5,

,-&(-*8+e)-F16."-G((16."--5,

,-&()".4%e!-4"!5((!-4"!5(L)+!-LB(L4865LB(L+5-L-5,

)$e16."-(E(!-4"!5e)-FL48%2(%2(&"5\LG3"42()$e16."-

"((48%2(%2(&"5\

+5-B(47+B(48!--(E()".4%e!-4"!53"42(+5-(H(48!--

"(()+!-(+5-

H1!20!%$"4%2!'"("$>$2"!&'!*.(5$3!&2'&3$!"#$!>$"#03=!"#$!.('"!?(.4$!4'$3!&2!"#$!>$"#03!&'!

%$"4%2$3P !"#&'!?(.4$!5(2!/$!$&"#$%!(!?(%&(/.$!"#("!#('!/$$2!(''&<2$3!G('!&2!"#$!1&%'"!

$@(>*.$I= !(2 !0/Z$5" ! "#(" ! &' !5%$("$3 !G$,<, !*.(5&2<!( !'"%&2<! .&"$%(. !02 !( ! .&2$ !/6 ! &"'$.1!

/$5(4'$!"#("!5%$("$'!(!]4!%5=!0/Z$5"I=!0%!(26!0"#$%!0/Z$5"!"#("!&'!%$1$%$25$3!&2!"#$!.('"!

.&2$!01!"#$!>$"#03!G('!&2!"#$!'$5023!$@(>*.$I,!!-#&'!>$(2'!"#("!(!!-4"!5!50>>(23!0%!

"*!!!932#*(+$(:.;,(,.;<

Page 47: Humble Little Ruby Book

1&2(.!%$1$%$25$!&'2;"!%$f4&%$3!&1!"#$!.('"!?(.4$!4'$3!&'!"#$!?(.4$!604!704.3!.&8$!"0!%$"4%2!

G('!&2!"#$!1&%'"!$@(>*.$IP!&1!"#&'!&'!20"!"#$!5('$=!"#$!'$5023!$@(>*.$!3$>02'"%("$'!"#$!

4'(<$ ! 01 ! "#$ ! 1&2(. ! %$1$%$25$ !>$"#03 ! 01 ! %$"4%2&2< ! ( ! ?(.4$ ! (23 ! "#$ ! .('" ! $@(>*.$!

3$>02'"%("$'!4'(<$!01!"#$!%$"4%2!'"("$>$2",! !-#$!.('"!$@(>*.$!3$>02'"%("$'!4'&2<!

%$"4%2!(23!#07!604!5(2!(''&<2!?(%&(/.$'!&2!*(%(..$.!G.&8$!3&'54''$3!&2!"#$!'$5"&02!02!

?(%&(/.$!(''&<2>$2"I!7&"#!>$"#03!%$"4%2'P!'&25$!&"!&'!'&>*.6!*0*4.("&2<!(2!(%%(6!"#("!

&' !50..$5"$3!1%0>!"#$!.?(.4$'!604!'*$5&16= !604!5(2!(.'0!4'$!"#&'!>$"#03!"0!*0*4.("$!

(%%(6',

<@?KR9(6>Q(w!+*(?<SFK79

H!>$2"&02$3!/.058'!$(%.6!&2!"#&'!5#(*"$%=!/4"!H;3!.&8$!"0!50?$%!"#$>!>0%$!&2!3$*"#!207,!

c.058'!(%$!(!?$%6!*07$%14.!5025$*"!&2!94/6=!/4"!?$%6!50214'&2<!10%!"#$!2$750>$%=!'0!

'0>$!3&'54''&02!&'!&2!0%3$%,! !H2!94/6=!(!/.058!&'!(2!0/Z$5"!"#("!502"(&2'!'0>$!94/6!

503$!(.02<!7&"#!"#$!502"$@"!2$55$'(%6!"0!$@$54"$!&",!!H"!30$'2;"!>(8$!'$2'$!"0!'(6!"#("!(!

503$!/.058!&'!(2!0/Z$5"=!/4"!%$>$>/$%!"#("!$?$%6"#&2<!&2!94/6!&'!(2!0/Z$5",!!!

/0+12'/3-$1-

H!'(&3!$(%.&$%!"#("!/.058'!(%$!'&>*.6!503$!7%(**$3!&2!(!30`$23!502'"%45"=!/4"!"#$6!<0!(!

.&"".$!14%"#$%!"#(2!"#(",!!c.058'!5(2!/$!502'"%45"$3!&2!(!24>/$%!01!7(6'=!(23!&2!30&2<!

'0=!5%$("$!(2!0/Z$5"!"#("!#0.3'!503$!"#("!5(2!/$!*(''$3!"0!>$"#03'!0%!#$.3!&2!?(%&(/.$',!

O4"!'&>*.6=!(!94/6!503$!/.058!&'!>45#!.&8$!(!>$"#03!7&"#04"!(!2(>$!"(<<$3!02!&",!

O$%#(*'!"#&'!7&..!>(8$!(!.&"".$!>0%$!'$2'$!&1!604!"#&28!01!"#$>!('!/$&2<!?$%6!'&>&.(%!"0!

);' ! 1425"&02 ! *0&2"$%'= ! )aa;' ! 1425"&02 ! 0/Z$5"'= ! O6"#02;' ! .(>/3(' ! (23 ! .&'"!

50>*%$#$2'&02'= !O$%.;' ! (2026>04' ! 1425"&02'= ! M(?(;' !(2026>04' ! &22$% ! 5.(''$'= !0%!

$?$2!5.0'$%=!N>(.."(.8;'!0%!X&'*;'!/.058',!H1 !604;?$!4'$3!(26!01!"#$'$!.(2<4(<$'!(23!

202$ !01 ! "#0'$ !'0423! 1(>&.&(% ! "0 !604= ! "#&' ! &'2;" !?$%6 !4250>>02C ! "6*&5(..6 ! "#$6 !(%$!

'#422$3!/6!(..!/4"!$@*$%"'!&2!"#$!.(2<4(<$,!!Q0%"42("$.6!10%!604=!H;>!<0&2<!"0!>(8$!604!

.$(%2!(/04"!"#$>!G"#$6;%$!(2!&>*0%"(2"!5025$*"!&2!(26!.(2<4(<$EI=!(23!$?$2!&1!604!

302;"!7(2"!"0!.$(%2!(/04"!"#$>=!"00!/(3C!604!5(2;"!7%&"$!94/6!7&"#04"!"#$>,

X$";'!"(8$!(!.008!("!(!'&>*.$!4'(<$!01!/.058'C!>$"#03!*(%(>$"$%',! !\!.0"!01!

>$"#03'!"(8$!/.058'!('!*(%(>$"$%'=!'0!.$";'!.008!("!02$!01!"#0'$!207,

)$6!!6$(E(^7R+5-(47+(48!--(&+"!S)$6!!6$/-6*8(Rx-.-)-54x(3!%54(@o@(H(-.-)-54(H(@p///(@(S

"((o+5-p///(o47+p///(o48!--p///(o&+"!p///(

-#&' ! '2&**$" ! '&>*.6 ! &"$%("$' ! (2 ! (%%(6 !4'&2< ! "#$ !-6*8! >$"#03 !(23 !*(''$' ! &2 ! $(5#!

$.$>$2"!"0!"#$!503$!/.058P!"#$!503$!/.058!5(2!"#$2!"%$("!"#("!$.$>$2"!('!(2!J(%<4>$2"J!

(23!0*$%("$!&"!>45#!.&8$!604!704.3!(!>$"#03!(%<4>$2",!!-#$!503$!/.058!&2!"#&'!5('$!&'!

10%>$3!4'&2<!/%(5$'P!"#&'!&'!(20"#$%!7(6!0"#$%!"#(2!"#$!,+`-5,!50>/&2("&02!"#("!604!

5(2!10%>!(!503$!/.058,!!\."#04<#!&"!.008'!.&8$!604;%$!4'&2<!"#$!-6*8!>$"#03!"0!J0*$2J!

(!503$!/.058=!604;%$!(5"4(..6!*(''&2<!"#("!/.058!01!503$!&2!('!(!*(%(>$"$%!"0!"#$!-6*8(

>$"#03,! !H1!604;%$!50>*.$"$.6!.0'"=!*$%#(*'!/%$(8&2<!3072!"#&'!$@(>*.$!7&.. !5.(%&16!

932#*(+$(:.;,(,.;<!!!")

Page 48: Humble Little Ruby Book

"#&'!$@(>*.$!(!.&"".$!>0%$,!!H1!604!<$"!"#$!5025$*"=!'8&*!"#$!2$@"!*(%(<%(*#P!&";..!Z4'"!/$!

%$3423(2",

X$";'!"(8$!"#$!10..07&2<!.&2$!01!503$!(*(%"!(23!.008!("!$(5#!*(%"!01!"#&'!5(..!

'$*(%("$.6,

)$6!!6$/-6*8(Rx-.-)-54x(3!%54(@o@(H(-.-)-54(H(@p///(@(S

B$!1&%'"!5(..!"#$!-6*8!>$"#03!02!"#$!(%%(6!0/Z$5"!)$6!!6$,!!-#&'!>$"#03!"(8$'!(!/.058!

('!(!*(%(>$"$%P!"#("!&'!"0!'(6!"#("!&"!"(8$'!(!*(%(>$"$%!7#&5#!&'!(!/.058!01!503$!"#("!&"!

7&..!$@$54"$,! !-#&'!/.058!&'!?$%6!'&>&.(%!"0!"#$ !#-=%5`-5,! /.058'!7$!'(7!$(%.&$%P!7$!

504.3!%$7%&"$!"#$!(/0?$!503$!('!10..07'!&1!7$!7(2"$3!"0,!!

)$6!!6$/-6*8(,+(x-.-)-54x((3!%54(@o@(H(-.-)-54(H(@p///(@-5,

[0"&5$!"#("!"#$!/%(5$'!(%$!'&>*.6!%$*.(5$3!/6 !,+`-5,, ! !c0"#!20"("&02'!30!"#$!'(>$!

"#&2<=!/4"!"#$!/%(5$!20"("&02!G&,$,=!R(SI!&'!>0%$!5025&'$!(23!>(8$'!>0%$!'$2'$!&1!604!

02.6 !#(?$!( ! .&2$!0% ! "70!01!503$, ! !\" !( !5$%"(&2!*0&2"! &2 ! "#&' !>$"#03!G7#&5#!7&.. !/$!

3&'54''$3!.("$%!7#$2!7$!"(.8!(/04"!#07!"0!4'$!/.058'!&2!604%!072!>$"#03'I=!"#$!503$!

"$..' !94/6!"0!*(''!(!*(%(>$"$% !"0! "#$!/.058!(23!%42!"#$!/.058,! !94/6!30$'!'0!(23!

%$"4%2'!"#$!?(.4$!01!"#$!/.058!503$!G&1!"#$%$!&'!02$I!>45#!.&8$!&"!%$"4%2'!"#$!?(.4$!01!(!

>$"#03,!!X$";'!?&'4(.&L$!"#&'!1.07!01!502"%0.!Z4'"!"0!3%&?$!"#$!5025$*"!#0>$,

H1!604!'"&..!302;"!<$"!&"=!604!2$$3!"0,!!Y0!?&'&"!'0>$!01!"#$!.&28'!&2!\**$23&@!\!423$%!"#$!

]054>$2"("&02!'$5"&02P!'$(%5#!02!Y00<.$P!?&'&"!'0>$!01!"#$!/.0<'!02!"#$!(<<%$<("0%'!

423$% ! "#$ ! 94/6 ! X(2<4(<$ ! '$5"&02 ! 01 ! \**$23&@ ! \, ! ! N0>$02$= ! '0>$7#$%$ ! #('!

$@*.(&2$3!"#&'!5025$*"!&2!(!7(6!"#("!604!5(2!423$%'"(23!&1!H!#(?$2;"P!H!704.32;"!3%&?$!

"#&'!5025$*"!#0>$!('!>45#=!$@5$*"!"#("!&";'!(!?$%6!500.=!4'$14.=!*07$%14.=!(23!$''$2"&(.!

5025$*"!&2!94/6,!!H1!604!30!<%('*!/.058'=!"#$2!.$";'!>0?$!02!"0!#07!"0!4'$!"#$>!&2!604%!

072!503$,

L3.&1(#,B(<).&*1

-#&28!01!w!+*!0/Z$5"'!('!/.058'!"#("!(%$!*4'#$3!&2"0!?(%&(/.$',!!-#$!3&11$%$25$!/$"7$$2!

"#$>!&'!"#$%$=!/4"!20"!&>*0%"(2"!$204<#!"0!70%%6!(/04"!42"&.!604!2$$3!"0!G(23!604;..!

8207!7#$2!604!30I,!!-#$!*%&>(%6!3&11$%$25$!&'!*$%10%>(25$=!/4"!"#("!7&..!/$!3&'54''$3!

7#$2!7$!%$(5#!"#$!0"#$%!$23!01!"#$!*%0/.$>,

w!+*!0/Z$5"'!(%$!'&>*.6!&2'"(25$'!01!"#$!w!+*!5.(''!"#("!#0.3!(!/.058!01!503$!

"#("!&'!$@$54"(/.$,

)$3!+*(E(w!+*/5-7(Rx65%)6.x(3"42(@V(.+1-(QR65%)6.S\@S)$3!+*/*6..F@365,62@G

"((V(.+1-(365,62\(

"!!!!932#*(+$(:.;,(,.;<

Page 49: Humble Little Ruby Book

\'!604!5(2!'$$=!(!w!+*!&'!5%$("$3!7#$2!"#$!502'"%45"0%!&'!5(..$3!(23!<&?$2!(!/.058!('!(!

*(%(>$"$%,!!-#$!503$!&2!"#$!/.058!&'!"#$2!'"('#$3!(7(6!&2!(!w!+*!&2'"(25$!(23!5(2!/$!

5(..$3!("!(26!"&>$,! !w!+*!0/Z$5"'!(%$!$'*$5&(..6!4'$14.!7#$2!604!7(2"!"0!5%$("$!(!/.058!

01!503$!(23!*(''!&"!(%0423!0%!<$2$%("$!2$7!/.058'!1%0>!"#("!02$,!!-0!5(..!"#$!503$!&2!

"#$!w!+*!0/Z$5"=!'&>*.6!4'$!"#$!0/?&04'.6!2(>$3!*6..!>$"#03!(23!&"!7&..!5(..!"#$!503$!

&2'&3$!"#$!/.058!604!<(?$!&",! !Q0%!$@(>*.$=!.$";'!'(6!"#("!-#$!c&<!-,g,![$"70%8!#('!

50>>&''&02$3!604!"0!7%&"$!(!94/6!'5%&*"!"#("!7&..!3&'*.(6!"#$!>('"#$(3'!10%!"#$&%!2$7!

.&2$4*!01 !'#07'!G7#&5#! &25.43$'!c(2Z0!c&..;' !c%&3<$!c%&<(3$= !)45&2(!H"(.&(2(!7&"#!

9(1($. !9(>&%$L !903%&<4$L !3$ ! M$'4'= ! (23 !O\[]\E>02&4>I, ! !:04 !'&>*.6 !2$$3 ! "0!

3&'*.(6!"#$!"$@"!10%!"#$!'#07!02!"#$!502'0.$!(23!"#$&%!1(256!<%(*#&5'!/(58$23!7&..!30!

"#$!%$'"!G6$(#=!"#$&%!"$5#20.0<6!&' !;04; '(7$'0>$I,! !-#$!02.6!*%0/.$>!&'!"#("!/$5(4'$!

"#$&%!#0'"'!5#(2<$!'0!01"$2!G&,$,!K%,!9(1($.!Z4'"!%$*.(5$3!D0!)#&!K&2#!('!"#$!5#$1!02!

)45&2(!H"(.&(2(!Z4'"!(!>&24"$!(23!(!#(.1!(1"$%!#$!'"(%"$3I=!"#$%$!2$$3'!"0!/$!(!7(6!"0!

'*$5&16!(!'#07!2(>$!'$*(%("$.6!1%0>!"#$!#0'"!2(>$!(23!/$!(/.$!"0!5#(2<$!"#$!#0'"!

2(>$!02!"#$!1.6,!!:04!'(6=!JD$6E!!c.058'!504.3!*0''&/.6!30!"#("EJ

,-&()6?-e28+7e56)-F28+7G((w!+*/5-7(Rx8+24x(28+7(H(@(7%48(@(H(8+24S-5,

28+7:(E()6?-e28+7e56)-F@w!6*4%*6.(T655%#6.%2)@G28+7X(E()6?-e28+7e56)-F@T+4%..%+52(%5(48-(O)69+5@G

28+7:/*6..F@A/(O556#-..-*4+!@G

"(w!6*4%*6.(T655%#6.%2)(7%48(A/(O556#-..-*4+!

28+7X/*6..F@r6*?(A65568@G

"(T+4%..%+52(%5(48-(O)69+5(7%48(r6*?(A65568

28+7:/*6..F@v%!24%-(O..-$@G

"(w!6*4%*6.(T655%#6.%2)(7%48(v%!24%-(O..-$

-#&'!.008'!.&8$!(!"6*&5(.!w!+*!5(..!.&8$!7$!.008$3!("!/$10%$=!/4"!20"&5$!'0>$"#&2<!"#(";'!

<0&2<!02!#$%$,! !B$!1$3!&"!"#$!'#07!2(>$!7#$2!"#$ !w!+*!7('!5%$("$3=!/4"!7$!2$?$%!

>$2"&02$3! &" !(1"$% ! "#(", ! !D07!&' ! "#(" !*0''&/.$A! !B#$2!"#$ !28+7! *(%(>$"$%! 10% ! "#$!

)6?-e28+7e56)-!>$"#03!*(''$3!04"!01!'50*$!G&,$,!"#$!>$"#03!$@&"$3I=!&"!'#04.3!#(?$!

/$$2!3$'"%06$3,! !\#=!/4"!"#&'!&'!02$!01!"#$!/$(4"&$'!01!( !w!+*!0/Z$5"C!&"!*%$'$%?$'!"#$!

502"$@"!&2!7#&5#!&"!7('!5%$("$3!(23!5(2!(55$''!"#("!502"$@"!("!(26!"&>$,! !-#&'!&'!7#6!

04%!'#07!2(>$!7('!*%$'$%?$3!7&"#04"!(26!14%"#$%!$110%"!02!04%!*(%",!!

\20"#$% !7(6 ! "0 !5%$("$ !( !O%05 !0/Z$5" ! &' ! "0 !/&23!( !/.058 !01 !503$ !4'&2<! "#$ ! .(>/3(!

>$"#03P!5(..&2<!"#&'!>$"#03!&'!$''$2"&(..6!$f4&?(.$2"!"0!5(..&2<!w!+*/5-7,

)$3!+*(E(.6)#,6(Rx'x(3"42(@O!=")-54W(QR'S@S

)$3!+*/*6..F@P-'62(&+!-1-!\@G

"(O!=")-54W(P-'62(&+!-1-!\

\'!604!5(2!'$$=!"#$!.(>/3(!1425"&02!7&..!"(8$!(!/.058!01!503$!(23!/&23!&"!"0!(!O%05=!Z4'"!

.&8$!O%05,2$7,!!B#("!5(2;"!/$!'$$2!1%0>!"#&'!$@(>*.$!(%$!'0>$!01!"#$!3&11$%$25$'!"#("!

$@&'",! !Q&%'"!01!(..=!O%05!0/Z$5"'!5%$("$3!7&"#!.(>/3(!#(?$!'"%&5"$%!(%<4>$2"!5#$58&2<!

"#(2!"#0'$!5%$("$3!7&"#!O%05,2$7,

.3!+*(E(.6)#,6(Rx6B#x(3"42(@QR6(H(#S(d0(48-(2")@S53!+*(E(w!+*/5-7(Rx6B#x(3"42(@QR6(H(#S(d0(48-(2")@S

932#*(+$(:.;,(,.;<!!!""

Page 50: Humble Little Ruby Book

53!+*/*6..F:B(XB(ZG

"(Z

.3!+*/*6..F:B(XB(ZG

"(\O!=")-54n!!+!(F7!+5=(5")#-!(+&(6!=")-542(FZ(&+!(XGG

-#$ !w!+*! 0/Z$5" ! 5%$("$3 ! 7&"# !w!+*/5-7! 1425"&02$3 ! 1&2$ ! 7#$2 ! <&?$2 ! "00 ! >(26!

(%<4>$2"'= ! /4" ! "#$ !.6)#6! w!+*! 7&"# ! &"' ![(L&F.&8$ ! (%<4>$2" ! 5#$58&2< ! "#%$7 ! (2!

O!=")-54n!!+!,! !B#("!(!Z$%8,,,Z$$L,! !)%('#&2<!"#$!7#0.$!(**.&5("&02!Z4'"!/$5(4'$!#$!

<0"!;,,'94+3'(%<4>$2"'A!!X(>$,!!N0=!(26#07=!(20"#$%!3&'"&25"&02!/$"7$$2!"#$!"70!&'!

#07!"#$6!502"%0. ! "#$!1.07!01 !604% !(**.&5("&02, ! !b/Z$5"' !5%$("$3!7&"# !.6)#,6! 302;"!

(11$5"!"#$!1.07!01!"#$!(**.&5("&02!04"'&3$!01!"#$!/.058!7#$2!%$"4%2&2<!(!?(.4$P !w!+*(

0/Z$5"'!5%$("$3!7&"# !w!+*/5-7= !02!"#$!0"#$%!#(23=!7&.. !$@&" !"#$&%!$25.0'&2<!>$"#03!

7#$2!%$"4%2&2<,

,-&(3!+*5-7((5-7e3!+*(E(w!+*/5-7(R(!-4"!5(@V(=+4(8-!-///@(S((5-7e3!+*/*6..

((!-4"!5(@///#"4(5+4(8-!-/@-5,

,-&(.6)#,63!+*((5-7e3!+*(E(.6)#,6(R(!-4"!5(@f+"(=-4(8-!-///@(S((5-7e3!+*/*6..

((!-4"!5(@O5,(V(=+4(8-!-\@-5,

3"42(.6)#,63!+*

"(O5,(V(=+4(8-!-\

3"42(3!+*5-7

"(V(=+4(8-!-///

[0"$!"#("!&2!"#$!5('$!01 !3!+*5-7=!"#$!?(.4$!%$"4%2$3!&'!"#$!?(.4$!%$"4%2$3!1%0>!"#$!

/.058,! !-#$ !.6)#6F5%$("$3 !w!+*! 0/Z$5"!'&>*.6!%$"4%2'!&"'!?(.4$!"0!&"'!*(%$2"!>$"#03=!

7#&5#!5(2!"#$2!'"('#! "#$!?(.4$! &2!( !?(%&(/.$ !0% !%$"4%2 ! &" ! &1 ! &" !7(2"' ! "0, !-#&' ! &' !(2!

&>*0%"(2"!3&'"&25"&02!"0!%$>$>/$%=!/$5(4'$!&"!5(2!5(4'$!604!(!.0"!01!#$(3(5#$!&1!604!

(%$!4'&2< !w!+*! 0/Z$5"'!&2!(!>$"#03!(23!604!5(2;"!1&<4%$!04"!7#6!"#$!>$"#03!8$$*'!

/%$(8&2<!GH!'*$(8!1%0>!$@*$%&$25$EI,! ![07' "#("!604!423$%'"(23!#07!"0!70%8!/.058'!

&2"0!604%!503$!4'&2<!w!+*!0/Z$5"'=!.$";'!.008!("!#07!"0!&2"$<%("$!"#$>!&2!"&<#"$%!7&"#!

604%!>$"#03',

<'+)B+,N(<).&*1

-#$%$!(%$!(!1$7!7(6'!"0!<$"!/.058'!"0!70%8!10%!604!&2!604%!>$"#03'P!"#$!1&%'"!7(6!&'!

"#("!604!5(2!*(''!(!w!+*!0/Z$5"!&2!('!(!*(%(>$"$%!Z4'"!.&8$!604!704.3!(26!0"#$%!0/Z$5",!

-#&'!5(2!<$"!"$3&04'=!#07$?$%=!(23=!1%0>!7#("!H!#$(%=!&"!(.'0!#&"'!604%!*$%10%>(25$!

*%$""6!#(%3!GH!704.3!*4"!"#$!#&"!02!(!.$?$.!'0>$7#$%$!/$"7$$2!/$&2<!'.(**$3!7&"#!(!

<%$('6!*&$5$!01!/(502!(23!"#$!%(*"4%$I,!! !Q0%"42("$.6=!94/6!<&?$'!604!(!1$7!7(6'!604!

5(2!*4"!/.058'!"0!70%8!7&"#!>&2&>(.!14''!(23!*$%10%>(25$!3$<%(3("&02,!!H2"$<%("&2<!

/.058'!&2"0!604%!$?$%63(6!503$!4'(<$!&'!f4&"$!'&>*.$P!Z4'"!50>/&2$!&2!(!'*%&28.$!01!

"#!!!932#*(+$(:.;,(,.;<

Page 51: Humble Little Ruby Book

!"#"$%&'(#&)'* + ( + !(,- + ). +!"#$%* + ('! + ( + /&0"$(/ + (11/&2(#&)' + ). + 2/),3$", + &' + ( + ,%(//+

&'#"4$(#"!+!"5"/)1%"'#+!&,-+('!+0(6"+(#+7889+.)$+:;+%&'3#",+)$+3'#&/+2$&,1<

!"#$%&%'()$*&+(,-./0((=3#,&!"+).+#(6&'4+(+>$)2+1($(%"#"$*+?30@+).."$,+)'/@+)'"+)#-"$+

A(@+#)+3,"+0/)26,+(,+1($(%"#"$,*+03#+#-&,+A(@+&,+')#+)'/@+%)$"+&'#3&#&5"*+&#+1"$.)$%,+

0"##"$<+ +B+2(//+#-&,+&%1/&2&#+0/)26+3,(4"+0"2(3,"+@)3+!)'C#+#"//+@)3$+%"#-)!*+DE"@*+BC%+

3,&'4+#-&,+0/)26+-"$"*D+('!+#-"'+2(//+&#+&'+#-"+%"#-)!<++F)3+,&%1/@+@&"/!+2)'#$)/+).+#-"+

2)!"+)5"$+#)+#-"+0/)26G+#-&,+A)'C#+$"(//@+%(6"+,"',"+A&#-)3#+('+"H(%1/"*+,)+/"#+%"+I3,#+

,-)A+@)3+(+,&%1/"+,'&11"#<

%#&'!"#$%(#'')*"+,'-./'0+,#*'(#,12%/'-''!"#$%'')*"+,'-3/'04",'(#,12%/-#+%

!"#$%(#'5')*"+,'-6/'0+,#*'7$289/'-:

!'./'0+,#*'(#,12%/'6/'0+,#*'7$289/'3/'04",'(#,12%/

J)#&2" +A-(# + -(11"', + -"$"< + + K&$,#* + A" + "'#"$ + #-" +%"#-)! + ('! + 1$&'# + )3# + )3$ + .&$,#+

,#(#"%"'#<++L"2)'!*+#-"+@&"/!+%"#-)!+&,+2(//"!*+('!+)3$+0/)26+&,+"H"23#"!<++M-"+#-$"(!+

@&"/!, + 2)'#$)/ + )5"$ + #) + #-" +0/)26 + #"%1)$($&/@G +A-"' + #-" +0/)26 + "H&#,* + #-" + 2)'#$)/ + &,+

$",#)$"!+#)+#-"+0/)26C,+2(//"$<+ +N(,#/@*+#-"+$",#+).+#-"+%"#-)!+&,+"H"23#"!<+ +M-&,+&,+-)A+

#-"+#;81+%"#-)!+)'+($$(@,+#-(#+A"+3,"!+"($/&"$+A)$6,<++N"#C,+,(@+A"+A('#"!+#)+$"A$&#"+

#-(# + %"#-)! + .)$ + ,)%" + $"(,)' + O1"$-(1, + @)3$ + 1"# + $(22))' + A-) + .('2&", + 0)A/"$,+

2)'5&'2"!+@)3+#)+$"A$&#"+&#PG+@)3+2)3/!+3,"+!"#$%+#)+"H"23#"+#-"+0/)26<

%#&'(!#;81<(!;**;!=''",#*'>'?''@1"$#'<",#*'A'(!;**;!/$#+B,1=C''''!"#$%<(!;**;!D",#*E=''''",#*'F>'.'''#+%#+%

,#G,;**;!'>'D.H6H3HIHJE

(!#;81<,#G,;**;!='5K",#(K')*"+,'-L5",#(:C-:

!'.C6C3CICJC

B+$"(/&Q"+#-&,+,'&11"#+%&4-#+0"+(+/&##/"+)5"$+@)3$+-"(!+O",1"2&(//@+#-(#+A-&/"+/&'"RP*+03#+

0"($+A&#-+%"+0"2(3,"+#-&,+&,+(+,&%1/"+"')34-+,'&11"#+#)+3'!"$,#('!<++M-"+A-&/"+0/)26+

2$"(#",+(+/))1*+A-&2-+%"(',+#-(#+A"+"H"23#"+#-"+2)!"+&',&!"+#-"+0/)26+(+'3%0"$+).+

#&%",+O/"($'+%)$"+(0)3#+/))1,+)'+1(4"+;SP<++T5"'+#-)34-+&#+%(@+/))6+2)%1/&2(#"!*+#-"+

,(%"+2)'2"1#+(11/&", +-"$" +(, +0".)$"U + #-"+%"#-)!+@&"/!, +2)'#$)/ + #) + #-"+0/)26< + +M-"+

!&.."$"'2"+-"$"+&,+#-(#+A"+1(,,"!+(+1($(%"#"$+#)+#-"+0/)26+"(2-+#&%"+A"+/))1"!+)5"$+

#-"+2)!"G+#-&,+(//)A,+3,+#)+3,"+5($&(0/",+.$)%+A&#-&'+#-"+2(//&'4+%"#-)!+A&#-&'+#-"+

0/)26+.)$+1$)2",,&'4<++V,&'4+@&"/!+&,+('+"H2"//"'#+A(@+#)+&%1/"%"'#+('+&#"$(#)$+/&6"+#-&,+

.)$+@)3$+)A'+2)//"2#&)',<

120(3"#04-.56(789(:.4."0'04+ +B.+@)3+1$"1"'!+#-"+'(%"+).+#-"+/(,#+1($(%"#"$+).+(+

%"#-)!+A&#-+('+(%1"$,('!*+#-"'+#-"+0/)26+#-(#+&,+1(,,"!+#)+#-"+%"#-)!+A&//+0"2)%"+(+

M*28+ I3,# +(, + &. +@)3 +-(! +1(,,"! + &# +(, +( +1($(%"#"$ +')$%(//@< + +W"//* +')# + 2)%1/"#"/@+

')$%(//@G+&#+!)",+(+."A+#$&26,<

!"#$%&'(&)*+,&,*+-"""!"

Page 52: Humble Little Ruby Book

def ampersand(&block) block.call yieldend

ampersand { print "I'm gettin' called! " }

! I'm gettin' called! I'm gettin' called!

I said it would become a Proc, so you can use call on it, but notice also that yieldworks. This is an interesting and helpful trick, since you may want to use call oryield in different cases.

YOUR OBJECTS LACK CLASS!

As stated (many times) before, everything in Ruby is an object; Ruby, of course, allowsyou to create your own objects through the creation of classes to describe them. Ifyou've programmed in an object oriented language before (like C#, C++, Python, orJava), then the concepts of classes and objects should not be foreign to you, but thereare some distinctions between those languages' implementation of object orientationand Ruby's implementation.

One thing that may seem rather foreign is the way that Ruby handles typingof objects. Languages like C++ or Java operate solely on static (or explicit) typing; thissort of typing requires that each object have its type explicitly defined at compile time(or the compiler will throw an error). I realize that most modern languages that usestatic typing also implement a sort of reflection or some such module that allows youto dynamically load types, but Ruby uses a completely different approach to typing. Ifyou've used Python, you're familiar with the concept of dynamic typing; Ruby usesthis same idea but calls it "duck typing" (which makes it much easier to explain).

36 Break it down now!

Figure 6: Both classes implement a method named sayhello, so they can both respond to themessage. I would like to add that yourclass smells.

Page 53: Humble Little Ruby Book

\20"#$%!5025$*"!"#("!>(6!'$$>!10%$&<2!"0!)aa!0%!ODO!*%0<%(>>$%'!G/4"!

20"!M(?(!0%!)m!*%0<%(>>$%'I!&'!"#$!5025$*"!01!(!.(2<4(<$F7&3$!0/Z$5"!#&$%(%5#6,! !H2!

94/6=!$?$%6!5.(''!&'!(5"4(..6!(2!0/Z$5"!7#&5#!&'!(2!&2'"(25$!01!"#$!T.622!5.(''!7#&5#!&'!

&2!"4%2!3$%&?$3!1%0>!"#$!J#K-*4!5.('',!!B$!5(2!3$>02'"%("$!"#&'!7&"#!503$C

3"42(h%.-/*.622

"((T.622

3"42(h%.-/2"3-!*.622

"((J#K-*4

3"42(J#K-*4/2"3-!*.622

"((5%.

-#$!'4*$%!5.(''!01!(!5.(''!&'!"#$!5.(''!7#&5#!&"!&'!3$%&?$3!1%0>P!&2!94/6=!7$!5(2!'(6!"#("!

5.(''$'!5(2!J&2#$%&"J!1%0>!(20"#$%!5.(''!(..!01!&"'!>$"#03'!(23!?(%&(/.$',!!\'!(!%$'4."=!&1!

(!5.(''!&'!3$%&?$3!1%0>!(20"#$%!5.(''!G&,$,!&"!&2#$%&"'!1%0>!(20"#$%!5.(''I=!&"!#('!(55$''!"0!

(..!01!"#$!'4*$%!5.('';'!>$"#03'!(23!?(%&(/.$',!!-#$!5("5#!&2!94/6!&'!"#("!42.&8$!'0>$!

0"#$%! .(2<4(<$'= !( !5.('' !5(2!02.6 !&2#$%&" ! 1%0>!02$!5.('' !(" !( ! "&>$!G&,$, !( !5.('' !5(2!

&2#$%&"!1%0>!(!5.(''!"#("!&2#$%&"'!1%0>!(20"#$%!5.(''!7#&5#!&2#$%&"'!1%0>!(20"#$%!5.(''=!

/4"!(!'&2<.$!5.(''!5(2!20"!&2#$%&"!1%0>!>(26!5.(''$'!("!025$I,!!\'!7$!5(2!'$$=!"#$!h%.-(

5.(''!&'!Z4'"!(2!&2'"(25$!01!"#$!T.622!5.(''!7#&5#!&2#$%&"'!1%0>!"#$!J#K-*4!5.(''!7#&5#!

&2#$%&"'!1%0>!20"#&2<,! !-#&'!>$(2'!"#("!"#$ !h%.-! 5.(''!#('!(55$''!"0!(..!01 !J#K-*4;'!

>$"#03'!(23!?(%&(/.$'!GZ4'"!.&8$!$?$%6!0"#$%!5.(''I,! !-#&'!(.'0!>$(2'!"#("!"#$!J#K-*4(

5.(''!&'!"#$!0%&<&2!01!(.. !0"#$%!0/Z$5"'P! &" !&'!"#$!\3(>!(23!"#$!^?$=!"#$!)%$("0%=!"#$!

\%5#&"$5"=!"#$!K0"#$%!01!(..!b/Z$5"'!(23!).(''$'E

H;>!'4%$ ! "#&' ! "(.8 !01 !5.(''$' !/$&2<!(2 ! &2'"(25$ !01 !'0>$"#&2<! &' !'0>$7#("!

50214'&2<=!/4"!8$$*!&2!>&23C!$?$%6"#&2<!&2!94/6!&'!(2!0/Z$5",! !^?$%6"#&2<,! !N0!7#$2!

604!3$1&2$!(!5.(''=!604;%$!%$(..6!5%$("&2<!(2!&2'"(25$!01!"#$ !T.622! 5.('',! !B#$2!604!

5%$("$!(!2$7!0/Z$5"!1%0>!(!5.(''=!604;%$!5(..&2<(F*.622(56)-G/5-7!7#&5#!&'!(!>$"#03!

"#("!%$"4%2'!(!2$7!0/Z$5"!&2'"(25$!01!"#$!5.(''!&"!3$'5%&/$',! !^?$%6"#&2<!&2!94/6!&'!(2!

0/Z$5"E

!"#$%$%&'403--"-

N0!.$";'!<$"!"0!&",!!-0!3$1&2$!(!5.(''=!604!*.(5$!"#$!*.622!8$670%3!("!"#$!/$<&22&2<!01!(!

.&2$=!10..07$3!/6!( !d! (23!"#$!5.(''!&"!&2#$%&"'!1%0>!G&1!&"!&2#$%&"'!1%0>!(!5.(''I,! !Q0%!

$@(>*.$C

*.622(U$h%!24T.622(d(J#K-*4-5,

-#(";' ! &"P !7$;?$ ! Z4'" !3$1&2$3!04%!1&%'" !5.('', ! !Y%(2"$3= ! "#(" !7('!"#$!>0'"!502"%&?$3!

$@(>*.$ ! $?$% !*4" ! &2"0 !*%&2" ! (23 ! &" ! %$*%$'$2"' ! ( ! 50>*.$"$.6 !4'$.$'' ! 5.(''= !7$ ! '"&..!

3$1&2$3!(!5.('',!![0"&5$!"#("!H!&23&5("$3!&"!&2#$%&"'!1%0>!J#K-*4=!/4"!"#&'!&'!50>*.$"$.6!

422$5$''(%6P!94/6!7&..!(''4>$!"#("!&1!604!3$1&2$!(!5.(''!7&"#!20!0"#$%!&2#$%&"(25$'!

"#("!604!7&'#!"0!&2#$%&"!1%0>!J#K-*4,

932#*(+$(:.;,(,.;<!!!"&

Page 54: Humble Little Ruby Book

(")*+,-'3%,'536$370"-

).(''$'!5(2!502"(&2!?(%&(/.$'!(23!>$"#03'P!"#$!1&%'"!"#&2<!604!704.3!>0'"!.&8$.6!7(2"!

"0!(33!704.3!/$!(!>$"#03!'0!604!5(2!>(8$!604%!5.(''!30!'0>$!70%8,!!-#$!1&%'"!>$"#03!

7$!'#04.3!(33!&'!"#$!%5%4%6.%9-!>$"#03=!7#&5#!&'!"#$!>$"#03!"#("!94/6!5(..'!7#$2!

604!5(..(F*.622(56)-G/5-7,! !B#$2!604!5(..!"#$!5-7!>$"#03=!(!2$7!0/Z$5"!&'!5%$("$3!

(23!"#$!%5%4%6.%9-!>$"#03!G7&"#!*(%(>$"$%'!*(''$3!1%0>!5-7I!&'!5(..$3!"0!'$"4*!"#$!

0/Z$5";'!'"("$!G&,$,!?(%&(/.$'=!1.(<'=!$"5,IP!"#&'!&'!?$%6!'&>&.(%!"0!G(./$&"!&3$2"&5(.!"0I!0"#$%!

.(2<4(<$;'!502'"%45"0%',! !Q0%!$@(>*.$=!.$";'!'(6!"#("!"#$!c00<$6>(2!#('!3$5&3$3!"0!

<&?$!4*!02!"%6&2<!"0!1%$(8!04"!$?$%6!8&3!&2!"#$!70%.3!G#$;'!%("#$%!0.3=!604!8207I!(23!

&2'"$(3 !/4&.3 ! ( ! %0/0" !(%>6! G%422&2< ! '01"7(%$ !7%&""$2 ! &2 !94/6 !20 ! .$''I ! "0 !30 !#&'!

2$1(%&04'!/&33&2<,! !-#$!&2&"&(.!5.(''!3$1&2&"&02!(23!&2&"&(.&L$!>$"#03!>&<#"!.008!.&8$!

"#&'C

*.622(i++=-$)65((,-&(%5%4%6.%9-((((3"42(@f-2B()624-!D@((-5,-5,

)+524-!:(E(i++=-$)65/5-7

"((f-2B()624-!D

-#&'!>$"#03=!01!504%'$=!30$'!20!%$(.!70%8!0"#$%!"#(2!"0!3$>02'"%("$!"#("!7#$2!604!

5%$("$!(!2$7!0/Z$5"=!"#$!&2&"&(.&L$!>$"#03!&'!5(..$3,!!X$";'!>(8$!&"!30!'0>$!70%8!207C

*.622(i++=-$)65((,-&(%5%4%6.%9-F56)-B(.+*64%+5G((((y56)-(E(56)-((((y.+*64%+5(E(.+*64%+5((((3"42(@f-2B()624-!D@((-5,-5,

)+524-!:(E(i++=-$)65/5-7F@U%24-!(T!--3$@B(@c-7(f+!?B(cf@G

"((f-2B()624-!D

-#&'!2$7!&2&"&(.&L$!>$"#03!'$"'!'0>$!&2'"(25$!?(%&(/.$'!G&,$,!?(%&(/.$'!"#("!(%$!4'$3!

7&"#&2!(2!0/Z$5"!"0!%$"(&2!&"'!'"("$IP!"0!'$"!(2!&2'"(25$!?(%&(/.$=!*%$1&@!"#$!.?(.4$!7&"#!(2!

("!'6>/0.!GyI,!!_2.&8$!0"#$%!.(2<4(<$'=!604!302;"!#(?$!"0!&25.43$!"#$'$!?(%&(/.$'!&2'&3$!

"#$!5.(''!3$1&2&"&02,!!

g(%&(/.$'!'$"!"#&'!7(6!(%$!42&f4$!"0!"#("!*(%"&54.(%! !&2'"(25$P!7$!504.3!'(6!

"#("!"#$6!(%$!&2'"(25$!'50*$3!G&,$,!"#$6!(%$!20"!4'(/.$!04"'&3$!01!"#("!&2'"(25$!42.$''!

"#$6!(%$!*(''$3!04"'&3$!01!&"P!%$>$>/$%!'50*&2<AI,!![0"&5$!"#("!'&25$!y56)-!(23!56)-(

(%$!'50*$3!3&11$%$2".6=!7$!5(2!4'$!34*.&5("$!2(>$'!7&"#04"!(>/&<4&"6!G"#04<#!"#&'!&'!

4'4(..6!20"!(!<003!&3$(I,!!X$";'!5%$("$!(!1$7!>$"#03'!"0!70%8!7&"#!(2!0/Z$5";'!'"("$C

*.622(i++=-$)65((,-&(*865=-e.+*64%+5F5-7.+*64%+5G((((y.+*64%+5(E(5-7.+*64%+5((((3"42(@V()+1-,(4+(QR5-7.+*64%+5S\@((((2-.&/=-4e%5&+((-5,

"'!!!932#*(+$(:.;,(,.;<

Page 55: Humble Little Ruby Book

((,-&(*865=-e56)-F5-756)-G((((y56)-(E(5-756)-((((3"42(@V(286..(#-(*6..-,(QR5-756)-S(&!+)(5+7(+5\@((((2-.&/=-4e%5&+((-5,

((,-&(=-4e%5&+((((3"42(@V(6)(QRy56)-S(%5(QRy.+*64%+5S/@((-5,-5,

)+524-!:(E(i++=-$)65/5-7F@s++3$(s+"@B(@O.#"`"-!`"-B(cU@G

"((f-2B()624-!D

)+524-!:/*865=-e.+*64%+5F@C$+)%5=@G

"((V()+1-,(4+(C$+)%5=\

"((V(6)(s++3$(s+"(%5(C$+)%5=/

)+524-!:/*865=-e56)[email protected]#"#@G

"((V(286..(#-(*6..-,(i--9.-#"#(&!+)(5+7(+5\

"((V(6)(i--9.-#"#(%5(C$+)%5=/

-#&'!$@(>*.$!3$>02'"%("$'!"70!&>*0%"(2"!5025$*"',!!Q&%'"=!20"&5$!"#("!H!3&3!20"!$2"$%!

"#$!$2"&%$!5.(''!.&'"&2<!(<(&2,! !-#&'!7('2;"!.(L&2$''!G7$..=!20"!50>*.$"$.6!("!.$('"IP!&2!

94/6=!5.(''$'!(%$!2$?$%!5.0'$3,!!-#&'!>$(2'!604!5(2!(.7(6'!(33!>$"#03'!"0!0%!%$3$1&2$!

G0%!&2!*%0*$%!"$%>&20.0<6=!0?$%%&3$I!(26!>$"#03!10%!(!5.(''!'&>*.6!/6!0*$2&2<!(!5.(''!

3$1&2&"&02!(23!(33&2<!0%!%$3$1&2&2<!(!>$"#03,! !-#&'!5(2!/$!3(2<$%04'!("!"&>$'=!/4"!

0?$%(..!&";'!02$!01!"#$!>0'"!4'$14.!('*$5"'!01!94/6;'!0/Z$5"!&>*.$>$2"("&02,!!X$";'!.008!

("!(2!$@(>*.$C

*.622(]4!%5=((,-&(7!%4-2%9-((((3"42(2-.&/2%9-((-5,-5,

2%9-e7!%4-!(E(@P-..()-()$(2%9-\@2%9-e7!%4-!/7!%4-2%9-

"((:[

\' ! H ! '(&3 ! /$10%$= !7#&.$ ! &";' ! *0''&/.$ ! "0 ! 0?$%%&3$ ! ( ! 5.('';' !>$"#03' ! G$?$2 ! /4&."F&2!

5.(''$'EI=!&"!5(2!/$!3(2<$%04'!G&,$,!>03&16&2<!'0>$!01!J#K-*4;'!>$"#03'!0%!>03&16&2<!

5$%"(&2!0*$%("0%'!5(2!>(8$!$?$%6"#&2<!<0!24"'I=!/4"!("!"#$!'(>$!"&>$=!&"!5(2!(.'0!/$!

4'$14.,!!-#$!94/6!7$/!1%(>$70%8!9(&.'!>(8$'!$@"$2'&?$!4'$!01!"#&'!5025$*"=!$'*$5&(..6!

&2!&"'!\5"&?$N4**0%"!*(58(<$P!&1!604;%$!.008&2<!10%!'0>$"#&2<!(!.&"".$!>0%$!50>*.&5("$3!

(23 ! &2"$%$'"&2<= ! H ! '4<<$'" ! .008&2< ! (" ! "#$&% ! $@"$2'&02' ! "0 ! ?(%&04' ! 5.(''$' ! &2 ! "#("!

*(58(<$,!

-#$!'$5023!5025$*"!'#072!&2!"#$'$!$@(>*.$'!&'!"#$!4'$!01!"#$ !2-.&! 0/Z$5",!

-#$ !2-.&! 0/Z$5"!(.7(6'!*0&2"'!"0!"#$!54%%$2"!&2'"(25$P!&"!(..07'!604!"0!5(..!>$"#03'!

1%0>!7&"#&2!"#$!54%%$2"!&2'"(25$!G.&8$ !2%9-! &2!"#$ !]4!%5=! 5.(''!0% !=-4e%5&+! &2!04%!

5.(''I,! !-#04<#!2-.&! &'2;"!%$f4&%$3!&2!>0'"!5('$'!G&,$,!&1!20!%$5$&?$%!&'!'*$5&1&$3!10%!(!

>$"#03=!94/6!(''4>$'!604!>$(2"!2-.&I=!&"!&'!&>*0%"(2"!"0!/$!(7(%$!01!&"!&2!5('$!604!

(%$!&2!(!502"$@"!7#$%$!604!7&..!2$$3!&"!G$,<,!604!#(?$!&>*.$>$2"$3!(!>$"#03!2(>$3!

3"42!&2!604%!5.(''!(23!604!7(2"!"0!5(..!&"!(23!20"!"#$!/4&."F&2!02$I,

932#*(+$(:.;,(,.;<!!!"(

Page 56: Humble Little Ruby Book

6$$3+-'$21

B#&.$!&2'"(25$!?(%&(/.$'!(%$!4'$14.!&2!"#$&%!072!7(6=!"#$6!(%$2;"!?&'&/.$!"0!"#$!04"'&3$!

70%.3, ! ! H" !>(6 ! '$$> ! .&8$ ! ( ! 3(236 ! '&"4("&02 ! (" ! 1&%'"C ! (.. ! 604% ! 0/Z$5"'; ! '"("$' ! (%$!

50>*.$"$.6!#&33$2!(23!425#(2<$(/.$!/6!"#$!04"'&3$!70%.3,! !c4"!(1"$%!( !7#&.$= !604!

>&<#"!Z4'"!7(2"!"0!%$"%&$?$!0%!5#(2<$!(!?(.4$!7&"#&2!(2!0/Z$5",!!D07!(%$!7$!"0!30!"#&'AE!

B$..=!&";'!%$(..6!f4&"$!'&>*.$C

*.622(i++=-$)65((,-&(2*6!-e&6*4+!((((y2*6!-e&6*4+!((-5,

((,-&(8%,%5=e3.6*-((((y8%,%5=e3.6*-((-5,

((,-&(2*6!-e&6*4+!EF&6*4+!G((((y2*6!-e&6*4+!(E(&6*4+!((-5,

((,-&(8%,%5=e3.6*-EF3.6*-G((((y8%,%5=e3.6*-(E(3.6*-((-5,-5,

)+524-!:(E(i++=-$)65/5-7F@T!69$(T6.@B(@c6281%..-B(Pc@G)+524-!:/2*6!-e&6*4+!(E([mmm3"42()+524-!:/2*6!-e&6*4+!

"(([mmm

\'!"#$!$@(>*.$!'#07'=!"0!5%$("$!(!%$(3(/.$!(""%&/4"$=!604!'&>*.6!5%$("$!(!>$"#03!(23!

*.(5$!"#$!&2'"(25$!?(.4$!"0!%$"4%2!&2!&" !G"#$!.('"!?(.4$!4'$3!&2!(!>$"#03!&'!%$"4%2$3!

%$>$>/$%AI,!!\""%&/4"$'!(%$!'&>*.6!>$"#03'!"#("!(%$!4'$3!"0!%$"%&$?$!0%!'$"!?(.4$',!!-0!

5%$("$!(!7%&"(/.$!(""%&/4"$!G&,$,!(2!(""%&/4"$!604!5(2!'$"I=!604!'&>*.6!(**$23!(2!$f4(.'!

'&<2!GoI!(1"$%!"#$!2(>$!01!"#$!(""%&/4"$!>$"#03P!604!5(2!$&"#$%!30!.&8$!H!3&3!(23!7%&"$!

'"%(&<#"!"0!(2!&2'"(25$!?(%&(/.$!0%!30!'0>$!0"#$%!70%8!/$10%$!604!30!'0!G&,$,!>(8$!'4%$!

"#$!?(.4$!*%0?&3$3!&' !"#$!*%0*$%!"6*$`10%>("= !502?$%" ! 10%>(""&2<!"0!( !>0%$!4'(/.$!

10%>=!$"5,I,! !-#&'!'$$>'!.&8$!(2!(714.!.0"!01!70%8!Z4'"!"0!7%&"$!"0!(!?(.4$!&2!(!5.(''!

30$'2;"!&"A!!H!>$(2=!&2!)m!0%!'0>$"#&2<!'&>&.(%!(..!H!#(?$!"0!30!&'!*4"!J3"#.%*J!/$10%$!

"#$!?(%&(/.$!&2!"#$!5.(''!(23!&";'!?&'&/.$!"0!"#$!04"'&3$E!!B$..=!'&25$!(""%&/4"$'!(%$!'45#!(!

50>>02!502'"%45"=!94/6!#('!(!%$(..6!'&>*.$!1(5&.&"6!10%!"#$>C

*.622(i++=-$)65((644!e!-6,-!(W2*6!-e&6*4+!B(W8%,%5=e3.6*-((644!e7!%4-!(W2*6!-e&6*4+!B(W8%,%5=e3.6*--5,

[07!604!5(2!%$(3!(23!7%&"$!(""%&/4"$'!Z4'"!('!/$10%$P!"#$'$!1(54."&$'!(%$!(!*%$""6!7(6!"0!

5%$("$!>$"#03'!"#("!/$#(?$!&3$2"&5(..6!"0!"#$!02$'!7$!5%$("$3!/$10%$,!!-#&'!"$5#2&f4$!

&'!$('&$%!"#(2!7%&"&2<!04"!>$"#03'=!/4"!604!.0'$!"#$!1.$@&/&.&"6!604!>(6!<(&2!/6!>(8&2<!

604%!%$(3$%'!0%!7%&"$%'!$@*.&5&"!>$"#03'!"#("!604!7%&"$,!!Q0%!$@(>*.$=!.$";'!'(6!"#("!"#$!

'5(%$!1(5"0% ! &' !'4**0'$3!"0 !/$!3&'*.(6$3! &2 !Q%$(8F0F<%(>'!GQ<IP !604!504.3!7%&"$!(!

%$(3$%!"0!3&'*.(6!&"!('!'45#C

*.622(i++=-$)65((644!e7!%4-!(W2*6!-e&6*4+!

#*!!!932#*(+$(:.;,(,.;<

Page 57: Humble Little Ruby Book

((,-&(2*6!-e&6*4+!((((!-4"!5(24!Fy2*6!-e&6*4+!(>(:mmmG(H(@h=@((-5,-5,

)+524-!:(E(i++=-$)65/5-7F@w2$*8+(]6..$@B(@s+2(O5=-.-2B(TO@G)+524-!:/2*6!-e&6*4+!(E([mmm3"42()+524-!:/2*6!-e&6*4+!

"(([h=

N0>$!704.3!5(..!"#$'$!?&%"4(.!(""%&/4"$'=!/4"!H!%$(..6!"#&28!"#$6!2$$3!(!'*$5&(.!2(>$,!!H"!

%$(..6 ! 30$'2;" !>(""$% !7#(" ! 604 ! 5(.. ! "#$>= !/4" ! "#$6 ! (%$ ! ( ! <%$(" !7(6 ! "0 !>('8 ! "#$!

&>*.$>$2"("&02!01!604%!5.('',! !-0!"#$!04"'&3$!70%.3=!&"!.008'!.&8$!(!20%>(.!(""%&/4"$=!

/4"!604!8207!"#$!"%4"#E!!H";'!604%!.&"".$!7(6!01!'"&58&2<!&"!"0!"#$!>(2,

6&&211(K.,$3.)

N0!1(%!04%!>$"#03'!(23!(""%&/4"$'!#(?$!/$$2!7&3$!0*$2!"0!"#$!70%.3=!/4"!207!.$";'!"(8$!

(!.008!("!7(6'!7$!5(2!502"%0.!(55$''!"0!*(%"'!01!04%!5.('',! !_*!42"&.!207=!(..!01!04%!

>$"#03'!G$@5$*"!%5%4%6.%9-=!7#&5#!&'!(.7(6'!*%&?("$I!#(?$!/$$2!7#("!7$!5(..!*4/.&5!

G&,$,!(55$''&/.$!1%0>!7&"#&2!"#$!5.(''!(23!"#$!04"'&3$!70%.3I,!!N&25$!"#("!&'!"#$!3$1(4."!

/$#(?&0%!01!94/6=!.$";'!(33!(!>$"#03!"0!04%!5.(''!('!(2!$@(>*.$C

*.622(i++=-$)65((,-&(2*6!-F78+G((((3"42(@V(K"24(2*6!-,(48-(#-K-9"2(+"4(+&(QR78+S\@((-5,-5,

-#$!>$"#03!7$!Z4'"!5%$("$3!&'!*4/.&5!/$5(4'$!7$!3&32;"!'*$5&16!(26!(55$''!502"%0.'P!7$!

504.3!5%$("$!*%0"$5"$3!>$"#03'!G&,$,!(!>$"#03!"#("!(55$''&/.$!/6!(26!&2'"(25$!01!(!5.(''!

0%!&"'!3$%&?$3!5.(''$'I!/6!*.(5&2< !3!+4-*4-,! 02!(!.&2$!(23!"#$2!$2"$%&2<!'4/'$f4$2"!

>$"#03'!7#&5#!7&..!/$!*%0"$5"$3,!!Q0%!$@(>*.$C

*.622(i++=-$)65((3!+4-*4-,((((,-&(6!-e$+"e6e)+524-!DF78+262?%5=G((((((3"42(@f-2B(QR78+262?%5=SB(V(6)(6()+524-!\@((((((!-4"!5(4!"-((((-5,-5,

[07!"#$!02.6!0/Z$5"'!7#&5#!#(?$!(55$''!"0!"#&'!>$"#03!(%$!"#0'$!"#("!(%$!&2'"(25$'!01!

i++=-$)65!(23!(26!5.(''!"#("!&'!3$%&?$3!1%0>!i++=-$)65,! !-#&'!&'!4'$14.!&1!604!#(?$!(!

>$"#03!.&8$!"#$!02$!(/0?$!"#("!2$$3'!"0!*%0?&3$!&210%>("&02!"0!5.(''$'!01!"#$!'(>$!0%!

'&>&.(%!"6*$=!/4"!20!02$!$.'$,! !b2!"#$!0"#$%!#(23=!&1!604!#(?$!(!>$"#03!"#("!02.6!"#$!

54%%$2"!0/Z$5"!&2'"(25$!'#04.3!#(?$!(55$''!"0=!"#$2!604!'#04.3!3$5.(%$!&"!*%&?("$,!!-#$!

3&11$%$25$!/$"7$$2!*%0"$5"$3!(23!*%&?("$!&'!02.6!'.&<#"C!*%0"$5"$3!(..07'!(26!&2'"(25$!

01!"#$!'(>$!0%!3$%&?$3!5.(''!"0!(55$''!&"!/4"!*%&?("$!(..07'!02.6!"#$!54%%$2"!&2'"(25$!"0!

#(?$ !(55$'', ! !X$";' ! (33 !( !>$"#03 ! "0 !*#02$ !#0>$ ! "0 ! "#$ !c00<$6>(2 !#&>'$.1 ! (23!

%$3$1&2$!04%!2*6!-!>$"#03!"0!4'$!&",

*.622(i++=-$)65((3!%164-((((,-&(38+5-e8+)-F)-226=-G

932#*(+$(:.;,(,.;<!!!#)

Page 58: Humble Little Ruby Book

((((((Q(PJMJW(O*4"6..$()6?-(48%2(38+5-(8+)-((((((Q(h+!(5+7B(7-L..(K"24(7!%4-(4+(48-(*+52+.-((((((3"42()-226=-((((-5,

((3"#.%*((((,-&(2*6!-F78+G((((((38+5-e8+)-F@V(K"24(2*6!-,(48-(.%1%5=(3++3(+"4(+&(QR78+S\@((((-5,-5,

[07 ! 02.6 ! "#$ ! 54%%$2" ! &2'"(25$ !7&.. ! #(?$ ! (55$'' ! "0 ! "#$ !38+5-e8+)-! >$"#03P ! 7$!

704.32;"!7(2"!Z4'"!(2602$!*#02&2<!#0>$!(23!>(8&2<!&"!.008!.&8$!"#&'!>02'"$%!704.3!

604A!![0"&5$!"#("!604!5(2!4'$!"#$!3"#.%*!8$670%3!&2!"#$!'(>$!7(6!"0!>(8$!>$"#03'!

$@*.&5&".6 !*4/.&5!0%!&2!"#&'!5('$!"0!5#(2<$!"#$!>03$!/(58!"0!*4/.&5!(1"$%!3$1&2&2<!(!

*%&?("$!>$"#03,

K)#11(9&.T2B(?-U2&$1

N0!1(%!7$;?$!/$$2!70%8&2<!7&"#!&2'"(25$'C! &2'"(25$!?(%&(/.$'=! &2'"(25$!>$"#03'=!$"!

5$"$%(=!/4"!>(26!"&>$'!(!5.(''!G%("#$%!"#(2!(2!&2'"(25$!01!"#("!5.(''I!2$$3'!"0!>(&2"(&2!

( ! '"("$ !0% !*%0?&3$ ! ( !>$"#03 ! "#(" ! &' !20" ! "&$3 ! "0 ! (2 ! &2'"(25$, ! !-#&' ! &' !7#$%$ ! 5.(''!

502'"(2"'=!?(%&(/.$'=!(23!>$"#03'!$2"$%!"#$!/(..!<(>$,

).(''!502'"(2"'!(%$!#(236!.&"".$!>$5#(2&'>'!"#("!(..07!604!"0!*.(5$!?(.4$'!

&2"0!"#$!5.(''!'50*$!"#("!7&..!20"!/$!5#(2<$3!G42.&8$!?(%&(/.$'!7#&5#!>(6!(23!*%0/(/.6!

7&.. !5#(2<$I,! !-0! !5%$("$!(!5.(''!502'"(2"=!604!'&>*.6!*.(5$!"#$!502'"(2"!2(>$!(23!

?(.4$!&2"0!"#$!5.(''!3$1&2&"&02C

*.622(i++=-$)65((UfeiJ]](E(LU!/(i++=-$)65L-5,

[07!$?$%6!>$"#03!&2!5.(''!i++=-$)65!G/0"#!&2'"(25$!(23!5.(''!'50*$3I!#('!(55$''!"0!

"#$!?(.4$!UfeiJ]],!!

-0!5%$("$!5.('' !?(%&(/.$'= !*.(5$!"70!(" !'6>/0.' !GyyI !/$10%$!"#$!2(>$!01!(!

?(%&(/.$P!"#$6!0*$%("$!2$(%.6!&3$2"&5(.!"0!&2'"(25$!?(%&(/.$'!$@5$*"!"#$&%!'"("$!.&?$'!&2!

"#$!5.(''!%("#$%!"#(2!(!*(%"&54.(%!0/Z$5",!!Q0%!$@(>*.$=!"#$!c00<$6>(2!#('!('8$3!"#("!

7$!#(?$!(!7(6!"0!<$"!"#$!2(>$!01!"#$!2$7$'"!3$2&L$2!#$!#('!%$.$('$3!(23!7#$%$!#$!&',!

B$!5(2!*%0?&3$!"#&'!7&"#!(!5.(''!?(%&(/.$C

*.622(i++=-$)65((Q(C-L..(!-,-&%5-(%5%4%6.%9-((,-&(%5%4%6.%9-F56)-B(.+*64%+5G((((y56)-(E(56)-((((y.+*64%+5(E(.+*64%+5(((((((yy.64-24(E(y56)-((((yy.+*64%+5(E(y.+*64%+5((((3"42(@f-2B()624-!D@((-5,-5,

#!!!!932#*(+$(:.;,(,.;<

Page 59: Humble Little Ruby Book

)+524-!:(E(i++=-$)65/5-7F@U6*6#!-(U6*@B(@]-644.-B(CO@G

"((f-2B()624-!D)+524-!X(E(i++=-$)65/5-7F@g+!$(g6!$@B(@I-24+5B(Cz@G

"((f-2B()624-!D3"42(i++=-$)65/.64-24

"((g+!$(g6!$

\'!"#$!$@(>*.$!'#07'=!604!(55$''!(!5.(''!?(%&(/.$!/6!4'&2<!"#$!5.(''!2(>$!10..07$3!/6!

(!30"!(23!"#$!?(%&(/.$!2(>$P!>45#!.&8$!5.(''!502'"(2"'=!604!5(2!(55$''!"#&'!?(.4$!1%0>!

$&"#$%!5.(''!'50*$3!0%!&2'"(25$!'50*$3!>$"#03',! ![0"&5$!"#("!/$5(4'$ !yy.+*64%+5=!

y.+*64%+5=!(23 !.+*64%+5! (%$!(..!'50*$3!3&11$%$2".6=!"#$6!5(2!(..!4'$!"#$!'(>$!2(>$!

7&"#04"!5(4'&2<!(!*%0/.$>,! !B#&.$!"#&'!&'2;" !%$50>>$23$3!G#(?&2<!"#%$$!?(%&(/.$'!

7&"# !"#$!'(>$!2(>$!&' ! .&8$.6 ! "0 !3%&?$!604!/(""6 ! &2 ! .$'' !502"%&?$3= !>0%$ !%$(. !70%.3!

'&"4("&02'I=!&"!&'!*0''&/.$!G(23!055('&02(..6!4'$14.I,!!

).(''!>$"#03'!(%$!>$"#03'!"#("!(%$!*%0?&3$3!/6!(!5.(''!G20"!(2!&2'"(25$I!"#("!

>(6!20"!*(%"&54.(%.6!2$$3!"0!/$!"0!(2!&2'"(25$,! !-#&'!1$("4%$!&'!4'$14.!&1=!10%!$@(>*.$=!

604!7(2"$3!"0!*%0?&3$!(!*%$1(/%&5("$3!&2'"(25$!01!(!5.(''!G$,<,!(!>$"#03!2(>$3!)65!10%!

( !5.('' !2(>$3 !w-!2+5! >&<#" !*%0?&3$ !(2 ! &2'"(25$ !7&"# ! "#$ !=-5,-!! 1&$.3 !'$"I, ! !-#$!

c00<$6>(2!#('!%$f4$'"$3!"#("!7$!#(?$!(!5.(''!>$"#03!"0!04"*4"!"#$!.("$'"!%0/0";'!

2(>$!'&25$!#$;'!7(6!"00!.(L6!"0!3$.?$!&2"0!"#$!503$!0%!4'$!(!94/6!502'0.$!"0!1&23!04"!

10%!#&>'$.1!G#$!&'!%$"&%$3=!604!8207I,!!N0!.$";'!*%0?&3$C

*.622(i++=-$)65((,-&(i++=-$)65/.64-24e)+524-!((((3"42(@P8-(.64-24()+524-!(%2(QRyy.64-24S/@((((3"42(@A-(%2(%5(QRyy.+*64%+5S/@((-5,-5,

i++=-$)65/.64-24e)+524-!

"((P8-(.64-24()+524-!(%2(g+!$(g6!$/

"((A-(%2(%5(I-24+5B(Cz/

c$5(4'$!.64-24e)+524-!! &'!(!5.(''!>$"#03=!&"!02.6!#('!(55$''!"0!?(%&(/.$'!7&"#&2!&"'!

'50*$!G&,$,!5.(''!?(%&(/.$'IP!!"#&'!>$(2'!&"!5(220"!(55$''!&2'"(25$!?(%&(/.$'!("!(26!"&>$!

42.$''!"#$6!(%$!*(''$3!&2"0!"#$!>$"#03!('!(!*(%(>$"$%!0%!%$1$%$25$3!&2!(!5.(''!?(%&(/.$,!

_2.&8$!0"#$%!5.(''!'50*$3!?(%&(/.$'=!5.(''!>$"#03'!(%$!20"!?&'&/.$!"0!&2'"(25$!'50*$3!

0/Z$5"'!(23!>$"#03'P!"#&'!>$(2'!"#("!604!>4'"!5(..!(!5.(''!>$"#03!4'&2<!&"'!14..!5(..!

G&,$, !604!704.32;" !/$!(/.$! "0!'&>*.6!"6*$ !.64-24e)+524-!! .&8$!604!5(2 !UfeiJ]]! 0%!

yy.64-24P!604!704.3!/$!%$f4&%$3!"0!5(..!&"!4'&2<!i++=-$)65/.64-24e)+524-!I,

0?Q;@F9

O$%#(*' ! '0>$"&>$ !604;.. !2$$3 ! "0 !0%<(2&L$ !( ! .0" !01 ! 503$, ! ! H !>$(2 !(' 6,;: ' 'X&8$ ! "#$!

*0*4.("&02!01!)#&2(!(!.0",!!K(6/$!"#("!503$!&'2;"!'&>*.6!02$!5.(''!0%!&"!&'2;"!2$5$''(%&.6!

(.. !*$%1$5".6 ! %$.("$3P !>(6/$ ! &";' !<0" ! '0>$! &''4$'P !>(6/$ ! &";' ! '"&.. ! (2<%6 !(/04" ! "#("!

(%<4>$2"!&"!#(3!7&"#!<%4>*6p/4"",%/!.('"!7$$8P!&2!(26!$?$2"=!604!#(?$!/$$2!5#(%<$3!

"0!<%04*!&"!"0<$"#$%!10%!"#$!'(8$!01!%$4'$!(23!0%<(2&L("&02,! ! ![0%>(..6!&2!'0>$"#&2<!

.&8$!)!0%!ODO!604!>&<#"!'&>*.6!'"&58!"#&'!503$!&2!(!1&.$!(23!&25.43$!&"!7#$%$?$%!604!

932#*(+$(:.;,(,.;<!!!#"

Page 60: Humble Little Ruby Book

2$$3!&"=!/4"!7#("!&1!604!#(?$!"70!>$"#03'!0%!502'"(2"'!"#("!(%$!2(>$3!"#$!'(>$A!!X$";'!

'(6 ! 604 ! 7$%$ ! 5%$("&2< ! ( ! *(23( ! 1&<#"&2< ! <(>$, ! :04 ! #(?$ ! ( ! 502'"(2" !MnOPA! &2!

*+524e16."-2/!#!"0!%$*%$'$2"!"#$!(>042"!01!.&1$!"#("!704.3!502'"&"4"$!(!3$("#!&2!"#$!

<(>$=!/4"!604!(.'0!#(?$!(!502'"(2"!MnOPA! &2!&%=84-!e16."-2/!#! "0!#0.3!(2!(%%(6!01!

?(.4$' ! 3$(.&2< !7&"# ! "#$ ! *.(6$% ! 5#(%(5"$% ! 2(>$3 !]$("#, ! !c0"# ! *&$5$' ! 2$$3 ! "0 ! /$!

&25.43$3=!/4"!"#$%$;'!(!2(>$!5021.&5", !:04!704.3!%("#$%!>(&2"(&2!(!'&>*.$!2(>&2<!

'5#$>$ ! 10% ! 502'"(2"' ! %("#$% ! "#(2 ! 502505"&2< ! '0>$ ! '&..6 ! 2(>$ ! .&8$!

MnOPAezOs{n]einTO{]neVeTOcPeVcTs{MneVPeCVPAJ{PeOeA{gnecOUn, !-#&' ! &' !7#$%$!

>034.$'!(%$!%("#$%!#(236P!"#$6!(..07!604!"0!<%04*!502'"(2"'!(23!>$"#03'!"0<$"#$%!

.0<&5(..6!&2"0!<%04*'!5(..$3!2(>$'*(5$'=!<%04*'!7#&5#!0%<(2&L$!>034.$'!(23!"#$!.&8$!

&2 ! '45# ! ( !7(6 ! (' ! "0 ! (?0&3 ! (>/&<4&"6 ! (23 ! *%0>0"$ ! .0<&5(. ! 0%<(2&L("&02 ! 01 ! 503$,!

[(>$'*(5$'!(..07!604!"0!7%&"$!.(%<$%!<%04*'!01!%$4'(/.$!503$!7&"#04"!"#$!3(2<$%!01!

'"0>*&2< !02 !0"#$% ! 503$ !04"'&3$ !01 ! "#$ !2(>$'*(5$, ! !-#&' !>$(2' ! "#$%$ !504.3 !/$ !(!

2(>$'*(5$ !h%=84-!z6."-2! (23 ! ( ! 2(>$'*(5$ !T+524654z6."-2! "0 !>(&2"(&2 ! "#$&%!

%$'*$5"&?$!?(.4$',

K32#$+,N(0.B')21

-#$!'62"(@!10%!5%$("&2<!(!>034.$!&'!?$%6!'&>&.(%!"0!"#$!'62"(@!10%!5%$("&2<!(!5.(''P!604!

*.(5$!"#$!8$670%3!)+,".-!10..07$3!/6!"#$!>034.$!2(>$P!"#$2!02!"#$!'4/'$f4$2"!.&2$'!

604!$2"$%!"#$!>$"#03'!(23!5.(''$'!7#&5#!'#04.3!%$'&<2!&2!"#&'!>034.$!10..07$3!/6!"#$!

-5,!8$670%3,!!X$";'!.008!("!04%!$@(>*.$!1%0>!/$10%$C

)+,".-(h%=84-!z6."-2((iOUiJJeAnOM(E(R(L.%&-L(Eq(:XmB(L8%4L(Eq(l(S((MnOPA(E(R(L.%&-L(Eq(lmB(L8%4L(Eq(:Z(S((vJOsO(E(R(L.%&-L(Eq(:mmB(L8%4L(Eq(:m(S((TA{TvecJIIV](E(R(L.%&-L(Eq([mmmmB(L8%4L(Eq(llllllll(S

((,-&(*8"*?e&6*4((((3"42(@T8"*?(c+!!%2L(4-6!2(*65(*"!-(*65*-!///@((((3"42(@P++(#6,(8-(5-1-!(*!%-2/@((-5,-5,

)+,".-(T+524654z6."-2((MnOPA(E(0j( Q(w65,62(*65(.%1-(wO]P(MnOPA/((nO]feAOcMVTOw(E(:m((UnMV{UeAOcMVTOw(E(Xj((AOIMeAOcMVTOw(E(jm-5,

3"42(h%=84-!z6."-2WWMnOPA

"((RL.%&-LEqlmBL8%4LEq:ZS

3"42(T+524654z6."-2WWMnOPA

"((0j

[07!/0"#!?(.4$'!5(2!/$!4'$3!(23!50F$@&'"!&2!(!1%&$23.6!$2?&%02>$2",!!H;>!'4%$!604;%$!

"#&28&2<= ! JB#6 !20" ! Z4'" ! 4'$ !( ! 5.(''AJ ! ! H ! ('8$3 !>6'$.1 ! "#(" !7#$2 ! H ! 1&%'" ! '(7 ! "#&'!

502'"%45"P!!"#$!02.6!%$('02!H!'(7!7('!"#("=!10%!"#$!'(8$!01!3$'&<2!(23!*%0*$%!'01"7(%$!

$2<&2$$%&2<=!604!'#04.32;"!*4"!"#&2<'!&2!(!5.(''!"#("!302;"!%$(..6!<0!"0<$"#$%!'0!"#$!

>034.$!7('!(!<003!$@54'$!"0!/%$(8!"#("!%4.$!7&"#04"!/%$(8&2<!&",

##!!!932#*(+$(:.;,(,.;<

Page 61: Humble Little Ruby Book

c4"!"#$2!H!'(7!"#$!500.$'"!*(%",

K034.$'!#(?$!(!>$5#(2&'>!"#("!(..07!10%!7#(";'!5(..$3!(!>&@&2=!503$!"#("!&'!

J>&@$3!&2"0J!(!5.(''!('!&1!&"!&'!*(%"!01!&"'!0%&<&2(.!503$,!!-#&28!01!&"!('!&2#$%&"(25$=!$@5$*"!

/$""$%,!!\'!20"$3!$(%.&$%=!(!5.(''!&2!94/6!5(2!02.6!&2#$%&"!1%0>!02$!5.(''!("!(!"&>$,!!-0!

&2#$%&"!1%0>!(20"#$%!5.(''!604!704.3!#(?$!"0!5%$("$!'0>$!'0%"!01!5#(&2!01!&2#$%&"(25$!

"#("!704.3!(..07!604!"0!30!J>4."&*.$!&2#$%&"(25$J!G20"!%$(..6!/4"!"#(";'!('!5.0'$!('!604!

5(2!<$"!&2!94/6I,!!K&@&2'!$.&>&2("$!"#$!2$$3!10%!"#(",!!:04!504.3!5%$("$!(!5.(''=!&2#$%&"!

1%0>!(20"#$%!5.(''=!(23!>&@!&2!('!>(26!>034.$'!('!604!2$$3,!!-#&'!1$("4%$!&'!$'*$5&(..6!

<%$("!&1!"#$!503$!"#("!604!2$$3!"0!>&@&2!2$$3'!"0!02.6!/$!>&@$3!&2!G&,$,!&"!702;"!$?$%!/$!

4'$3!/6!&"'$.1I,!!X$";'!.008!("!(!502"%&?$3!$@(>*.$C

)+,".-(U+1-)-54((,-&(!"5((((3"42(@VL)(!"55%5=\@((-5,

((,-&(76.?((((3"42(@VL)(76.?%5=(6(#%4(#!%2?.$\@((-5,

((,-&(*!67.((((3"42(@VL)(2+(2.+7777\@((-5,-5,

*.622(U65((%5*.",-(U+1-)-54

((,-&(K")3((((3"42(@VL)(#%3-,6.(65,(V(*65(K")3(.%?-(6(&++.\@((-5,-5,

*.622(].+48((%5*.",-(U+1-)-54

((,-&(&.+3((((3"42(@V4L2(6..(6(.%-///6..(V(*65(,+(%2(&.+3(6!+"5,/@((-5,-5,

)%24-!e)65(E(U65/5-7)%24-!e)65/!"5

"((VL)(!"55%5=\

)%24-!e2.+48$(E(].+48/5-7)%24-!e2.+48$/&.+3

"((V4L2(6..(6(.%-///6..(V(*65(,+(%2(&.+3(6!+"5,/

\'!604!5(2!'$$=!"#&'!>$5#(2&'>!&'!?$%6!'&>&.(%!"0!&2#$%&"(25$!&2!"#("!604!5(2!4'$!(..!01!

"#$!>&@&2;'!503$,! !-0!4'$!(!>&@&2=!'&>*.6!3$1&2$!(!>034.$!(23!"#$2!4'$!"#$ !%5*.",-(

8$670%3!10..07$3!/6!"#$!>034.$;'!2(>$!G20"$!H!'(&3!9,5$6&L!"#$!&25.43$!8$670%3!#('!

20"#&2<!"0!30!7&"#!1&.$'!0%!.&/%(%&$'!.&8$!&2!ODO!0%!)aaIP!1%0>!"#$2!02!"#$!5.(''!#('!

(55$''!"0!(..!01!"#("!>034.$;'!502'"(2"'!(23!>$"#03',!!! !H";'!0/?&04'!"#("!"#&'!$@(>*.$!

30$'2;" !30!"#&'!>$5#(2&'>!Z4'"&5$!G&,$, !&" !30$'2;" !3$>02'"%("$!"#$!4'(<$!01!>034.$!

502'"(2"'!&2!(!>&@&2=!&"!30$'2;"!30!>45#!7&"#!"#$!#0'"!5.(''=!$"5,I=!/4"!"#&'!&'!>$%$.6!

>$(2" ! "0 !/$ !(2 ! &2"%0345"0%6 !$@(>*.$ ! &2 !#0*$' ! "#(" !604!7&.. !$@*$%&>$2" !(23 !%$(3!

14%"#$%,! !\'!604!7&..!.$(%2=!"#$!>(<&5!%$(..6!#(**$2'!7#$2!"#$!5.(''!(5"4(..6!&2"$%(5"'!

932#*(+$(:.;,(,.;<!!!#$

Page 62: Humble Little Ruby Book

7&"# ! "#$ !>&@&2 ! G(' !7&"# ! '0>$ !01 ! "#$ !94/6 !/4&."F&2 !>&@&2' ! '45# !(' !]%5=.-4+5! 0%!

T+)36!6#.-!7#&5#!<%$(".6!$@"$23!"#$!1425"&02(.&"6!01!604%!5.(''!0%!'0>$!01!"#$!9(&.'!

>&@&2'I=!/4"!"#(";'!10%!(!>0%$!(3?(25$3!.008!("!"#$!'4/Z$5",!!

:04!>(6!/$!"#&28&2<!"#("!"#&'!'0423'!<%$("!207=!/4"!30!/$!5(%$14.,! !K&@&2'!

(%$!(7$'0>$!('!.02<!('!"#$6!(%$!7%&""$2!7$..=!/4"!&1!"#$!3$?$.0*$%!30$'2;"!*(6!(""$2"&02!

(23!/$!5(%$14.!(/04"!2(>&2<!"#$6!5(2!5%$("$!#(?05!&2!604%!(**.&5("&02,!!Q0%!$@(>*.$=!

.$";'!'(6!604!#(?$!(!502'"(2"!5(..$3 !wV!7#&5#!#0.3'!O&!"0!"#$!jR23!3&<&"!G7#&5#!604!

"6*$3!04"!>(24(..6!/$5(4'$!"#(";'!"#$!(>042"!01!*%$5&'&02!604!2$$3I=!/4"!604!>&@!&2!(!

"%&<020>$"%6!.&/%(%6!7%&""$2!/6!c&..6!K5]0014'!7#&5#!#('!(!502'"(2"!2(>$3!wV!7#&5#!

&'!02.6!O&!"0!"#$!W"#!3&<&",! !:04!2$$3!"#("!*%$5&'&02=!/4"!'&25$!c&..6!K5]0014'!&'!(2!

&3&0"=!"#$!>&@$3!&2!.&/%(%6;'!502'"(2"!7&..!0?$%%&3$!604%!502'"(2",! !H";'!/$'"!"0!/$!'4%$!

"#("!604%!2(>&2<!'5#$>$!&'!42&f4$!G*0''&/.6!$?$2!&25.43&2<!"#$!>034.$!2(>$!0%!604%!

2(>$I!'0!('!"0!20"!'"0>*!02!0"#$%';!503$,!!

:04!>(6!/$ !"#&28&2<!%&<#" !207= !J-#(" ! Z$%8 ! .$1" !04" !>$"#03'! &2 !>034.$'E!

B#("!(/04"!>$"#03'EA! !H;>!<0&2<!"0!8&..!#&'!5("!(23!"(8$!>6!>02$6!/(58E! !\%$!>6!

>$"#03'!'&>*.6!<0&2<!"0!'411$%!"#$!'(>$!"$%%&/.$!1("$AJ!!:04!704.3!/$!Z4'"&1&$3!&2!604%!

14%0%=!/4"!%$.$2"=!<003!1%&$23=!10%!>$"#03'!30!20"!'411$%!"#$!'(>$!1("$,!!B#$2!604!5(..!

(!>$"#03=!94/6!7&..!1&%'"!.008!"0!"#$!#0'"!5.(''!G"#("!&'=!"#$!5.(''!/$&2<!>&@$3!&2"0I!(23!

"#$2!"0!&"'!>&@&2'!G(23!"#$2!"0!&"'!'4*$%5.(''$'!(23!&"'!>&@&2'!(23!'0!02IP!"#&'!/$#(?&0%!

&'!"#$!$@(5"!0**0'&"$!01!502'"(2"'!G(23!20!H!302;"!8207!7#6!"#("!&'I,! !-#&'!504.3!/$!(!

/.$''&2<!0%!(! !54%'$!G&,$,!604! !>(6!.4+; '"#$!>$"#03!"0!0?$%%&3$!604%'I=!/4"!<$2$%(..6!

"#&'!&'!"#$!'(1$'"!1425"&02(.&"6!10%!&",!!

M8@F9

\'!604%!(**.&5("&02!<$"'!/&<<$%!(23!/&<<$%=!604!'4%$.6!702;" !7(2"!(.. !01!604%!503$!

.&?&2<!&2!02$!#4<$!WKc!1&.$, ! !)#0**&2<!503$!4*!&2"0!1&.$' !&' !02$!01 !"#$!0.3$'" !(23!

$('&$'"!7(6'!"0!'$<>$2"!604%!503$,!!H!'(?$3!&"!10%!.('"!/$5(4'$!H!302;"!7(2"!604%!(2'7$%!

"0!503$!'$<>$2"("&02!"0!(.7(6'!/$!JN"&58!&" !&2!(!1&.$EJ!7#$2!94/6!011$%'!>0%$!G(23!

/$""$%!'4&"$3I!0*"&02'!"#(2!"#(",!!H!"#&28!ODO!*%0<%(>>$%'!$'*$5&(..6!<$"!'"458!&2!"#&'!

%4"!01!&25.43&2<!503$!(..!0?$%!"#$!*.(5$=!5%$("&2<!(!Z42<.$!01!1&.$'!"#("!02.6!"#$!>(5#$"$!

01!"#$!3$.$"$!50>>(23!5(2!2(?&<("$=!/4"!H!3&<%$'',!!-0!&25.43$!(!1&.$!&2!94/6=!604!#(?$!

"70!0*"&02'C!.+6,!(23!(23!&"'!>0%$!$.$<(2"!504'&2!!-`"%!-,!!-#$!3&11$%$25$!&'!"#("!"#$!

.+6,! 8$670%3 ! &25.43$' !( !'04%5$ !503$! 1&.$ !425023&"&02(..6 !7#&.$ !!-`"%!-! 7&.. !02.6!

&25.43$!&"!025$!G7#&5#!>$(2'!20!34*.&5("&02!01!?(%&(/.$'!(23!>$"#03'IC

.+6,(@.%#!6!%-2>)$&%.-/!#@!-`"%!-(@>8+)->)$6**+"54>*+,->.%#!6!%-2>)$+48-!&%.-/!#@

c0"# !8$670%3' ! (55$*" ! $&"#$% ! %$.("&?$ ! 0% ! (/'0.4"$ !*("#'P ! &1 !94/6 ! &3$2"&1&$' ! &" ! (' ! (!

%$.("&?$!*("#=!&"!7&..!'$(%5#!10%!"#$!1&.$!&2!"#$!54%%$2"!*("#!G'"0%$3!&2!|W!10%!"#0'$!7#0!

(%$!54%&04'I,!!-#$!%$f4&%$!'"("$>$2"!&'!(.'0!<%$("!&2!"#("!604!5(2!4'$!&"!&2!5023&"&02(.'=!

.00*'=!(23!0"#$%!502'"%45"'!0%!4'$!?(%&(/.$'!&2!&"'!*("#'!G604!5(2!20"!7&"#!.0(3I,!!l$$*!

&2!>&23!"#04<#!"#("!.05(.!?(%&(/.$'!&2!&25.43$3!1&.$'!30!20"!"%&58.$!&2"0!"#$!502"$@"!"#$6!

(%$!&25.43$3!&2!G"#&'!&'!502"%(%6!"0!ODO;'!(23!)`)aa;'!/$#(?&0%IP!"#$'$!?(%&(/.$'!(%$!

.058$3!&2"0!"#$!502"$@"!"#("!"#$6!(%$!7%&""$2!&2,

#%!!!932#*(+$(:.;,(,.;<

Page 63: Humble Little Ruby Book

!"#$%&"'()*+ %%

:04!.$(%2$3!#07!"0!/%$(8!4*!604%!503$! &2"0!>0%$!.0<&5(. !(23!4'(/.$!*&$5$', ! !:04!

.$(%2$3,,,

! #07!"0!'$<>$2"!604%!503$!4'&2<!/.058'=!>$"#03'=!5.(''$'=!>034.$'=!(23!1&.$',

! #07!?(%&(/.$!'50*&2<!70%8'!(23!#07!&"!5(2!/$2$1&"!604,

! #07!"0 !>(8$!604% !072!5.(''$' !(23!0/Z$5"' !(23!#07!"0 !>(8$!5#(2<$' ! "0!

0"#$%',

! "#("!>034.$'!(..07!604!"0!>&@!&2!503$!"0!5.(''$'!(23!$@"$23!"#$>,

932#*(+$(:.;,(,.;<!!!#&

Page 64: Humble Little Ruby Book

$

5'1$)2(#,B(V).C(W&.,$3.)XJ

Q.07!502"%0.!&'!$''$2"&(.!"0!$?$%6!(**.&5("&02!G42.$''!01!504%'$!604%!(**.&5("&02!7&..!

(.7(6'!#(?$!02$!504%'$!01!(5"&02!(23!604!302;" !>&23!50*6&2<!(23!*('"&2<!(!.0"!01!

503$I,! !Q.07!502"%0.!502'"%45"'!(..07!604!"0!/%(25#!G&,$,!$@$54"$!(!3&11$%$2"!1.07!01!

503$I!/('$3!02!5023&"&02'=!%42!"#$!'(>$!/%(25#!24>$%04'!"&>$'=!0%!/(&.!7#$2!02$!01!

"#$ ! 5023&"&02' ! &' ! 70286, ! ! -#$%$ ! (%$ ! "70 ! J<$2$%(.J ! 1.07 ! 502"%0. ! >$5#(2&'>'C!

5023&"&02(.'!(23!.00*',! !H;..!(33%$''!"#$>!'$*(%("$.6!.$'"!"#$6!$23!4*!&2!'0>$!'0%"!01!

$@"%$>$.6!50214'&2<!>$2"(.!!"##$%%&,!!!

K?>Q878?>6@9

)023&"&02(.!502'"%45"'!(%$!"#0'$!502'"%45"'!"#("!<&?$!604!(23!604%!4'$%'!5#0&5$'P!"#$6!

(..07!604%!*%0<%(>!"0!/%(25#!(23!$@$54"$!3&11$%$2"!503$!/('$3!02!5023&"&02'!7&"#&2!

"#$!(**.&5("&02,!!-#$6!50>*(%$!?(.4$'!"0!3$"$%>&2$!"%4"#!(23!/('$3!02!"#("!"%4"#!"#$6!

3$"$%>&2$!7#&5#!G&1!(26I!/%(25#!01!503$!'#04.3!$@$54"$,!!-#&28!01!"#$>!('!"#$!"%(11&5!

.&<#"'!01!"#$!94/6!*%0<%(>>&2<!70%.3,

7"2(%&(1$#$2H2,$

-#$!>0'"!1423(>$2"(.!5023&"&02(.!'"("$>$2"!(?(&.(/.$!&2!94/6!&'!"#$!%&!'"("$>$2"C!&"!

'&>*.6 !50>*(%$'!?(.4$'!"0!3$"$%>&2$!"%4"#!0%!42"%4"#, ! !H1 ! &" ! &' ! "%4$= ! "#$2!"#$!503$!

502"(&2$3!7&"#&2!"#$!>(&2!/%(25#!&'!$@$54"$3P!&1!&"!&'!20"!"%4$=!$&"#$%!"#$!503$!&2!"#$!

-.2-!5.(4'$!&'!$@$54"$3!0%=!&1!20!-.2-!/.058!&'!*%$'$2"=!20!503$!&2!"#$!/.058!&'!$@$54"$3!

(23!"#$!(**.&5("&02!502"&24$'!02,!

#'!!!='1$)2(#,:(>).;(?&.,$3.)@8

Page 65: Humble Little Ruby Book

-#$!%$'4."!01!(..!%&!'"("$>$2"'!&'!$&"#$%!"%4$!0%!1(.'$!%$<(%3.$''!01!#07!>(26!5023&"&02'!

"#$6!"$'",!!X$";'!.008!("!(2!$@(>*.$C

%&(5+4(F4!"-(\E(&6.2-G(aa(F4!"-(\E(4!"-GW((3"42(@C8+6\((O.4-!564-(,%)-52%+5\@-.2%&(F&6.2-(EEE(L&6.2-LG(48-5((3"42(@P$3-(*+51-!2%+5D((V(48%5?(5+4///@-.2%&(F4!"-(EE(:G(+!(FZ(EE(&6.2-G((3"42(@i++.-652(\E(c")#[email protected]((3"42(@V(="-22(7-L!-(24%..(Jv\@-5,

"(V(="-22(7-L!-(24%..(Jv\

-#$%$;' !(! .0" !"0!.008!(" !#$%$= !'0!.$";'! "(8$! &" !(!*&$5$!(" !( !"&>$, ! !\2 !%&! '"("$>$2"!&'!

502'"%45"$3!/6!*.(5&2<!"#$!%&!8$670%3!02!(!.&2$!10..07$3!/6!(!5023&"&02(.!50>*(%&2<!

?(.4$'!$f4(.&"6=!&2$f4(.&"6=!$"5,! !-#$ !%&! '"("$>$2"!&"'$.1!0*$2'!"#$!5023&"&02(.!/.058!

G&,$, !%&! &'!"#$!&2&"&("0%!01!(!#-=%5>-5,!/.058IP!604!5(2!5%$("$!(2!%&!/.058!'&>*.6!7&"#!

"#$ !%&! '"("$>$2"=!&"'!/.058!01!503$=!(23!"#$ !-5,!8$670%3!&1!"#(";'!(..!604!2$$3,! !-#&'!

$@(>*.$=!"#04<#=!3$>02'"%("$'!(..!01!"#$!*0''&/.$!502'"%45"'!10%!(2!%&!'"("$>$2",!!-#$!

-.2%&!(23!-.2-!8$670%3'!(..07!604!"0!/%(25#!&1!"#$!5023&"&02'!&2!"#$!%&!'"("$>$2"!(%$!

20"!>$"P !-.2%&!(..07'!604!"0!*%$'$2"!(20"#$%!5023&"&02(.!"$'"!7#&.$ !-.2-! &'!'&>*.6!(!

1(&.!'(1$!&1!202$!01!"#$!5023&"&02'!(%$!>$",!!-#&'!>$(2'!604!302;"!2$$3!"0!5%$("$!T+!%&(

/.058'!7#$2!604!5(2!'&>*.6!7%(*!"#$>!&2"0!T!%&!/.058!7&"#!(!.0"!01!-.2%&!'"("$>$2"'!

G7&"#!"#$!'(1$"6!2$"!01!"#$!-.2-!'"("$>$2"!"0!/00"I,

-#$!'$5023!"#&2<!"0!20"&5$!(%$!"#$!0*$%("0%'!4'$3!&2!"#$!5023&"&02(.',!!-0!"$'"!

10%!$f4(.&"6=!604!'#04.3!4'$!"#$ !EE!0*$%("0%!G"#(";'!"70!$f4(.'!'&<2'=!20"!02$P!&1!604!

4'$!02$!&"!7&..!4'4(..6!%$'4."!&2 !4!"-! /$5(4'$!604!704.3!/$!(''&<2&2<!(!?(.4$!%("#$%!

"#(2!5#$58&2<!10%!$f4(.&"6I,! !-0!"$'"!10%!&2$f4(.&"6=!4'$!"#$!\E!0*$%("0%,! !9("#$%!"#(2!

$2"$%&2<!"#$'$!&2"0!(!/&<!1("!*(%(<%(*#=!#$%$!&'!(!"(/.$!01!0*$%("0%'!4'(/.$!/6!94/6!&2!

5023&"&02(.'C

='1$)2(#,:(>).;(?&.,$3.)@8!!!#(

!"#$%&'M)'K/'K'.&%&'4'/"70'"+';0&'7&4@'KN5'."##6&'93';4"6'4+5'KN5'#"##6&'.";0'#6&&:::

Page 66: Humble Little Ruby Book

K?>Q878?>6@(?LF:67?:9(8>(:;<=

6(EE(# H'!"%4$!&1!"#$!?(.4$!01!(!"0!"#$!?(.4$!01!/,

6(EEE(# H'!"%4$!&1!"#$!?(.4$!01!(!"0!"#$!?(.4$!01!/!(23!"#$6!(%$!"#$!'(>$!"6*$,

6(\E(#

6(dq(#H'!"%4$!&1!(!&'!20"!$f4(.!"0!/,

6(\EE(# H'!"%4$!&1!(!&'!20"!$f4(.!"0!/!0%!"#$6!(%$!20"!"#$!'(>$!"6*$,

6(d(# H'!"%4$!&1!(!&'!.$''!"#(2!/,

6(q(# H'!"%4$!&1!(!&'!<%$("$%!"#(2!/,

6(dE(# H'!"%4$!&1!(!&'!.$''!"#(2!0%!$f4(.!"0!/,

6(qE(# H'!"%4$!&1!(!&'!<%$("$%!"#(2!0%!$f4(.!"0!/,

-#$!"#&%3!"#&2<!"0!20"&5$!(/04"!"#$!$@(>*.$!(%$!"#$!.0<&5(.!0*$%("0%'P!"#$'$!

(%$!'*$5&(.!0*$%("0%'!4'$3!"0!5#(&2!5023&"&02(.'!"0<$"#$%!0%!"0!$?(.4("$!'*$5&(.!5('$',!

94/6 ! '4**0%"' ! "70 ! 10%>' ! 01 ! "#$ ! 0*$%("0%'C ! )F'"6.$ ! (23 ! '"%&2<&1&$3, ! ! -#$ !)F'"6.$!

0*$%("0%'!(%$!.&8$!"#$!02$!&2!"#$!1&%'"!$@(>*.$P!aa!&'!"#$!'(>$!('!J65,=J!"#$!xx!0*$%("0%!

>$(2' !J+!=J !(23!'0 !02, ! !-#$ !'"%&2<&1&$3 !0*$%("0%' !(%$ ! "#$!'(>$!(' ! "#$&% !'6>/0.&5!

/%$"#%$2!$@5$*"!"#("!"#$6!(%$!'"%&2<'C!65,=!+!=!$"5,!!D$%$!&'!(!"(/.$!7&"#!"#$'$!0*$%("0%'!

&2!/0"#!10%>'!(23!"#$&%!4'(<$C

K?>Q878?>6@(@8>R(?LF:67?:9(8>(:;<=

aa 65, )023&"&02(.!&'!"%4$!&1!.&28$3!'"("$>$2"'!(%$!/0"#!"%4$,

xx +! )023&"&02(.!&'!"%4$!&1!$&"#$%!01!"#$!.&28$3!'"("$>$2"'!(%$!"%4$,

\ 5+4 )023&"&02(.!&'!"%4$!&1!(""(5#$3!'"("$>$2"!&'!1(.'$!G&,$,!&"!70%8'!.&8$!EoI,

>?#%>#)$1)@%!"#)1-')%%[07!"#("!604!8207!"#$!.02<!#(23!7(6!"0!30!%&!'"("$>$2"'=!H!

704.3!.&8$!"0!'#07!604!(!/&"!01!(!'#0%"54",! !-#$!"$%2(%6!0*$%("0%!G9(230>!*&$5$!01!

"%&?&(C ! "#$! "$%2(%6 !0*$%("0% ! &' !2(>$3!'&>*.6 ! 10% !#(?&2<! "#%$$ !*(%"'I !(..07' !604! "0!

$@$54"$!(2!&1!'"("$>$2"!7&"#04"!5%$("&2<!(2!$2"&%$!%&!/.058,!!Q0%!$@(>*.$=!#$%$!&'!(2!%&(

/.058!10..07$3!/6!&"'!"$%2(%6!$f4&?(.$2"C

%&(FLf-2L(EE(Lc+LG(48-5((3"42(@C!+5=\@-.2-((3"42(@f-68B(#6#$\@-5,

"(f-68(#6#$\

FLf-2L(EE(Lc+LG(D(F3"42(@C!+5=\@G(W(3"42(F@f-68B(#6#$\@G

"(f-68(#6#$\

-#$!"$%2(%6!0*$%("0%!502'&'"'!01!"#$!f4$'"&02!>(%8!(1"$%!(!5023&"&02(.!G7#&5#!4'$'!"#$!

'(>$!0*$%("0%'!('!(2!%&!'"("$>$2"I!(23!(!50.02!/$"7$$2!"#$!"70!*0''&/.$!/%(25#$'!01!

503$,!!-#$!*(%$2"#$'$'!(%$!20"!$''$2"&(.!&2!$?$%6!5('$=!/4"!30!$2#(25$!%$(3(/&.&"6!(23!

$*!!!='1$)2(#,:(>).;(?&.,$3.)@8

Page 67: Humble Little Ruby Book

(..07!604!"0!'*(2!"#$!/%(25#$'!>4."&*.$!.&2$'!G&,$,!0*$2!"#$!*(%$2"#$'$'!02!02$!.&2$!

$2"$%!$(5#!.&2$!01!503$!(23!5.0'$!"#$!*(%$2"#$'$'!02!(20"#$%!.&2$I, ! !-#&'!>4."&F.&2$!

/$#(?&0%!&'!20"!%$50>>$23$3!/$5(4'$!&"!'.&<#".6!>(2<.$'!"#$!503$!(23!%$(..6!30$'2;"!

'(?$!604!(26!"6*&2<!("!(..!50>*(%$3!"0!(2!%&!'"("$>$2",

A$,#::% %H2!94/6!"#$ !"5.-22! 5023&"&02(.!'"("$>$2"!0*$%("$'!('!(!J%$?$%'$J !%&,! !H!'(6!

%$?$%'$!/$5(4'$!&2!(2!%&=!"#$!>(&2!/%(25#!$@$54"$'!02.6!&1!"#$!5023&"&02(.!&'!"%4$P!&2!(2!

"5.-22! '"("$>$2"=!"#$!>(&2!/%(25#!02.6!$@$54"$'!&1!"#$!*%0?&3$3!5023&"&02!&'!1(.'$,!

Q0%!$@(>*.$C

"5.-22(F@V(6)(4!"-/@(EE(@V(6)(4!"-/@GW((3"42(@]+)-48%5=(7+5?$\@-.2-((3"42(@O..(%2(6.!%=84\@-5,

"(O..(%2(6.!%=84\

N&25$!JH!(>!"%4$,J!30$'!&23$$3!$f4(.!JH!(>!"%4$,J=!"#$!>(&2!/%(25#!&'!20"!$@$54"$3!/4"!

"#$ !-.2-! /%(25#! &', ! !-#&' !'"%45"4%$!30$'2;" !*%0?&3$!(26"#&2<!0?$%!(2 !%&! '"("$>$2"!

$@5$*"!"0!$2#(25$!%$(3(/&.&"6!01!"#$!503$!G$,<,!&";'!>45#!$('&$%!(23!5('4(.!"0!'(6!J]0!

"#&'!42.$''!"#&'J!%("#$%!"#(2!J]0!"#&'!42.$''!"#&'!&'!20"!"#&'J!(23!"0!(?0&3!7%&"&2<!(!.0"!

01!2$<("&?$!%&;'P!8$$*&2<!*0'&"&?$!5#&!&2!604%!503$!&'!?$%6!&>*0%"(2"!"0!"#$!$>0"&02(.!

#$(."#!01!94/6I,!

&-1-#4#$-%+'2.;.#): %%-#$ !%&! '"("$>$2"! (.'0!011$%'!(!2&1"6!*&$5$!01!'62"(5"&5!'4<(%!

5(..$3!(!>03&1&$%P !"#&'!502'"%45"!(..07'!604!"0!"(<!(2 !%&! '"("$>$2"!02!"#$!$23!01!(!

'"("$>$2"!(23!#(?$!&"!3$5&3$!7#$"#$%!0%!20"!"#$!'"("$>$2"!&'!(""(5#$3!"0!'#04.3!/$!

$@$54"$3,!!Q0%!$@(>*.$C

48-.)6e.+"%2-(E(:Z3"42(@]8-L2(.-22(4865(:j(6.!%=84\@(%&(48-.)6e.+"%2-(d(:j3"42(@]8-(6%5L4()+!-(4865(:XB(48+"=8\@(%&(48-.)6e.+"%2-(d(:X

"(]8-L2(.-22(4865(:j(6.!%=84\

\'!604!5(2!'$$=!&1!604!'&>*.6!"(<!02!(2!%&!'"("$>$2"!"0!$23!01!(!.&2$=!&"!7&..!$?(.4("$!"#$!

%&! '"("$>$2"!1&%'"!(23!$@$54"$!"#$!503$!&1!&"!1&23'!"#("!"#$!&1!'"("$>$2"!&'!"%4$,! !-#&'!

502'"%45"!%$*.(5$'!503$!.&8$!"#&'C

%&(48-.)6e.+"%2-(d(:jW((3"42(@]8-L2(.-22(4865(:j(6.!%=84\@-5,

7&"#!( ! 1(% !>0%$!5025&'$!(23!$.$<(2"!'0.4"&02, ! !1$236"<",$7, ! !-#&' !502'"%45" !5(2!/$!

"(<<$3!02!"0!#-=%5>-5,!/.058'!(.'0,!!Q0%!$@(>*.$C

#-=%5((3"42(@V4L2(2+(4!"-\@-5,(%&(F4!"-(EE(4!"-G

"(V4L2(2+(4!"-\

='1$)2(#,:(>).;(?&.,$3.)@8!!!$)

Page 68: Humble Little Ruby Book

-#&'!&'!(!?$%6!$.$<(2"!'0.4"&02!10%!502"%0..&2<!/&<!/.058'!01!503$!%("#$%!"#(2!#(?&2<!(!

#4<$= ! 0*$2 !%&! '"("$>$2" ! "#(" ! '*(2' !W++ ! .&2$' ! G$'*$5&(..6 ! &1 ! "#$%$;' ! "#(" ! 02$ ! $23!

8$670%3!604!10%<0"!"0!3%0*!&2I,

7"2(*62-(9$#$2H2,$

H1!604!#(?$2;"!20"&5$3=!H;>!(..!(/04"!#(?&2<!"#$!2$("$'"!503$!&2!"#$!.$('"!'"%08$'!G7#0!

&'2;"!207(3(6'AI,! !H" !<$"'!%$(..6!&%%&"("&2<!%$(..6!1('"!7#$2!604!(%$!"$'"&2<!"#$!'(>$!

?(.4$!0?$%!(23!0?$%!(<(&2!&2!(!'$%&$'!01!%&!(23!-.2%&!'"("$>$2"'!"#("!f4&58.6!(33!4*!"0!

( ! .0" !01!'.0**6!.008&2<!503$,! !H";'!( !<003!"#&2<!"#("!"#$%$!&' !( !7(6!"0!*4"!(.. !"#0'$!

"0<$"#$% !&2"0 !02$!'62"(5"&5(..6!'4<(%.&5&04'!/.058!5(..$3!( !*62-! '"("$>$2", ! !\ !*62-(

'"("$>$2"!50>$'!&2!"70!10%>'!&2!94/6,! !-#$!1&%'"!10%>!&'!"#$!J'"(23(%3J!7(6 !*62-(

'"("$>$2"' !0*$%("$C !604 !#(?$ !( !J"(%<$"J !?(%&(/.$ !(23 !$(5#!5('$ ! &' !( ! "$'" !01 !?(.4$'!

(<(&2'"!"#("!?(%&(/.$,!!Q0%!$@(>*.$C

48-e46+(E(:XZ<

*62-(48-e46+((78-5([[[W(3"42(@P864L2(2"*8(6(.%-\@((78-5(:ZZk((((3"42(@s%6!!!!\@((78-5(ZXk[k(48-5((((3"42(@C864-1"!!!!\@((-.2-((((3"42(@f+"(6!-(86!)+5%9-,(7%48(48-(P6+/@-5,

"(f+"(6!-(86!)+5%9-,(7%48(48-(P6+/

-#&'!10%>!01!"#$!*62-!'"("$>$2"!'&>*.6!"$'"'!"#$!"(%<$"!?(.4$!(<(&2'"!"#$!?(.4$'!&2!"#$!

5('$'P!5('$'!(%$!10%>$3!4'&2<!"#$!78-5!8$670%3!10..07$3!/6!"#$!"$'"!7#&5#!&'!10..07$3!

$&"#$%!/6!"#$!70%3!48-5!0%!(!50.02!G/0"#!01!7#&5#!(%$!202F$''$2"&(.!&1!"#$!5('$!'"(%"'!02!

"#$!2$@"!.&2$IP!"#$ !78-5! 8$670%3!'$<>$2"'!"#$!5('$'!'0!20!J-5,J!8$670%3!&'!2$$3$3!

$@5$*"!"0!5.0'$!"#$!*62-!/.058,!!^(5#!5('$!&'!"$'"$3!'"(%"&2<!1%0>!"#$!"0*P!7#$2!(!>("5#!

&'!10423!"#$!*%0*$%!/%(25#!&'!$@$54"$3!(23!"#$!/.058!$@&"',! !H1!20"#&2<!>("5#$'!"#$2!

"#$!$.'$!5.(4'$!&'!$@$54"$3!GZ4'"!('!&2!%&!/.058'I,

-#$!'$5023!10%>!01!"#$!5('$!'"("$>$2"!(33'!>0%$!1.$@&/&.&"6!/6!(..07&2<!604!

"0 !4'$ !5023&"&02(.' ! .&8$ !%&! '"("$>$2"' !(23!%$>0?&2<!"#$! "(%<$", ! !^?$2!"#04<#! "#$!

"(%<$"!&'!%$>0?$3=!604!5(2!'"&..!4'$!"#$>!&2!"#$!'(>$!7(6!604!704.3!"#$!1&%'"!10%>C

-5.%=84-5)-54(E(<X

*62-78-5(-5.%=84-5)-54(q([mW((3"42(@f+"(6!-(4++(8624$B(=!6228+33-!/@78-5(-5.%=84-5)-54(d(<m(+!(-5.%=84-5)-54(EE(5%.W((3"42(@f+"(6!-(.%?-(48-(2.+48B()$(&!%-5,/((M%.%=-5*-(%2(?-$\@78-5(-5.%=84-5)-54(EE(<XW((3"42(@A-..+B(n5.%=84-5-,(J5-/@-.2-((3"42(@f-68B(5+4(`"%4-B(36./((U6$#-(5-'4(4%)-/@-5,

"(A-..+B(n5.%=84-5-,(J5-/

$!!!!='1$)2(#,:(>).;(?&.,$3.)@8

Page 69: Humble Little Ruby Book

\'!604!5(2!'$$=!"#&'!10%>!5(2!'"&..!/$!4'$3!"0!50>*(%$!(!'&2<.$!?(%&(/.$=!/4"!(..07'!10%!

>0%$!%0/4'"!50>*(%&'02'!"#(2!"#$!1&%'"!10%>,! !^(5#!50>*(%&'02!&'!5#$58$3=!'"(%"&2<!

7&"#!"#$!"0*!5('$=!1&%'"!50>*(%&'02=!70%8&2<!"0!"#$!%&<#"!(23!3072P!7#$2!(!5('$!&'!

>("5#$3!G&,$,!(.. !5023&"&02'!2$$3$3!10%!(!5('$!"0!/$!"%4$!(%$!>$"!&25.43&2<!5#(&2$3!

5023&"&02'I!"#("!/%(25#!&'!$@$54"$3!(23!"#$!/.058!$@&"',

\!50>>02(.&"6!/$"7$$2!"#$!"70!10%>'!&'!"#$&%!.(58!01!J1(..!"#%04<#JP!&2!>(26!

*%0<%(>>&2<!.(2<4(<$'=!*62-!/.058'!%$f4&%$!'0>$!'0%"!01!8$670%3!G4'4(..6!#!-6?!0%!

'0>$"#&2<!'&>&.(%I!7#&5#!"$..'!"#$!(**.&5("&02!"0!8$$*!5#$58&2<!"#$!0"#$%!5023&"&02(.'!

(1"$%!"#("!/.058!&'!1&2&'#$3,!!Q0%!$@(>*.$=!.008!("!"#&'!)F'"6.$!'62"(@!'2&**$"C

%54()$e5")#-!(E(<Xb

27%4*8F)$e5")#-!G(R

((*62-(<:W((((3!%54&F@O(.%44.-(8%=8-!///@Gb((((#!-6?b

((*62-(<XW((((3!%54&F@f+"(861-(&+"5,(48-(6527-!\N5@Gb

((,-&6".4W((((3!%54&F@O5,(861-(&6..-5(%54+(6(8+.-(%5(48-(T(*+)3%.-!\N5@Gb((((#!-6?b

S

"(f+"(861-(&+"5,(48-(6527-!\

"(O5,(861-(&6..-5(%54+(6(8+.-(%5(48-(T(*+)3%.-!\

H1!&";'!20"!$?&3$2"!1%0>!"#$!503$=!"#$!#!-6?!8$670%3!7&..!$@&"!"#$!27%4*8!/.058!&1!&"!&'!

$25042"$%$3,! !-#&'!8$670%3!&'!20"!2$$3$3!&2!94/6!'&25$!&"!30$'2;"!#(?$!1(..!"#%04<#=!

/4" ! '&25$ ! )F'"6.$ ! .(2<4(<$' ! 30= ! "#$ !,-&6".4! /.058 ! G.&8$ ! 94/6;' !-.2-! &2 ! 5('$!

'"("$>$2"'I!<$"'!$@$54"$3!/$5(4'$!"#$%$!7('!20!/%$(8!&2!"#$!/.058!"#("!$?(.4("$3!"0!

"%4$!G&,$,!5('$!SRI,! !\'!#$.*14.!('!"#$!1(..!"#%04<#!>$5#(2&'>!&'=!&"!5(2!%$(..6!/$!f4&"$!

(2206&2<!7#$2!"#$!.(58!01!02$!#!-6?!'"("$>$2"!5(4'$'!604%!$2"&%$!(**.&5("&02!"0!50>$!

"0!(!'5%$$5#&2<!#(.",

@??L9

X00*'!'(?$!604%!1&2<$%' !(23!/%(&2!( ! .0" !01 !70%8!/6!$@$54"&2<!"#$!'(>$!0%!'.&<#".6!

3&11$%$2" ! 503$ !24>$%04' ! "&>$'= ! %$'*023&2< ! "0 ! 5023&"&02' ! (' !2$$3 !/$, ! !X00*' ! (%$!

$''$2"&(..6!(!'$f4$25$!01!'"("$>$2"'!7#&5#!604!$2"$%!025$!/4"!7#&5#!>(6!/$!5(%%&$3!

04"!'$?$%(.!"&>$'!&2!'455$''&02!(!1&2&"$!24>/$%!01!"&>$'=!>(6/$!025$!10%!$(5#!>$>/$%!

01!(!50..$5"&02!0%!42"&.!'0>$!5023&"&02!&'!>$",! !B$;..!50?$%!/0"#!01!"#$'$!"6*$'!&2!"#$!

50>&2<!'$5"&02',

4+%,$)$+%30'8++9-(

)023&"&02(.!.00*'!$@$54"$!/('$3!02!(!*%0?&3$3!5023&"&02(.!'"("$>$2"!G&,$,!"#$!'(>$!

5023&"&02(.'!4'$3!&2 !*62-= !%&= !(23 !"5.-22! /.058'IP!"#$'$!.00*'!50>$!&2!"70!10%>'C!

78%.-!(23!"54%.,!!\!78%.-!.00*!7&..!$@$54"$!02.6!7#&.$!(!5023&"&02(.!&'!"%4$C

='1$)2(#,:(>).;(?&.,$3.)@8!!!$"

Page 70: Humble Little Ruby Book

'(E(m78%.-F'(d(:mGW((3!%54('/4+e2(Q(3!%54(%2(.%?-(3"42(7%48+"4(6(N5(64(48-(-5,(('(HE(:-5,

"(m:XZ<j[k;l

^(5#!&"$%("&02=!"#$!5023&"&02(.!&'!5#$58$3P!&1!&"!$?(.4("$'!"0!4!"-=!"#$!/%(25#!$@$54"$'P!

0"#$%7&'$=!"#$!/.058!$@&"',!!

H2!0"#$%!70%3'=!&";'!('!&1!604!*4"!(2!%&! '"("$>$2"!("!"#$!"0*!01!"#$!.00*!(23!"#$!>(&2!

/%(25#!&'!$@$54"$3!42"&.!"#$!%&!'"("$>$2"!/$50>$'!1(.'$,!!-#$!"54%.!.00*!#('!"#$!'(>$!

%$.("&02'#&*!('!"#("!01!"#$!"5.-22!'"("$>$2"!"0!"#$!%&!'"("$>$2"C

'(E(m"54%.F'(qE(:mG((3!%54('/4+e2(('(HE(:-5,

"(m:XZ<j[k;l

^(5#!&"$%("&02!01!"#$!.00*=!"#$!5023&"&02(.!&'!5#$58$3!Z4'"!.&8$!(!78%.-!.00*=!$@5$*"!&2!

(2!"54%.!.00*=!"#$!/%(25#!&'!$@$54"$3!&1!"#$!5023&"&02(.!$?(.4("$'!"0!&6.2-,!!

$#!!!='1$)2(#,:(>).;(?&.,$3.)@8

!"#$%&'O)'D0&'.0"6&'6,,8)'7&;;"+#';0&'7;4+54%5'/,%'6,,8"+#'7"+<&'(PMC:

Page 71: Humble Little Ruby Book

K45#!.&8$!"#$ !"5.-22! '"("$>$2"= ! &1 ! "#$!5023&"&02(.!*%0?&3$3! &' ! "%4$!"#$2!"#$!>(&2!

/%(25#!&'!'8&**$3=!(23=!&2!"#$!5('$!01!"#$!"54%.!.00*=!"#$!/.058!$@&"',

-#$'$!.00*'!(%$!<%$("!&1!604!(%$!30&2<!'0>$!'$f4$2"&(.!0*$%("&02!G&,$,!30&2<!

"$2 ! %$*$"&"&02' ! 01 ! "#$ ! '(>$ ! "('8= ! 04"*4""&2< ! 0%3$%$3 ! 3("(= ! 0%= ! .&8$ ! "#$ ! $@(>*.$'=!

5042"&2<I= ! /4" ! "#$6 ! #(?$ ! "#$&% ! *&"1(..', ! ! H1 ! "#$ ! 5023&"&02(. ! 30$'2;" ! >$$" ! "#$!

%$f4&%$>$2"'!10%!"#$!/%(25#!"0!/$!$@$54"$3!G&,$,!"%4$!10% !78%.-! (23!1(.'$!10% !"54%.I!

/$10%$!"#$!1&%'"!$@$54"&02=!"#$!.00*!2$?$%!%42'P!/$!(7(%$!01!"#&'!*0''&/&.&"6!&1!604!(%$!

>(2&*4.("&2<!?(%&(/.$'!&2!"#$!.00*!"#("!$@&'"!04"'&3$!01!"#$!.00*!7#0'$!>(2&*4.("$3!

?(.4$'!(%$!$''$2"&(.!"0!604%!(**.&5("&02;'!$@$54"&02!(1"$%!"#$!.00*,!!-#&'!5023&"&02!5(2!

(23 ! 7&.. ! 5(4'$ ! *%0/.$>'= ! '0 ! >(8$ ! '4%$ ! "#(" ! 604 ! 30 ! ( ! ?$%&"(/.$ ! (''0%">$2" ! 01!

?$%&1&5("&02'!02!604%!?(%&(/.$'!G>0%$!02!"#&'!.("$%I,!!

\20"#$%!*&"1(.. !"#("!>(6!%$(%!&"'!4<.6!6$"!'0>$#07!>&.3.6!/$(%(/.$!#$(3!&'!

"#(" ! "#$ ! 5023&"&02(. !>(6 ! 2$?$% ! %$(5# ! ( ! '"("$ !7#$%$ ! "#$ ! .00* !7&.. ! /%$(8 ! G&,$, ! "#$!

5023&"&02!&2!604%!7#&.$!.00*!>(6!2$?$%!%$(5#!1(.'$I!(23!"#4'!*4"!604%!*%0<%(>!&2"0!(2!

&21&2&"$ ! .00*!(23! .$(3 ! &" !(23 !(.. ! 01 !)%$("&02 ! &2"0 !0/.&?&02, ! ! H";' !/$$2 !'(&3 ! "#(" ! "#$!

42&?$%'$ ! (5"4(..6 ! &>*.03$' ! (23 ! 50>*%$''$' ! "0 ! "#$ ! '&L$ ! 01 ! ( ! '&2<.$ ! O0586 ! &1 ! "#&'!

#(**$2'=!/4"!H!5(2;"!?$%&16!"#(",! !N0=!#07!30!604!*%$?$2"!"#("!1%0>!#(**$2&2<A! !Q0%!

'"(%"$%'= !>(8$ ! '4%$ ! "#(" ! 604 !4'$ ! (' ! 1.$@&/.$ ! 5023&"&02(.' ! (' !*0''&/.$ ! G$,<, ! "#$ !qo!

0*$%("0%!&'!*%0/(/.6!(!/$""$%!&3$(!"#(2!oo!&1!604;%$!5042"&2<!4*!'&>*.6!/$5(4'$!604!

2$?$%!&1!/6!'0>$!1%$(8!(55&3$2"!&"!>&<#"!<0!0?$%!604%!&2"$23$3!?(.4$P!"#&'!&'2;"!"#$!/$'"!

&3$(!&2!(..!'5$2(%&0'=!/4"!&"!'#04.3!/$!502'&3$%$3I!(23!>(8$!'4%$!604!&2"$%(5"!7&"#!"#$!

5023&"&02(. !?(.4$ ! G>(8$ ! '4%$ !604!(5"4(..6 !30! '0>$"#&2< ! "0 !(11$5" ! "#$ !5023&"&02(.P!

604;3!/$!'4%*%&'$3!#07!>(26!*$0*.$!10%<$"!"#("I,

='1$)2(#,:(>).;(?&.,$3.)@8!!!$$

!"#$%&'P)'K';0"+?';0&'$+;"6''6,,8'#&;7'Q&46,$7',/'466';0&'4;;&+;",+';04;'8&,86&'#"-&'.0"6&:

Page 72: Humble Little Ruby Book

H1!604;%$!(!#(%350%$!'(") *++,! !*%0<%(>>$%=!604!>(6!/$!'(6&2<!"0!604%'$.1=!

J:0=!100.E!H!(&2;"!<0"'!"0!/$!70%%6&2<!(/04"!"#("!/$5(4'$!H!/$!4'&2<!"#0'$!10;!.00*'!10;!

%&LL.$EJ! !-#("!>(6!/$!"%4$=!(23!604;3!/$!8$$*&2<!&"!%$(.!&2!(/04"!(26!0"#$%!.(2<4(<$!

$@5$*"!94/6,!!-#(";'!%&<#"C!94/6!30$'2;"!011$%!(!J10%!.00*J!&2!"#$!"%(3&"&02(.!'$2'$=!/4"!

&"!30$'!011$%!02$!"#("!4'$'!"#$!8$670%3!&+!,,,

:)"63)$%&'8++9-'3%,'/0+12-(

H2!>6!.&1$!('!(!3$?$.0*$%=!H;?$!'$$2!'0>$!%("#$%!*%$*0'"$%04'!*&$5$'!01!503$P!$?$%6"#&2<!

1%0>!"$@" !1&.$' !4'$3!(' !#&<#!"%(11&5!3("(/('$'!(.. !"#$!7(6!"0!*$0*.$!%$&2?$2"&2<!"#$!

7#$$.!("!.$('"!Tj!"&>$'!34%&2<!"#$!504%'$!01!"#$&%!(**.&5("&02!3$?$.0*>$2"!G2$7'!1.('#!

"0 ! (.. ! 3$?$.0*$%'= ! *%0<%(>>$%'= ! (23 ! #(58$%' ! 04" ! "#$%$C ! >0'" ! .(2<4(<$' ! #(?$!

3("$`"&>$!>(2&*4.("&02!%04"&2$'=!7#&5#!>$(2'!604!302;"!2$$3!"0!7%&"$!604%!072!10%!

604%!(**.&5("&02!(23`0%!>034.$,!!-#(28!604,I,!!-#$'$!*$0*.$!(%$!#02$'".6!Z4'"!>(8&2<!

&"!1(%!>0%$!3&11&54."!10%!"#$>'$.?$'!(23!$?$%602$!$.'$P!"#(";'!'0%"!01!"#$!7(6!H!1$$.!7#$2!

H!'$$!*$0*.$!4'&2<!5023&"&02(.!.00*'!"0!<%08!(!50..$5"&02!&2!.(2<4(<$'!"#("!*.(&2.6!011$%!

'0>$"#&2<!/$""$%,!!Q0%!$@(>*.$=

)$e6!!6$(E(o:ZB(:B(<B(jB(Xlp

%(E(m

78%.-(F%(d()$e6!!6$/.-5=48G((3!%54()$e6!!6$o%p/4+e2(H(@(@((%(HE(:-5,

"(:Z(:(<(j(Xl

704.3!70%8=!/4"!&'!20"!"#$!/$'"!(2'7$%!G$'*$5&(..6!&2!94/6I,! !94/6!011$%'!(!504*.$!01!

7(6'!"0!&"$%("$!(!50..$5"&02!'(1$.6=!$('&.6=!(23!$11&5&$2".6C!&"$%("&2<!.00*',! !-#$!1&%'"!01!

"#$'$!&'!"#$!&+!!.00*,!!-#$!&+!!.00*!&2!94/6=!('!20"$3!/$10%$=!&'2;"!.&8$!"#$!&+!!.00*!&2=!

'(6=!)!0%!&"'!3$%&?("&?$'=!/4"!H!1$$.!&";'!$?$2!&21&2&"$.6!>0%$!4'$14.,

-#$ !&+!! .00*! &2!94/6!/$#(?$'!?$%6!'&>&.(%.6!G(.>0'"!&3$2"&5(..6I!"0!"#$ !&+!(

.00*!&2!O6"#02C!(!50..$5"&02!&'!*%0?&3$3=!(23!"#$!&+!! .00*!*%0?&3$'!(!.05(.!?(%&(/.$!"0!

#0.3!$(5#!&"$>!('!&"!&"$%("$',!!

$%!!!='1$)2(#,:(>).;(?&.,$3.)@8

Page 73: Humble Little Ruby Book

X$";'!.008!("!(!503$!$@(>*.$P!7$;..!5%$("$!(2!(%%(6!01!$?$2!24>/$%'=!(23!"#$2!*%&2"!

"#$>!04"!4'&2<!(2!&"$%("0%,

)$e-1-52(E(oXB<B[B;B:mB:XB:<p

&+!()$e%54(%5()$e-1-52((3!%54()$e%54/4+e2(H(@B(@-5,

"(XB(<B(jB([B(;B(:mB(:XB(:<B

-#&'!&'!.&8$!'(6&2<=!JH!7(2"!"0!5%$("$!(!.05(.!?(%&(/.$!)$e%54!10%!$(5#!0/Z$5"!&2!)$e-1-52(

(23!30!'0>$"#&2<!7&"#!&",J!!^?$%6!"&>$!"#$!.00*!&"$%("$'=!"#$!2$@"!?(.4$!&2!)$e-1-52!&'!

50*&$3!&2"0!"#$!?(%&(/.$!)$e%54P!"#&'!?(%&(/.$!(..07'!604!"0!>(2&*4.("$!"#$!&"$>!&2!"#$!

50..$5"&02!$('&.6!G(23=!'&25$!"#$!0%&<&2(.!0/Z$5"!&'!50*&$3!&2"0!"#("!?(%&(/.$=!604!5(2!

>(2&*4.("$!&"!7&"#04"!%&'8!01!/&"!"7&33.&2<!&2!"#$!0%&<&2(.!50..$5"&02I,!!

='1$)2(#,:(>).;(?&.,$3.)@8!!!$&

!"#$%&'(R)'K;&%4;,%7'94?&';0"+#7'9$<0'&47"&%'4+5'74/&%';04+'<,+5";",+46 '6,,87'.0&+'$7"+#'<,66&<;",+7:

Page 74: Humble Little Ruby Book

-#$!&+!!.00*!&'!%$(..6!Z4'"!'(.(5&04'!'62"(5"&5!'4<(%!10%!(2!&"$%("0%P!(2!&"$%("0%!

&'!'&>*.6!(!/.058!01!503$!"#("!&"$%("$'!0?$%!(!50..$5"&02!*%0?&3$3!/6!"#$!$(5#!>$"#03!01!

(!5.('',!!Q0%!$@(>*.$=!.$";'!.008!("!"#$!(/0?$!$@(>*.$!&2!"#$!&"$%("0%!10%>C

)$e-1-52(E(oXB<B[B;B:mB:XB:<p

)$e-1-52/-6*8(,+(x)$e%54x((3!%54()$e%54/4+e2(H(@B(@-5,

"(XB(<B(jB([B(;B(:mB(:XB(:<

\2!&"$%("0% ! &' ! 10%>$3!/6!5%$("&2<!( !#-=%5>-5,! /.058!G3&'54''$3!(/0?$I! !/4" !4'&2<!

,+>-5,!('!"#$!&2&"&("0%P!604!(%$!$''$2"&(..6!5%$("&2<!(!'*$5&(.!"6*$!01!#-=%5>-5,!/.058!

"#("!7&..!/$!&"$%("$3!10%!$(5#!&"$>!&2!"#$!50..$5"&02,!!-#&'!"6*$!01!.00*!2("4%(..6!<4(%3'!

(<(&2'"!"#$!?(%&(/.$!3&'50%3!"#("!604!>(6!$25042"$%!/6!&25%$>$2"&2<!(2!&23$@!4'&2<!

'0>$"#&2<! .&8$ !( !78%.-! .00*! G&,$, !604!<0 !0?$% ! "#$ !?(.4$ !604!7(2" ! &1 !4'&2< ! "#$ !EE(

0*$%("0%=! !604%!?(.4$!2$?$%!<$"'!(/0?$!"#$!2$$3$3!?(.4$!&1 !4'&2<!( !d! 0*$%("0%=!$"5,I!

7#&.$ ! (.'0 ! *%0?&3&2< ! ( ! >0%$ ! 2("4%(. ! 7(6 ! "0 ! (55$'' ! "#$ ! ?(.4$ ! 604 ! 7(2"$3,!

_210%"42("$.6!"#&'!502?$2&$25$!50>$'!("!"#$!*%&5$!01!1.$@&/&.&"6,! !H2!(!78%.-!0%!"54%.(

.00*!604!5(2!(."$%!#07!f4&58.6!604%!5023&"&02(.!%$(5#$'!"#$!'"("$!"#("!(..07'!"#$!.00*!

"0!/%$(8!G(.'0!5(..$3!'"$*I!/6!(33&2<!>0%$!"#(2!T!"0!"#$!?(.4$!604;%$!8$$*&2<!"%(58!0%!

'0>$"#&2<!.&8$!"#("P!"#&'!(/&.&"6!&'!'$?$%$.6!.&>&"$3!&2!(2!&"$%("0%!.00*!G&,$,!&"!30$'2;"!

$@&'"!42.$''!604!7(2"!"0!4'$!"#$!5-'4!>$"#03!'0>$#07!"0!>(8$!&"!#(**$2I,!!l$$*!"#&'!

&2 !>&23 ! 7#$2 ! 604 ! 3$5&3$ ! 7#&5# ! "6*$ ! 01 ! .00* ! "0 ! 4'$P ! &" ! 5(2 ! <%$(".6 ! (11$5" ! "#$!

*$%10%>(25$!(23!'"(/&.&"6!01!604%!(**.&5("&02,

9$#$2H2,$(0.B+V+231

X00*'!011$%!(!502'"%45"!?$%6!'&>&.(%!"0!"#$!%&! '"("$>$2";'!>03&1&$%,! !X00*'!(%$!<%$("!

7(6'!"0!'(?$!"&>$!(23!503$=!/4"!"#$6!(%$2;"!?$%6!J2("4%(.JP!H!>$(2!7#$2!%$*$("&2<!(!

"('8!G'45#!('!/(2<&2<!604%!#$(3!&2"0!(!>&%%0%!04"!01!'#$$%!1%4'"%("&02I!604!"6*&5(..6!

302;"!"#&28!&2!"#$!10%>!!01!(!.00*!502'"%45",

78%.-F2-.&/*+52*%+"2(EE(4!"-G((2-.&/8-6,e#65=F@)%!!+!@G-5,

-#(";'!'&>*.6!20"!#07!04%!>&23!4'4(..6!70%8'=!(23!10%"42("$.6= !94/6=!&2!(.. !01! &"'!

%$(3(/.$!<.0%6=!#('!3$5&3$3!"0!/.$''!4'!7&"#!"#$!.00*!'"("$>$2"!>03&1&$%!502'"%45",!

Q0%!$@(>*.$C

2-.&/8-6,e#65=(78%.-(2-.&/*+52*%+"2(EE(4!"-

-#&'!502'"%45"!&'!20"!02.6!>0%$!2("4%(.!"0!%$(3!(23!'(6=!/4"!&"!&'!(.'0!>0%$!5025&'$P!604!

'"&..!#(?$!(..!"#$!'(>$!1425"&02(.&"6!/4"!&2!>45#!.$''!503$!(23!#(''.$,! !-#&'!502'"%45"!

70%8'!7&"#!/0"# !78%.-! (23 !"54%.! .00*'!G/4"!20"!(26!01!"#$!&"$%("&2<!.00*'IP!&"!(.'0!

70%8'!7&"# !#-=%5>-5,! /.058'!7#&5#!(..07'!604!"0!30!*0'"F"$'"!.00*'!G&,$,!.00*'!"#("!

(.7(6'!$@$54"$!("!.$('"!025$!/$10%$!5#$58&2<!"#$!5023&"&02(.!('!0**0'$3!"0!"#$!*%$F"$'"!

.00*' ! "#(" !7$;?$ !/$$2!4'&2<I, ! !Q0% ! $@(>*.$= ! &1 ! 604 !7(2"$3 ! "0 !04"*4" ! "#$ !^2<.&'#!

"%(2'.("&02!01!J-0%(E!!-0%(E!!-0%(EJ!604!504.3!7%&"$C

*+"54-!(E(m

$'!!!='1$)2(#,:(>).;(?&.,$3.)@8

Page 75: Humble Little Ruby Book

#-=%5((3!%54(4!652.64-F@P+!6\(@G((*+"54-!(HE(:-5,("54%.(*+"54-!(EE(Z

"(i!%-&*62-\(i!%-&*62-\(i!%-&*62-\

H2!"#&'!'$"4*=!"#$!/.058!7&..!(.7(6'!$@$54"$!("!.$('"!025$!%$<(%3.$''!01!"#$!"%4"#!01!"#$!

(""(5#$3!5023&"&02(.!G42.&8$!&1!604!'&>*.6!4'$!"#$!78%.-!0% !"54%.! .00*I,! !]0!8$$*!&2!

>&23!7#$2!4'&2<!"#&'!502'"%45" !"#(" !604!(%$!'"&..= !("! &"' !50%$=!4'&2<!"#$ !78%.-! (23!

"54%.! .00*=!7#&5#!>$(2'!"#("!&"!&'!'"&..!'4'5$*"&/.$!"0!"#$!'(>$!*&"1(..'!(23!*%0/.$>'!

7&"# ! ?(%&(/.$', ! !K(8$ ! '4%$ ! "0 ! "$'" ! 604% ! (**.&5("&02 ! "#0%04<#.6 ! 10% ! (26 ! *0"$2"&(.!

*%0/.$>'!%$.("$3!"0!"#&',

K.,$3.))+,N(@..T1

]0$'!&"!'$$>!"#("!.00*'!#(?$!604%!(**.&5("&02!&2!(!'"%(2<.$!#0.3A!!-#$6!30!'$$>!"0!/$!

#4.8&2<=!30>&2$$%&2<=!42'"0**(/.$!/$#$>0"#'!"#("!'"0*!02.6!7#$2!"#$6!3(%2!7$..!1$$.!

.&8$!&",!!B$..=!(5"4(..6!"#$6!*%0/(/.6!Z4'"!'$$>!.&8$!%$(..6!4'$14.!502'"%45"'!"#("!(%$!#(%3!

"0!502"%0.!7&"#04"!(%"&1&5&(.!/&"!"7&33.&2<!&2!"#$!5023&"&02(.,!!Q0%!$@(>*.$C

)$e'(E(::j)$e$(E(<m4-)3(E(m

78%.-F)$e'(d(:jmG((%&(F)$e'(^()$e$G(EE(mW(Q(%&(48-(`"+4%-54(%2(-1-5((((4-)3(E()$e'(((()$e'(E(:j:((-.2-(((()$e'(HE(:((-5,((3"42()$e'-5,

)$e'(E(4-)33"42()$e'

"(:Xm

-#(";' !( !/&" !3(2<$%04' ! &1 !604!('8 !>$!G(23! &1 !604;%$ ! %$(3&2<!"#&'= !604! Z4'" !>&<#"IP!

(%"&1&5&(..6!(."$%&2<!"#$!5023&"&02(.!?(.4$!5(2!.$(3!"0!'0>$!5%(L&2$''!&2!604%!(**.&5("&02!

G&,$,!(55&3$2"(..6!'8&**$3!503$=!"#$!?(%&(/.$!/$&2<!4'$3!04"'&3$!01!"#$!.00*!7&"#04"!"#$!

"$>*!?(.4$!/$&2<!'"0%$3!/(58!&2"0!&"=!$"5,I,! !H2!94/6=!"#$%$!(%$!?(%&04'!8$670%3'!"#("!

(..07!604!502"%0.!"#$!1.07!01!.00*',!!-#$!5-'4!8$670%3!(..07'!604!"0!'8&*!"#$!54%%$2"!

&"$%("&02= !7#&.$ ! "#$ !#!-6?! 8$670%3!(..07'!604!"0!$@&" ! "#$!54%%$2"! .00*!50>*.$"$.6,!

X$";'!.008!("!04%!*%$?&04'!$@(>*.$!(<(&2C

)$e'(E(::j)$e$(E(<m

78%.-F)$e'(d(:jmG(()$e'(HE(:((3"42()$e'((%&(F)$e'(^()$e$G(EE(mW(Q(%&(48-(`"+4%-54(%2(-1-5((((#!-6?((-.2-((((5-'4

='1$)2(#,:(>).;(?&.,$3.)@8!!!$(

Page 76: Humble Little Ruby Book

((-5,-5,

3"42()$e'

"(:Xm

-#$!4'(<$!01!"#$!5-'4!8$670%3!&2!"#&'!$@(>*.$!&'!%("#$%!&20%3&2("$!G&,$,!H!'#04.3!#(?$!

'&>*.6!.$"!"#$!.00*!&"$%("$!(<(&2!%("#$%!"#(2!10%5&2<!&"I=!/4"!H!7(2"$3!"0!3$>02'"%("$!

#07!"#$!5-'4!8$670%3!70%8',!!-#&'!.00*!70%8'!Z4'"!('!/$10%$=!$@5$*"!>0%$!5025&'$!(23!

.$''!/.0("$3,!!

-#$!#!-6?!8$670%3!/%$(8'!"#$!.00*!(23!502"&24$'!02!"0!"#$!503$!(1"$%!"#$!.00*!Z4'"!('!

&1 ! "#$!5023&"&02(.!#(3!/$$2!>$", ! !-#$ !5-'4! 8$670%3!'8&*'!*('" !(.. ! %$>(&2&2<!503$!

G7#&5#!&2!"#&'!$@(>*.$!7('2;"!>45#I!"0!"#$!$23!01!"#$!.00*!(23!502"&24$'!02!"0!"#$!

2$@"!&"$%("&02,!!c4"=!7(&"E!!H"!<$"'!1(25&$%C

)$e'(E(::j)$e$(E(<m

78%.-F)$e'(d(:jmG(()$e'(HE(:((3"42()$e'((#!-6?(%&(F)$e'(^()$e$G(EE(m(((5-'4-5,

3"42()$e'

"(:Xm

:04!5(2!4'$!(!5023&"&02(.!>03&1&$%!7&"#!"#$!#!-6?!0% !5-'4!8$670%3'E! !\23=!6$'=!"#$!

5-'4! 8$670%3!&'2;"!2$5$''(%6=!/4"!H!7(2"$3!"0!3$>02'"%("$!"70!"#&2<',! !Q&%'".6=!"#$!

8$670%3;'!4'(<$!GH!8207!604!*%0/(/.6!423$%'"(23!&" !/6!207=!/4"!(20"#$%!$@(>*.$!

2$?$%!#4%"!(26/036EI,! !N$5023.6=!(..!503$!(1"$% !#!-6?! &'!'8&**$3,! !-#$!.00*!30$'!20"!

&"$%("$!(<(&2!/$5(4'$!"#$!5023&"&02(.!(""(5#$3!"0!#!-6?!7('!'("&'1&$3,

FDKFL78?>9

bl=!'0!604;%$!L&**&2<!(.02<!02!(2!(**.&5("&02=!/4"!(..!01!(!'433$2!604!<$"!"#&'!5%(L6!

$%%0%!(23!604!302;"!8207!#07!"0!#(23.$!&",! !K(6/$!604%!4'$%'!(%$!TV!6$(%!0.3!'05&(.!

%$Z$5"'!7&"#!>0%$!*&>*.$'!"#(2!1%&$23'=!(23!"#$6!1$$.!"#$!2$$3!"0!"6*$!&2!J:b!3++]!

HJK!TVVjEETTJ ! &2 !( ! 1&$.3 ! ! &2 ! 604% !(**.&5("&02 ! "#(" ! &' ! '4**0'$3 ! "0 !/$ !(.. !24>$%&5=!

$11$5"&?$.6!5%('#&2<!604%!(**.&5("&02,! !N#(..!604!Z4'"! .$" !604%!(**.&5("&02!5%('#!(23!

/4%2A ! ! N#(.. ! &"' ! 5&23$%' ! '>0.3$% ! 10%$?$%A ! ! N#(.. ! 604 ! 2$?$% ! '$$ ! <.0%6 ! /$5(4'$ ! 01!

%*!!!='1$)2(#,:(>).;(?&.,$3.)@8

!"#$%&'(()'S%&4?:''K'46.437'#&;'4'#%&4;'5&#%&&',/'74;"7/4<;",+'/%,9'2%&4?"+#'4'6,,8:''D4?&';04;'7$<?&%A

Page 77: Humble Little Ruby Book

J-b+TVVj\[3:J!1%0>!c4>*8&2?&..$=!H\A! ![$?$%!1$(%=!6042<!2$0*#6"$E! !94/6!#('!

604!50?$%$3E

^@5$*"&02'!*%0?&3$!(!#(236!7(6!"0!3$(.!7&"#!$%%0%'!(23!0"#$%!*%0/.$>'!&2!

604%!(**.&5("&02!&2!(!7(6!"#("!&'!42&10%>!(23!$('6!"0!&>*.$>$2",!!\..!$@5$*"&02'!3$%&?$!

1%0>!"#$!/('$!5.(''!n'*-34%+5P!94/6!*%0?&3$'!(!24>/$%!01!/4&."F&2!$@5$*"&02'!10%!604!

"0!4'$!G0%!10%!604%!(**.&5("&02!"0!#(23.$I,!!D$%$!&'!(!"(/.$!01!"#$!54%%$2"!(?(&.(/.$!/4&."F

&2!$@5$*"&02'C

5#,B)+,N(FE&2T$+.,1

-0!#(23.$!(2!$@5$*"&02!7#$2!02$!&'!%(&'$3=!604!>4'"!5%$("$!(!!-2*"-!/.058,!!X$";'!"(8$!

( ! .008 ! (" ! (2 ! $@(>*.$ ! (23 ! "#$2 ! *&58 ! &" ! (*(%" ! .&8$ ! ?0%(5&04' ! ?4."4%$' ! &2 ! '$(%5# ! 01!

3$.$5"(/.$!>0%'$.'!01!5&6"#0;'G0%!.&8$!'0>$!<46'!7#0!Z4'"!%$(..6!7(2"!"0!8207!#07!"0!

*%0<%(>!&2!94/6IC

,-&()-48+,e+&e,++)(()$e24!%5=(E(@V(2-52-(%)3-5,%5=(,++)/@(()$e24!%5=/68e86e%e*6..-,e6e5+5-'%24-54e)-48+,-5,

)-48+,e+&e,++)

"(\(c+U-48+,n!!+!

[07=!"0!#(23.$!"#&'!$@5$*"&02!*%0*$%.6C

,-&()-48+,e+&e,++)(()$e24!%5=(E(@V(2-52-(%)3-5,%5=(,++)/@(()$e24!%5=/68e86e%e*6..-,e6e5+5-'%24-54e)-48+,!-2*"-(n'*-34%+5W((3"42(@{88///48-!-L2(6(3!+#.-)(7%48(4864(48-!-()-48+,/@-5,

)-48+,e+&e,++)

"({88///48-!-L2(6(3!+#.-)(7%48(4864(48-!-()-48+,/

-0!5%$("$!(!!-2*"-!/.058=!604!'&>*.6!*.(5$!"#$!!-2*"-!8$670%3!("!"#$!/$<&22&2<!01!(!

.&2$!10..07$3!/6!"#$!$@5$*"&02!5.(''!604!704.3!.&8$!"0!#(23.$!G94/6!011$%'!(!24>/$%!01!

/4&."F&2!$@5$*"&02'!10%!604!"0!4'$P!5#$58!"#$!94/6!3054>$2"("&02!10%!(!14..!.&'"I,!!H!4'$3!

n'*-34%+5! /$5(4'$!&"!5("5#$'!(26!(23!(..!$@5$*"&02'=!/4"!604!5(2!'*$5&16!24>$%04'!

!-2*"-!/.058'!"0!#(23.$!3&11$%$2"=!>0%$!'*$5&1&5!"6*$'!01!$@5$*"&02'!(23`0%!24>$%04'!

$@5$*"&02!"6*$'!5(2!/$!#(23.$3!/6!(!'&2<.$!!-2*"-!/.058C

,-&()-48+,e+&e,++)(()$e24!%5=(E(@V(2-52-(%)3-5,%5=(,++)/@(()$e24!%5=/68e86e%e*6..-,e6e5+5-'%24-54e)-48+,!-2*"-(c+U-48+,n!!+!W((3"42(@f+"L!-()%22%5=(4864()-48+,B(&++.\@!-2*"-(n'*-34%+5W((3"42(@{88///48-!-L2(6(3!+#.-)(7%48(4864(48-!-()-48+,/@-5,

)-48+,e+&e,++)

"(f+"L!-()%22%5=(4864()-48+,B(&++.\

='1$)2(#,:(>).;(?&.,$3.)@8!!!%)

Page 78: Humble Little Ruby Book

H1!604!'*$5&16!>4."&*.$!!-2*"-!/.058'=!94/6!10..07'!"#$!1&%'"!02$!&"!$25042"$%'!"#("!&'!

(/.$!"0!#(23.$!(2!$@5$*"&02!01!'(>$!"6*$!('!"#$!%(&'$3!$@5$*"&02,! !H1!7$!#(3!'*$5&1&$3!

"#$ !n'*-34%+5! /.058!1&%'" !(' !0**0'$3!"0 !"#$ !c+U-48+,n!!+!! /.058= !7$!704.3!#(?$!

<0""$2!"#$!'(>$!04"*4"!('!"#$!1&%'"!$@(>*.$,!!H1!20!4'(/.$!!-2*"-!/.058!&'!10423!&2!"#$!

54%%$2"!502"$@"!G&,$,!54%%$2"!/.058!01!503$=!54%%$2"!>$"#03=!$"5,I=!94/6!70%8'!&"'!7(6!

4*!"#$!5(..!'"(58!"0!'$$!&1!&"!5(2!1&23!(!'4&"(/.$!%$'54$!/.058!G&,$,!&"!70%8'!&"'!7(6!1%0>!

"#$!011$23&2<!>$"#03!4*!"0!"#$!>$"#03!5(..$3!&"!"0!"#$!>$"#03!"#("!5(..$3!&"!(23!'0!02I,!

H1 ! 20 ! '4&"(/.$ !!-2*"-! /.058 ! &' ! 10423 ! /$10%$ ! 94/6 ! "(8$' ! &"' ! '$(%5# ! "0 ! "#$ !>(&2!

(**.&5("&02!>$"#03=!"#$2!"#$!(**.&5("&02!"#%$(3!$@&"'!(23!(!>$''(<$!&'!'#072!"#("!&'!

'0>$"#&2<!(.02<!"#$!.&2$'!01=!JH!*&"6!"#$!100.!"#("!/$!>&''&2;!(2!$@5$*"&02!#(23.$%EJ!

10..07$3!/6!(!'$%&$'!01!.043!5%('#$'!(23!/%$(8&2<!01!7&23,

\!!-2*"-!/.058!5(2!'*$5&16!(!?(%&(/.$!2(>$!7#$2!&"!&'!5%$("$3!&2!0%3$%!"0!#0.3!

(!>0%$!3$"(&.$3!$@*.(2("&02!01!"#$!$%%0%,!!\<(&2!4'&2<!04%!*%$?&04'!$@(>*.$C

,-&()-48+,e+&e,++)(()$e24!%5=(E(@V(2-52-(%)3-5,%5=(,++)/@(()$e24!%5=/68e86e%e*6..-,e6e5+5-'%24-54e)-48+,!-2*"-(c+U-48+,n!!+!(Eq(-W((3"42(@wIJisnUW(@(H(-/4+e2!-2*"-(n'*-34%+5W((3"42(@{88///48-!-L2(6(3!+#.-)(7%48(4864(48-!-()-48+,/@-5,

)-48+,e+&e,++)

"(wIJisnUW("5,-&%5-,()-48+,(o65,(2+(+5///p

X$?$%(<&2<!"#&'!(/&.&"6!>(8$'!&"!1(%!$('&$%!"0!8207!$@(5".6!7#(";'!<0&2<!02=!7#$%$=!(23!

'0>$"&>$'!#07!"0!1&@!&",

\!!-2*"-!/.058!(.'0!*%0?&3$'!(!1$7!0"#$%!1$("4%$'!"#("!(&3!&2!>(8&2<!'4%$!"#("!

$?$2!&1!604%!(**.&5("&02!30$'!5#08$=!&"!7&..!'"&..!#0*$14..6!%42!('!'>00"#.6!('!*0''&/.$,!

-#$!1&%'"!01!"#$'$!1$("4%$'!&'!"#$ !-.2-! 5(.4'$!"#("!604!5(2!"(<!02!"0!( !!-2*"-! /.058,!

-#&'!/.058!7&..!$@$54"$!&1!"#$%$!(%$!20!$@5$*"&02'!%(&'$3,!!Q0%!$@(>*.$C

,-&(5+e3!+#.-)+(('(E(m(('(HE(:l!-2*"-(n'*-34%+5((3"42(@J8(5+-2\@-.2-((3"42(@O..(*.-6!\@-5,

5+e3!+#.-)+

"(O..(*.-6!\

-#&'!&'!(!4'$14.!1$("4%$=!/4"!/$!5(%$14.!7#("!604!*4"!&2!"#$%$,!!-#$!!-2*"-!/.058!&2!"#$!

$25.0'&2<!503$!702;"!5("5#!(26!$@5$*"&02'!%(&'$3!&2!"#$!-.2-!5.(4'$=!'0!604!>(6!2$$3!

"0!5("5#!"#$>!.("$%!4*!"#$!5(..!'"(58!0%!%$.$<("$!"#$!-.2-!/.058!"0!>$2&(.!"('8'!"0!(?0&3!

"#$!%&'8!01!5(4'&2<!70%'$!*%0/.$>',

%!!!!='1$)2(#,:(>).;(?&.,$3.)@8

Page 79: Humble Little Ruby Book

-#$!'$5023!1$("4%$!011$%$3!/6!!-2*"-!/.058'!&'!"#$!-52"!-!5.(4'$P!"#&'!5.(4'$!

#0.3'!503$!"#("!&'!(.7(6'!$@$54"$3!G&,$,!%$<(%3.$''!01!"#$!*%$'$25$!$@5$*"&02'!0%!20"I,!

Q0%!$@(>*.$C

,-&(,65*-e6eK%=((@VL)(6(,65*%5L\@((@M+(2%(,+\@((!-#-.e$-..(E(@$--(867\@/"3*62-\!-2*"-(n'*-34%+5((3!%54(@V(&-..(,+75B(,65=(%4\@-.2-((3!%54(!-#-.e$-..-52"!-((3!%54(@((P864L2(6..(&+.?2\@-5,

,65*-e6eK%=

"(fnn(AOC\((P864L2(6..(&+.?2\

-#$!-52"!-!5.(4'$!&'!(.7(6'!$@$54"$3!20!>(""$%!7#("P!"#&'!502'"%45"!&'!?$%6!4'$14.!10%!

5.0'&2<!1&.$' ! "#(" !604!#(?$!/$$2!%$(3&2<!1%0>!0% !7%&"&2< !"0= !5.0'&2<!0*$2!2$"70%8!

5022$5"&02'=!0%!>(8&2<!'4%$!(..!604%!%$'04%5$!#(23.$'!#(?$!/$$2!5.$(2$3!4*,! !H1!604!

*4"!"#$'$!'0%"'!01!"#&2<'!&2!-52"!-!5.(4'$'=!"#$6!7&..!(.7(6'!<$"!302$!(23!54"!3072!02!

*%0/.$>'!604!>(6!#(?$!7&"#!%$'04%5$!(55$''!&1!604%!(**.&5("&02!5%('#$',

B#:*(#%&-1-#4#$-%+'2.;.#)%%K45#!.&8$!5023&"&02(.'!(23!.00*'=!!-2*"-!/.058'!5(2!/$!

4'$3!('!'"("$>$2"!>03&1&$%',!!Q0%!$@(>*.$C

5+4e65e+#K-*4/,+e2+)-48%5=(!-2*"-(3"42(@T!628\@

"(T!628\

[0"$!604!5(2;"!'*$5&16!7#("!'0%"!01!$@5$*"&02!"0!%$'54$!1%0>=!/4"!"#("!&'!/$""$%!.$1"!"0!

J10%>(.J!!-2*"-!/.058'!(26#07,!!:04!5(2!(''&<2!?(.4$'!4'&2<!"#&'!502'"%45"!(.'0C

)$e16."-(E(5+4e65e+#K-*4/=%1-e6e16."-(!-2*"-(@i"!5\@3"42()$e16."-

"(i"!5\

-#&'!*&"&14.!$@(>*.$!30$'2;"!'#07!(!%$(.!70%.3!5('$!01!504%'$=!/4"!"#&'!502'"%45"!&'!

4'$14. ! &1 ! ( ! '>(.. ! (3Z4'">$2" ! &2 !?(.4$ ! 5(2 !50%%$5" !>0'" !(26 ! $@5$*"&02 ! G( ! %(%$ !/4"!

*0''&/.$!5('$I,

B#-)@%%N0>$"&>$'!604!Z4'"!2$$3!(!30F0?$%,!!-#("!.00*!3&32;"!30!7$..!10%!604=!0%!>(6/$!

"#("!?(%&(/.$!'"&..!7('2;"!5.$(%!02!#&'!>0"&?("&02!10%!"#&'!'5$2$,!!^&"#$%!7(6=!604!2$$3!"0!

/$!(/.$!"0!%$30!*(%"!01!604%!503$!&2!#0*$'!"#("!"#$6!7&..!'&>*.6!<0!/$""$%!2$@"!"&>$,!

-#&'!&'!7#$%$!"#$!!-4!$!8$670%3!50>$'!&2P!.$";'!'(6!604!7$%$!/4&.3&2<!(!1&5"&02(.!7$/!

/%07'$%C

,-&()6?-e!-`"-24((%&(Fy8443::G((((2-.&/2-5,FLAPPw>:/:LG((-.2-((((2-.&/2-5,FLAPPw>:/mLG((-5,!-2*"-(w!+4+*+.n!!+!((y8443::(E(&6.2-

='1$)2(#,:(>).;(?&.,$3.)@8!!!%"

Page 80: Humble Little Ruby Book

((!-4!$-5,

:04!'$23!"#$!D--O!T,T!#$(3$%'=!/4"!"#$!'$%?$%!02!"#$!0"#$%!$23!30$'2;"!.&8$!"#("=!'0!&"!

?0>&"'!( !w!+4+*+.n!!+!, ! !H2'"$(3!01!%0..&2<!0?$%!(23!36&2<=!604!3&'(/.$!D--O!T,T=!

%$"%6!"#$!/.058=!(23!604%!(**.&5("&02!&'!'>(%"!$204<#!"0!'7&"5#!"0!D--O!T,+!&2'"$(3,!

Q(256,!!_'&2<!!-2*"-!(23!!-4!$=!604!5(2!>(8$!(2!(""$>*"!"0!1&@!(26!$%%0%'!"#("!>(6!

5(4'$!$@5$*"&02'!(23!%$"%6!"#$!/.058!(<(&2,!!l$$*!(!5.0'$!7("5#!02!"#&'!"#04<#P!&"!5(2!

5(4'$!'0>$!'$%&04'!*%0/.$>'!&1!"#$!*%0/.$>!&'!2$?$%!1&@$3!"#$!'(>$!/.058!01!503$!&'!

.00*$3!0?$%!(<(&2!(23!(<(&2!/$5(4'$!604%!(**.&5("&02!&'!%$"%6&2<!&",

:#+1+,N(FE&2T$+.,1

N0!207!"#("!604!8207!#07!"0!#(23.$!$@5$*"&02'=!H!"#&28!&";'!(!1&2$!"&>$!"0!*4"!604!04"!

"0!*('"4%$!7&"#!604%!072!$@5$*"&02',! !9(&'&2<!604%!072!$@5$*"&02'!&'! &>*0%"(2"!&1!

"#$%$!(%$!*%0/.$>'!"#("!7&..!(%&'$!"#("!702;"!2$5$''(%&.6!5(4'$!(!*%0/.$>!7&"#!94/6!

&"'$.1,!!Q0%!$@(>*.$=!.$";'!"(8$!(!.008!("!(!>$"#03!"#("!>(6!$@&'"!&2!5.(''!w-!2+5C

,-&(,-&%5-e=-5,-!F=-5,-!G((%&(F=-5,-!/"3*62-(\E(LhnUOsnLG(aa(F=-5,-!/"3*62-(\E(LUOsnLG((((!6%2-(@f+"(23-*%&%-,(2+)-48%5=(7+5?$(&+!(=-5,-!\@((-5,-5,

)$e="$(E(w-!2+5/5-7)$e="$/,-&%5-e=-5,-!F@5+#+,$(?5+72@G

"(\(I"54%)-n!!+!(F@f+"(23-*%&%-,(2+)-48%5=(7+5?$(&+!(=-5,-!\@G

^?$2!"#04<#! &" !702;" !5(4'$ !( !*%0/.$>!7&"# !94/6! &"'$.1= !604!0/?&04'.6!302;" !7(2"!

'0>$02$!"0!'*$5&16!'0>$"#&2<!(/20%>(.!10%!<$23$%!G7$..=!>(6/$!604!30=!/4"!"#(";'!

Z4'" !7$&%3I,! ! H1 !'45#!(!5023&"&02!(%&'$'=!604!5(2!3%0*!"#$ !!6%2-! 8$670%3!02!(!.&2$!

10..07$3!/6!(!>$''(<$!(23!94/6!7&..!%(&'$!(!2$7!I"54%)-n!!+!!(23!!'$"!&"'!>$''(<$!"0!

"#$!02$!604!*%0?&3$,!!-#$!!6%2-!8$670%3!G0%!&"'!42504"#!504'&2!1%0>!B(.$'=!"#$!&6%.(

8$670%3I!5(2!/$!5(..$3!(!24>/$%!01!7(6'C

!6%2-(@V(*!628-,\((P8%2()-226=-(28+".,(#-()+!-(%5&+!)64%1-\@!6%2-!6%2-(c+U-48+,n!!+!B(@P864()-48+,(6%5NL4(8-!-\@B(*6..-!

-#$ ! 1&%'" ! 10%> ! 604 ! (%$ ! (.%$(36 ! 1(>&.&(% ! 7&"# ! G&,$, ! *%0?&3$ ! ( !>$''(<$ ! "0 ! ( ! 2$7!

I"54%)-n!!+!IP!"#$!'$5023!10%>!7&..!%$F%(&'$!"#$!54%%$2"!$@5$*"&02!'0!&"!5(2!/$!*(''$3!

14%"#$%!4*!"#$!5(..!'"(58!0%!%(&'$!(!2$7!I"54%)-n!!+!!G7&"#!20!>$''(<$I!&1!"#$%$!&'!20!

$@5$*"&02,!!-#$!.('"!10%>!&'!02$!604!'#04.3!4'$!>0'"!502'"(2".6!/$5(4'$!&"!(..07'!604!

"0!'*$5&16!(2!$@5$*"&02!"6*$=!(!>$''(<$=!(23!(!'"(58!"%(5$!0/Z$5"!G7#&5#!&'!4'4(..6!Z4'"!

*6..-!=!(!%$1$%$25$!"0!"#$!v-!5-./*6..-!!>$"#03I,!!Y003!'01"7(%$!*%(5"&5$!'(6'!"#("!

604!'#04.3!/$!('!'*$5&1&5!('!*0''&/.$!7&"#!604%!$@5$*"&02'P!&2'"$(3!01!Z4'"!"#%07&2<!

I"54%)-n!!+!2!(..!"#$!"&>$=!"%6!"0!"#%07!(!P$3-n!!+!! &1!"#$!*%0?&3$3!0/Z$5"!&'2;"!"#$!

%&<#"!"6*$!0%!604%!072!$@5$*"&02!"6*$!"0!>("5#!604%!2$$3'!G$,<,!&"!704.3!#(?$!/$$2!

/$""$% ! "0 !#(?$ !%(&'$3 !(2 !g-5,-!n!!+!! 0% !'0>$!'45#! &2 !04% !$@(>*.$ !%("#$% ! "#(2!(!

I"54%)-n!!+!I,

%#!!!='1$)2(#,:(>).;(?&.,$3.)@8

Page 81: Humble Little Ruby Book

0I(?C,(FE&2T$+.,(

N0!#07!30!604!5%$("$!604%!072!$@5$*"&02!"6*$'A!!H";'!%$(..6!f4&"$!'&>*.$!&2!94/6P!.$";'!

4'$!04%!$@(>*.$!1%0>!/$10%$C

*.622(g-5,-!n!!+!(d(I"54%)-n!!+!((644!(W7864e48-$e3"4

((,-&(%5%4%6.%9-F48-%!e%53"4G((((y7864e48-$e3"4(E(48-%!e%53"4((-5,-5,

-0!5%$("$!(!2$7!$@5$*"&02=!604!'&>*.6!3$%&?$!1%0>!(26!01!"#$!$@5$*"&02!5.(''$'!G$,<,!H!

3$%&?$3!1%0>!I"54%)-n!!+!=!/4"!604!5(2!3$%&?$!1%0>!P$3-n!!+!= !c+U-48+,n!!+!=!0%!

$?$2 !n'*-34%+5I, ! !N0= ! .$";' !4*3("$!04% !503$!(/0?$!"0!4'$!04%!2$7=!>0%$!*%(5"&5(.!

$@5$*"&02C

*.622(w-!2+5((,-&(,-&%5-e=-5,-!F=-5,-!G((((%&(F=-5,-!/"3*62-(\E(LhnUOsnLG(aa(F=-5,-!/"3*62-(\E(LUOsnLG((((((!6%2-(g-5,-!n!!+!/5-7F=-5,-!GB(@V516.%,(%53"4\@((((-5,((-5,

((,-&(%5%4%6.%9-F=-5,-!G((((2-.&/,-&%5-e=-5,-!F=-5,-!G((!-2*"-(g-5,-!n!!+!(Eq(#6,((((3"42(@f+"(=61-()-(2+)-(#6,(%53"4W(@(H(#6,/7864e48-$e3"4((((!6%2-((-5,-5,

)$e="$(E(w-!2+5/5-7F@C8+(?5+72D@G

"((f+"(=61-()-(2+)-(#6,(%53"4W(C8+(?5+72D

"(\(g-5,-!n!!+!(F@V516.%,(%53"4\@G

[0"&5$!"#("!7$!%(&'$!"#$!$@5$*"&02!&2!,-&%5-e=-5,-!=!7$!#(23.$!&"!&2!%5%4%6.%9-=!(23!

"#$2 !*('' ! &" ! 4* ! "#$ ! '"(58, ! ! H2 ! &2&"&(.&L$= !7$ ! 04"*4" ! (2 ! (""%&/4"$ !#$.3 ! &2 ! 04% !2$7!

$@5$*"&02!5.(''P!'&25$!$@5$*"&02'!(%$!0/Z$5"'!(23!"#4'!#(?$!5.(''$'!/$#&23!"#$>=!7#$2!

604!5%$("$!604%!072!604!5(2!(33!>$"#03'!(23!(""%&/4"$'!"0!&"!('!H!3&3!"0!#0.3!"#$!?(.4$!

01!"#$!4'$%;'!&2*4",! !-#&'!&'!4'$14.!&1!604!704.3!.&8$!"0!*%0?&3$!>0%$!3("(!"0!$@5$*"&02!

#(23.$%' ! 0% ! &1 ! 604 !704.3 ! .&8$ ! "0 ! *%0?&3$ ! #$.* ! &2 ! %$50?$%&2< ! 1%0> ! $@5$*"&02' ! /6!

*%0?&3&2<!>$"#03'!&2!"#$!$@5$*"&02,!!

7"3.C(#,B(K#$&"

H1!604;%$!(!)m!0%!M(?(!*%0<%(>>$%=!604!>&<#"!#(?$!Z4'"!<0""$2!$@5&"$3!/6!"#$!*%0'*$5"!

01!'0>$!1(>&.&(%&"6!&2!"#&'!(%$(=!/4"!302;"!5042"!604%!*%0?$%/&(.!$<<'!/$10%$!"#$6!#("5#,!

H2!94/6=!(!*64*8!/.058!&'!<&?$2!(2!&3$2"&1&$%!('!(2!(%<4>$2"P!604!5(2!"#$2!J"#%07J!"#&'!

&3$2"&1&$% ! &2 ! "#$!$2'4&2<!503$, ! !94/6!7&.. ! "#$2! .008!4*!"#$!'"(58!"0!'$$!7#$%$!"#$!

>("5#&2<!5("5#!&'=!(23!&1!&";'!10423=!94/6!7&..!/%$(8!20%>(.!*%05$''&2<!(23!$@&"!"#$!

*64*8!/.058,!!-#&'!'0423'!>0%$!50214'&2<!"#(2!&"!&'=!'0!.$";'!.008!("!(2!$@(>*.$C

3!%5*-22(E(M6)2-.V5M%24!-22/5-7

='1$)2(#,:(>).;(?&.,$3.)@8!!!%$

Page 82: Humble Little Ruby Book

*64*8(W8-2e6e&6%."!-(,+((Q(fOf\((]+)-+5-L2(8-!-(4+(261-(8-!///((3!%54(@U$(3!%5*-(%2(8-!-\((@

((Q(JA(cJ\((P8-(1%..6%5(862(-64-5(8%2(.%1-!\((A-(,%-2\((3!%5*-22/%2e261-,(E(&6.2-

((%&(F3!%5*-22/%2e261-,(EE(4!"-G((((3"42(@A++!6$\@((-.2-((((3"42(@w++\((c+4(6=6%5\@((((48!+7(W8-2e6e&6%."!-((-5,

((3"42(@VL)(=+%5=(4+(2.--3("54%.(48-(5-'4(="$///@

((Q(c63///-5,

"(U$(3!%5*-(%2(8-!-\((w++\(c+4(6=6%5\

\ !*64*8! /.058! &' ! '"(%"$3 !/6 !*.(5&2<! "#$ !*64*8! 8$670%3= !(2! &3$2"&1&$%= ! "#$2! "#$ !,+(

8$670%3!02!(!.&2$P!"#$!&3$2"&1&$%!&'!4'$3!7&"#!"#$!48!+7!8$670%3! !(23!5(2!$&"#$%!/$!(!

'6>/0.!0%!(!'"%&2<,!!-#$!503$!&'!%42!42"&.!(!>("5#&2<!48!+7!'"("$>$2"!G&,$,!"#$!"#%07;'!

&3$2"&1&$% !>("5#$'! "#$ !5("5#;' ! &3$2"&1&$%I ! &' !$25042"$%$3!G&1 !02$ ! &' !$25042"$%$3I ! &2!

7#&5# ! 5('$ ! "#$ !*64*8! /.058 ! $@&"' ! 7&"#04" ! $@$54"&2< ! (26 ! 503$ ! (1"$% ! "#$ !48!+7(

'"("$>$2",! !H2!"#$!$@(>*.$=!604!5(2!'$$!"#&'!#(**$2!&2!"#("!JK6!*%&25$!&'!#$%$EJ!(23!

JO00E![0"!(<(&2EJ!(%$!04"*4"!/4"!JH;>!<0&2<!"0!'.$$*!42"&.!"#$!2$@"!<46,,,J!&'!20"P!"#$!

/.058!$@&"$3!(1"$%!"#$!>("5#&2<!"#%07!'"("$>$2"!G&,$, !48!+7(W8-2e6e&6%."!-I!7('!

10423,!!-#&'!502'"%45"!&'!$@"%$>$.6!4'$14.!&1!604!2$$3!"0!'&>*.6!$@&"!"#$!503$!/.058!&1!(2!

$%%0%!0554%'!0%!&1!604%!503$!&'!/4%&$3!&2!3$$*.6!2$'"$3!.00*'!(23!604!7(2"!"0!/%$(8!04"!

01!"#$>!f4&58.6!(23!$('&.6,

!"#$%&"'()*+ %%

:04!.$(%2$3!(/04"!94/6;'!1.07!502"%0.!>$5#(2&'>',!!:04!.$(%2$3,,,

! (/04"!%&`"5.-22!'"("$>$2"'!(23!5023&"&02(.!0*$%("0%',

! (/04" ! .00*'= ! /0"# ! 5023&"&02(. ! (23 ! &"$%("&2<= ! (23 ! #07 ! "0 ! 4'$ ! "#$ ! >0'"!

$11$5"&?$.6,

! (/04"!$@5$*"&02'!(23!"#$&%!4'(<$,

%%!!!='1$)2(#,:(>).;(?&.,$3.)@8

Page 83: Humble Little Ruby Book

%

7"2(9I1$2H(<2,2#$"JJJ

9$5$2"!(3?(25$'!&2!.(2<4(<$!.&/%(%&$'!#(?$!#(3!*$0*.$!3&"5#&2<!O$%.!(23!c('#!'5%&*"'!

&2!1(?0%!01!(!>0%$!1%&$23.6!'0.4"&02!.&8$!O6"#02!0%!94/6,! !-#&'!&'!>0'".6!/$5(4'$!604!

5(2 ! (550>*.&'# ! "#$ ! '(>$ ! "('8' !7&"# ! .$'' ! $110%" ! (23 !>0%$ ! %0/4'"2$'' !7&"# ! "#$'$!

.(2<4(<$'!G&";'!(.'0!*%0/(/.6!/$5(4'$!O$%.!(23!c('#!'458I,! !-#(28'!"0!&"'!.&/%(%&$'=!

94/6!5(2!&2"$%(5"!7&"#!"#$!'6'"$>!Z4'"!('!7$..!('!"#$'$!>0%$!$'0"$%&5!'0.4"&02',!!X$";'!

"(8$!(!.008!("!'0>$!01!"#$!'6'"$>!.&/%(%&$'!(23!1425"&02'!/4&."!&2"0!94/6,! !:04;..!/$!

"%(3&2<!&2!604%!50*6!01!O$%.!)008/008!7&"#&2!"#$!#04%E

M8@F9=97F0(8>7F:6K78?>(

-#$ !h%.-! 5.(''!&2!94/6!&'!?$%6!%&5#!50>*(%$3!"0!0"#$%!'&>&.(%.6!1$("4%$3!.(2<4(<$'!

G&,$,!O6"#02I,! !H"!20"!02.6!#('!>0%$!>$"#03'=!/4"!"#$!>$"#03'!7#&5#!(%$!50>*(%(/.$!

(%$!>0%$!.0<&5(..6!2(>$3!G$,<,!7#("!30$'!"5.%5?!30!&2!O6"#02A!!b#=!&"!3$.$"$'A!!B#6!

20"!5(..!&" !"#("EAI,! !94/6;' !h%.-! 5.('';'!<$2$%(.!*07$%!(23!$('$!01!4'$!50>*(%$3!"0!

>(26!0"#$%!.(2<4(<$'!'#04.3!/%&2<!50>10%"!"0!604%!#$(%"=!>45#!.&8$!(!7(%>!/07.!01!

'04*!(23!5.(''&5(.!>4'&5!5(2!30!02!(!'2076!3(6,

Q&%'"=!.$";'!.008!("!7#("!604!5(2!1&23!04"!(/04"!(!1&.$,! !]0$'!&"!$@&'"A! !B#("!

8&23!01!1&.$!&'!&"A! !H'!&"!(!1&.$A! !D$%$!(%$!(!1$7!$@(>*.$'!G"#$'$!(''4>$!"#$%$!&'!(!1&.$!

2(>$3!J4-'4&%.-/4'4J!&2!"#$!54%%$2"!3&%$5"0%6IC

h%.-/,%!-*4+!$DF@4-'4&%.-/4'4@G "!!&6.2-

h%.-/&%.-DF@4-'4&%.-/4'4@G "!!4!"-

h%.-/-'%242DF@4-'4&%.-/4'4@G "!!4!"-

h%.-/2%9-DF@4-'4&%.-/4'4@G "!!Xm[Z

h%.-/-'456)-F@4-'4&%.-/4'4@G "!!@/4'4@

h%.-/-'456)-F@%=+45+-'4-52%+5@G "!!@@

H!702;"!&2'4."!604%!&2"$..&<$25$!/6!$@*.(&2&2<!7#("!$(5#!01!"#$'$!>$(2=!/4"!H!704.3!.&8$!

"0!20"$!"70!"#&2<',!!!Q&%'"=!"#$!2%9-D!>$"#03!%$"4%2'!!"#$!'&L$!&2!/6"$'=!20"!8&.0/6"$',!!H"!

'$$>'!'&..6=!H!8207=!/4"!"#("!1%4'"%("$3!"#$!*&''!04"!01!>$!7#$2!H!1&%'"!'"(%"$3!4'&2<!&"!

A"2(B71$25(92,2#$"888!!!%&

Page 84: Humble Little Ruby Book

G>0'".6!/$5(4'$!H;>!34>/=!H!8207=!/4"!H;>!"%6&2<!"0!'(?$!604!'0>$!1%4'"%("&02!#$%$EI,!

N$5023=!"#$!2%9-D!>$"#03!7&..!%$"4%2!5%.! &1!"#$!1&.$!'&L$!&'!L$%0!G(20"#$%!<0"5#(!"#("!

/0"#$%$3!>$!42"&.!H!1&<4%$3!&"!04"I,!!

:04!5(2!(.'0!4'$!"#$!h%.-!5.(''!"0!1&23!&210%>("&02!(/04"!>$"(3("(!'45#!('!

072$%'#&*!(23!*$%>&''&02'C

h%.-/-'-*"46#.-DF@4-'4&%.-/4'4@G "!!&6.2-

h%.-/!-6,6#.-DF@4-'4&%.-/4'4@G "!!4!"-

h%.-/7!%46#.-DF@4-'4&%.-/4'4@G "!!4!"-

h%.-/+75-,DF@4-'4&%.-/4'4@G "!!4!"-

h%.-/=!3+75-,DF@4-'4&%.-/4'4@G "!!&6.2-

h%.-/2-4=%,DF@4-'4&%.-/4'4@G "!!&6.2-

h%.-/2-4"%,DF@4-'4&%.-/4'4@G "!!&6.2-

-#$ !-'-*"46#.-D! G7#&5# ! 3$"$%>&2$' ! &1 ! "#$ ! 4'$% ! #(' ! "#$ ! (/&.&"6 ! "0 ! $@$54"$ ! ( ! 1&.$!

(550%3&2<!"0 ! 1&.$'6'"$>!*$%>&''&02'= !20" !7#$"#$% !0% !20"! "#$!1&.$ ! &' !(2!$@$54"(/.$I=!

!-6,6#.-D= ! (23 !7!%46#.-D! >$"#03' ! #(?$ ! 50>*(2&02 ! >$"#03' ! 5(..$3!

-'-*"46#.-e!-6.D= !!-6,6#.-e!-6.D=!(23 !7!%46#.-e!-6.D! G%$'*$5"&?$.6=!0/?&04'.6I!

7#&5#!>(8$!'4%$ !"#(" ! "#$!072$%!01 ! "#$!*%05$'' !#('!"#("!(/&.&"6 !7&"#!"#("! 1&.$, ! !b1!

504%'$=!&1!604!072!"#$!1&.$!&"!*%0/(/.6!30$'2;"!>(""$%,! !:04!5(2!1&23!04"!&1!604!072!&"!

4'&2<!"#$(+75-,D(>$"#03=!7#&5#!7&..!%$"4%2!4!"-! &1!"#$!*%05$''!072$%!&23$$3!072'!

"#$!'*$5&1&$3!1&.$,!![0%>(..6!"#$!=!3+75-,D=!2-4=%,D=!(23!2-4"%,D!(%$!?$%6!#$.*14.!&2!

1&23&2<!04"!5$%"(&2!>$"(3("(!(/04"!(!1&.$=!/4"!"#$'$!>$"#03'!302;"!(**.6!"0!(23!7&..!

(.7(6'!%$"4%2!&6.2-!02!0*$%("&2<!'6'"$>'!"#("!302;"!'4**0%"!"#$>!GH;>!.008&2<!%&<#"!

("!3,$'B&2307'EI,!!Q0%!"#0'$!20"!&2!"#$!8207=!02!_[He!1&.$'6'"$>'!(!1&.$!&'!072$3!/6!(!

4'$%!&2!(!<%04*!%("#$%!"#(2!JZ4'"J!(!4'$%P!"#$!=!3+75-,D!<(&2'!604!(55$''!"0!"#&'!3("(,!

-#$ !2-4=%,D! (23 !2-4"%,D! 5#$58!10%!(!/&"!"#(" !&' !'$"!02!(!1&.$;'!1&.'6'"$>!$2"%6!"#("!

(..07'!604!"0!5#(2<$!"#$!4'$%!(23`0%!"#$!<%04*!7#$2!(55$''&2<!"#("!1&.$!G"#&'!#$.*'!

7#$2!(!4'$%!2$$3'!$.$?("$3!*%&?&.$<$'!10%!(!5$%"(&2!"('8I,!!\<(&2=!"#$'$!>$"#03'!(..07!

604!"0!'$$!&1!"#$'$!/&"'!(%$!'$"=!/4"!&1!604;%$!02!B&2307'!0%!'0>$"#&2<!$.'$!"#("!30$'2;"!

'4**0%"!"#$>!"#$2!"#$6!(.7(6'!%$"4%2!&6.2-,

:2#B+,N(V3.H(#(V+)2((

H!5(2!#$(%!604!'(6&2<=!JB#0!5(%$'!(/04"!"#("!5%(*AE!!H!2$$3!"0!%&45'(!1&.$,!!H!>(3$!"#$!

1&.$,!!H!8207!(..!"#("!5%(*!(/04"!&"E!!-$..!>$!#07!"0!%$(3!&"!0%!H!5#(..$2<$!604!"0!(!82&1$!

1&<#"=!%&<#"!207=!/$#&23!"#$!B(11.$!D04'$E! !:04!(23!>$=!*(.E! !T&H%&';4?"+#'";';,';0& '

94;%&77&7AJ!!H!704.3!.&8$!"0!207!8&23.6!%$'*023!"0!604%!(2<$%!7&"#!"#&'!.&"".$!"&3/&"C

)$&%.-(E(h%.-/+3-5F@4-'4&%.-/4'4@B(@!@G)$&%.-/-6*8e.%5-(Rx.%5-x(3"42(.%5-(S)$&%.-/*.+2-

_'&2<!"#$!h%.-Q+3-5!>$"#03=!604!5(2!0*$2!(!1&.$!(23!5%$("$!(!2$7!h%.-!&2'"(25$,!!-#$!

1&%'"!*(%(>$"$%!10%!0*$2!&'!"#$!1&.$!*("#!G$&"#$%!%$.("&?$!0%!(/'0.4"$I=!(23!"#$!'$5023!

*(%(>$"$% ! &' ! "#$ ! 1&.$ !>03$, ! !:04 !5(2 !?&$7! "#$ ! "(/.$ !01 !0*"&02' !604 !#(?$ ! 10% ! "#&'!

*(%(>$"$%!&2!"#$!"(/.$!("!"#$!$23!01!"#&'!'$5"&02P!"#&'!*(%(>$"$%!3$1(4."'!"0!%$(3&2<!&1!

604!302;"!'*$5&16,!!\1"$%!604!5(..!0*$2=!604!5(2!4'$!"#$!-6*8e.%5-!>$"#03!"0!<%(/!$(5#!

%'!!!A"2(B71$25(92,2#$"888

Page 85: Humble Little Ruby Book

.&2$!(23!*%&2"!&"!04"=!*.(6!(%0423!7&"#!&"=!7#("$?$%!604!7(2"!"0!30!&2'&3$!"#$!/.058,!

:04!5(2!0*"&02(..6!1$$3!-6*8e.%5-!(!*(%(>$"$%!"#("!7&..!(5"!('!"#$!.&2$!$23&2<!&2!*.(5$!

01!JN5JP!&1!604=!.&8$!>$=!"$23!"0!$23!$(5#!.&2$!01!"$@"!7&"#!"#$!70%3!J*('"%6J!604!5(2!

%$'*$5"!"#&'!1$("4%$,! !\.7(6'!/$!'4%$!"0!5(..!"#$!*.+2-!>$"#03!&1!604!(%$!0*$2&2<!1&.$'!

"#&'!7(6,

Jc4"= ! ](3EJ ! 604 ! 7#&2$, ! ! JH ! 302;" ! 7(22( ! 5(.. ! 5.0'$EJ ! ! B$..=!

N02`](4<#"$%`\23%0<6204' ! b11'*%&2<= ! 94/6 ! 5(2 ! #$.* ! 604 ! 54%$ ! 604% ! &25$''(2"!

>0(2&2<C

h%.-/+3-5F@4-'4&%.-/4'4@G(,+(x)$&%.-x(()$&%.-/-6*8e.%5-(Rx.%5-x(3"42(.%5-(S-5,

-#&'!30$'!"#$!'(>$!"#&2<=!/4"!207!"#$!1&.$!'"%$(>!&'!(4"0>("&5(..6!5.0'$3!7#$2!"#$!

$25.0'&2<!/.058!$@&"',!!JB07EJ!604!$@5.(&>,!!H;>!<.(3!604;%$!(>(L$3=!/4"!&"!<$"'!/$""$%C

VJ/&+!-6*8F@4-'4&%.-/4'4@G(Rx.%5-x(3"42(.%5-(S

_'&2<!"#$!VJQ&+!-6*8!>$"#03!30$'!"#$!'(>$!"#&2<!('!"#$!*%$?&04'!"70!$@(>*.$'=!Z4'"!

'&>*.$%=!>0%$!50>*(5"=!(23!1(%!>0%$!/$(4"&14..6,! !H"!0*$2'!"#$!1&.$!'*$5&1&$3=!1$$3'!&"!

.&2$!/6!.&2$!&2"0!(!/.058=!"#$2!5.0'$'!&",!!K>>,,,207!"#(";'!1$236"<",$7,

!3+$+,N($.(#(V+)2((

:04%!0*"&02'!10%!7%&"&2<!"0!(!1&.$!(%$!24>$%04'P!"#$6!(.. !(550>*.&'#!$''$2"&(..6!"#$!

'(>$!0/Z$5"&?$!/4"!&2!'.&<#".6!3&11$%$2"!7(6',! !-#$!1&%'"!G(23!>0'"!0/?&04'.6!2(>$3I!

7(6!H;3!.&8$!"0!50?$%!&'!"#$!7!%4-!>$"#03,!!H"!<0$'!'0>$"#&2<!.&8$!"#&'C

h%.-/+3-5F@4-'4&%.-/4'4@B(@7@G(,+(x)$&%.-x(()$&%.-/7!%4-F@A+7,$\@G-5,

:04!0*$2!(!1&.$!7&"#!"#$!h%.-Q+3-5!>$"#03=!5%$("$!(2!$25.0'&2<!/.058=!(23!'&>*.6!5(..!

"#$ !7!%4-!>$"#03!02!"#$!1&.$!&2'"(25$!5%$("$3!/6!"#$!/.058,! !:04!5(2!30!7%&"&2<!"#$!

'(>$!7(6!H!'#07$3!604!%$(3&2<!"#$!1&%'"!"&>$!G&,$,!7&"#04"! !(!/.058!("!(..!(23!5(..&2<!

*.+2-I=!/4"!H!"#04<#"!"#("!704.3!/$!2$$3.$''.6!%$3423(2"!"0!&25.43$!&"!#$%$,!!:04!5(2!

7%&"$!(26!'0%"!01!3("(!"0!(!1&.$!('!.02<!('!&"!5(2!/$!502?$%"$3!"0!(!'"%&2<!G&,$,!&"!#('!(!4+e2(

>$"#03IP ! &1 ! &" ! 5(2;" ! /$ ! 502?$%"$3 ! "0 ! ( ! '"%&2< ! 94/6 !7&.. ! '&>*.6 ! &''4$ ! &" ! ( ! '"%&2<!

%$*%$'$2"("&02!"0!"#$!$11$5" !01 !JQdT.622c6)-W]+)-M646qJ,! !b"#$% !>$"#03'!'45#!('!

3!%54!(23!3"42!5(2!$('&.6!/$!!*.4<<$3!&2"0!7#$%$!7!%4-!&'P!"#$6!"(8$!"#$!'(>$!24>/$%!

01!*(%(>$"$%'!(23!/$#(?$!$''$2"&(..6!"#$!'(>$!7(6!G$@5$*"!"#(" !3"42!7&..!"(<!(!2$7!

.&2$!02!"#$!$23!01!"#$!'"%&2<!7#$2!&"!&'!7%&""$2I,

\20"#$%!7(6!01!7%&"&2<!"0!(!1&.$!&'!4"&.&L&2<!"#$!dd!0*$%("0%P!&1!604;?$!$?$%!4'$3!

VJ]4!-6)!&2!)aa!"#$2!604!'#04.3!1$$.!%&<#"!("!#0>$!7&"#!"#&'C

h%.-/+3-5F@4-'4&%.-/4'4@B(@7@G(,+(x)$&%.-x(()$&%.-(dd(@A+7,$\N5@(dd(@P8-!-(6!-(@(dd(*+"54(dd(@365,62\@-5,

A"2(B71$25(92,2#$"888!!!%(

Page 86: Humble Little Ruby Book

b*$2&2< ! "#$ ! 1&.$ ! &' ! "#$ !'(>$!(' !(.7(6'= !/4" !207! &2'"$(3!01 !5(..&2< !( !>$"#03!(23!

1$$3&2<! &2!*(%(>$"$%' !G(" ! .$('" ! &2 ! "#$!"%(3&"&02(. !'$2'$I!604!(%$!207!4'&2<!"#$ !dd(

0*$%("0%,!!H"!/$#(?$'!"#$!'(>$!('!"#$!0"#$%!>$"#03'!G&,$,!&"!502?$%"'!"#$!3("(!"0!(!'"%&2<!

&1!&"!&'!20"!(!'"%&2<!(23!7%&"$'!&"!"0!"#$!1&.$I!'0!"#$%$!'#04.32;"!/$!(26!'4%*%&'&2<!*(%"'!

"#$%$, ! !cbbY\cX\9Y\cbbE! !b8(6= !>(6/$!"#(" !'4%*%&'$3!604=!/4" !20"#&2<!$.'$!

'#04.3,

0.32(V+)2(.T23#$+.,1((

-#$!h%.-!5.(''!(.'0!'4**0%"'!(!24>/$%!01!0"#$%!1&.$!0*$%("&02'!"#("!*%0>0"$!(..!'0%"'!01!

1&.$'6'"$>!#00.&<(2&'>,!!D$%$!(%$!(!1$7C

h%.-/,-.-4-F@4-'4&%.-/4'4@Gh%.-/!-56)-F@4-'4&%.-/4'4@B(@4-'4&%.-/4'4/#6?@Gh%.-/*8+75F5%.B(Xm:B(@4-'4&%.-/4'4@Gh%.-/*8)+,FmkkkB(@4-'4&%.-/4'4@G

-#$!1&%'"!"70!>$"#03;'!2(>$'!'#04.3!<&?$!(7(6!"#$&%!1425"&02,!!H1!"#$!*%0?$%/&(.!5("!&'!

20" !04" !01 ! "#$ !/(<= ! "#$6 !3$.$"$ !(23 ! %$2(>$ ! "#$ !*%0?&3$3 ! 1&.$' ! G7&"# ! "#$ ! %$2(>$3!

1&.$2(>$!1$3!&2!('!"#$!'$5023!*(%(>$"$%I,!!-#$!,-.-4-!>$"#03!7&..!%$"4%2!"#$!24>/$%!

01!1&.$'!3$.$"$3!G&,$,!:!10%!"#&'!5('$I,!!

-#$!.('"!"70!>$"#03'!>(6!/$!(!.&"".$!50214'&2<!&1!604!(%$!20"!4*!"0!'2411!02!

604%!_[He`X&24@!1&.$'6'"$>'!(23!"#$&%!(''05&("$3!50>>(23',!!-#$!*8+75!50>>(23!

(..07'!(!4'$%!7&"#!'4*$%4'$%!*%&?&.$<$'!"0!5#(2<$!"#$!072$%!01!(!1&.$!G0%!"#$!072$%!>(6!

5#(2<$!"#$!<%04*!072$%'#&*!"0!(26!<%04*!01!7#&5#!#$`'#$!&'!(!>$>/$%IP!20"$!"#("!"#$!

*8+75!>$"#03!"(8$'!24>$%&5!072$%!(23!<%04*!H]'!%("#$%!"#(2!'"%&2<!2(>$'!G7#&5#!

"#$!50>>(23!.&2$!?$%'&02!(..07'I,!!-#$!*8)+,!>$"#03!(..07'!"#$!072$%!01!(!1&.$!G0%!(!

'4*$%4'$%I!"0!5#(2<$!"#$!*$%>&''&02'!01!(!1&.$!G&,$,!7#&5#!4'$%'`<%04*'!5(2!%$(3=!7%&"$!

"0= ! 0% ! $@$54"$ ! ( ! 1&.$IP ! "#$ ! 1&%'" ! *(%(>$"$% ! &' ! ( ! /&" ! *(""$%2 !7#&5# ! %$*%$'$2"' ! "#$!

*$%>&''&02'!02!"#$!1&.$'6'"$>,!!)#$58!\**$23&@!\!10%!_9X'!7&"#!>0%$!&210%>("&02!02!

_[He!1&.$'6'"$>!>$"(3("(!G&25.43&2<!/&"!*(""$%2'!"0!/$!4'$3!7&"#!"#$!*8)+,!>$"#03I,

&*!!!A"2(B71$25(92,2#$"888

Page 87: Humble Little Ruby Book

M8@F(6KKF99(0?QF9

! !!9$(3F02.6!(55$''P!'"(%"'!("!/$<&22&2<!01!1&.$!G3$1(4."I

7 !!B%&"$F02.6P!"%425("$'!$@&'"&2<!1&.$!"0!L$%0!.$2<"#!0%!5%$("$'!2$7!1&.$

6 !!B%&"$F02.6P!'"(%"'!("!$23!01!$@&'"&2<!1&.$!0%!5%$("$'!2$7!1&.$

6I !!9$(3F7%&"$P!'"(%"'!("!/$<&22&2<!01!1&.$

FI !!9$(3F7%&"$P!"%425("$'!$@&'"&2<!1&.$!"0!L$%0!.$2<"#!0%!5%$("$'!2$7!1&.$

4I !!9$(3F7%&"$P!'"(%"'!("!$23!01!$@&'"&2<!1&.$!0%!5%$("$'!2$7!1&.$

@ !!c&2(%6!1&.$!>03$P!>(6!(**$(%!7&"#!(26!01!"#$!(/0?$!0*"&02'!GB&2307'!02.6I

75:F6Q9(6>Q(M?:R9(6>Q(L:?KF99F9/(?5(0=G

]02;" !604!#("$ ! &" !7#$2!604!<$" !'.(**$3!7&"# !(2 !#04%<.(''`/$(5#/(.. !7#$2!604;%$!

30&2<!'0>$"#&2<!'&>*.$A!!H";'!20"!.&8$!604%!50>*4"$%!&'!0?$%.0(3$3!0%!(26"#&2<P!7#(";'!

"#$!3$(.A! !-#$!3$(. ! &' ! "#(" ! "#$!*%0<%(>>$%!G*%0/(/.6I !3&32;" !4'$!( !>4."&"#%$(3$3!

3$'&<2=!'0!$?$%6"#&2<!&"!30$'!#(**$2'!&2!02$!"#%$(3,! !B#(";'!(!"#%$(3!604!('8A! !H;>!

<.(3!604!('8$3!G&1!604!3&32;"!('8!/$5(4'$!604!(.%$(36!8207=!'8&*!"#&'!'$5"&02I,

-#&28!01!(!"#%$(3!('!(!7(6!01!"$..&2<!604%!50>*4"$%!604!7(2"!&"!"0!>4."&"('8,!

X$";'!'(6!604;%$!3$?$.0*&2<!(!B&2\>*`&-42$'`Q00/(%!5.02$=!(23!604!7(2"!"0!/$!(/.$!

"0 !*.(6 !>4'&5= !#(?$ !7&58$3 !(7$'0>$ !?&'4(.&L("&02'= !(23 !<%(/ !)]]c! &210%>("&02!

(/04"!604%!"%(58'!(..!("!"#$!'(>$!"&>$,! !-#&'!&'2;"!<0&2<!"0!70%8!?$%6!7$..!&2!(!'&2<.$!

"#%$(3$3!'$"4*!/$5(4'$!604!7&..!#(?$!"0!7(&"!10%!)]]c!"0!%$'*023!/$10%$!604%!"%(58!

*.(6'=!(23!"#$2!604!#(?$!"0!70%%6!(/04"!"%6&2<!"0!3%(7!(23!*.(6!>4'&5!("!"#$!'(>$!

"&>$,! !-#$!$('&$'"!'0.4"&02!704.3!/$!"0!'*.&"!$(5#!"('8!011!&2"0!&"'!072!"#%$(3,! !-#$!

>4'&5!704.3!*.(6!&2!&"'!072!"#%$(3=!50>*.$"$.6!42"045#$3!/6!"#$!0"#$%!"#&2<'!<0&2<!

02P!"#$!?&'4(.&L("&02'!704.3!3%(7!&2!"#$&%!072!"#%$(3=!20"!&2"$%1$%&2<!7&"#!"#$!>4'&5P!

)]]c!504.3!/$!502"(5"$3!&23$*$23$2".6!01!"#$!0"#$%!"70=!'0!"#("!&1!604!#(?$!(!'.07!

H2"$%2$"!5022$5"&02=!3072.0(3&2<!"#$!3("(!702;" !/0"#$%!"#$!*.(6/(58,! !-#%$(3'!.$"!

604%!50>*4"$%!30!>0%$!"#&2<'!("!025$=!(23!(%$!*%$""6!&>*0%"(2"!&1!604!*.(2!02!30&2<!

(26"#&2<!%$>0"$.6!50>*.&5("$3!7&"#!94/6,

:'-I($"32#B(-#1+&1((

_'&2<!"#%$(3'!&2!94/6!&'!('!'&>*.$!('!*(''&2<!(!/.058!01!503$!"0!"#$ !P8!-6,! 5.('';'!

502'"%45"0%,! !Q0%!$@(>*.$=!.$";'!5%$("$!"#%$$!"#%$(3',! !-#$6!7&..!$(5#!30!'0>$"#&2<!("!

3&11$%$2"!&2"$%?(.'!G$,<,=!*%&2"!'0>$!"$@"!"0!"#$!'5%$$2I,

&%!24(E(P8!-6,/5-7FG(,+(()$%5,-'(E(m

((78%.-F)$%5,-'(d(:mGW((((3"42(@P8!-6,(J5-\@((((2.--3(Z(((()$%5,-'(HE(:((-5,-5,

A"2(B71$25(92,2#$"888!!!&)

Page 88: Humble Little Ruby Book

2-*+5,(E(P8!-6,/5-7FG(,+(()$%5,-'X(E(m((78%.-F)$%5,-'X(d(jGW((((3"42(@P8!-6,(P7+\@((((2.--3(j(((()$%5,-'X(HE(:((-5,-5,((((

48%!,(E(P8!-6,/5-7FG(,+(()$%5,-'Z(E(m

((78%.-F)$%5,-'Z(d(XGW((((3"42(@P8!-6,(P8!--\@((((2.--3(:m(((()$%5,-'Z(HE(:((-5,-5,((

&%!24/K+%5FG2-*+5,/K+%5FG48%!,/K+%5FG

"!!P8!-6,(J5-\

"!!P8!-6,(P7+\

"!!P8!-6,(J5-\

!"#$%&'%'#((()

-0!<$"!"#%$(3'!<0&2<=!604!1&%'"!2$$3!"0!5%$("$!(2!&2'"(25$!01!"#$!P8!-6,!5.(''!(23!*(''!

(!/.058!01!503$!"0!&"P!04%!503$!'&>*.6!*%&2"'!'0>$!"$@"!(23!"#$2!>(8$'!"#("!"#%$(3!

*(4'$!(!1$7!'$5023'!4'&2<!"#$ !2.--3!>$"#03,! !-#$!5(..'!"0!"#$ !K+%5!>$"#03!(%$2;"!

2$5$''(%6!"0!>(8$!"#&'!70%8P!"#$!"#%$(3'!7&..!%42!/6!"#$>'$.?$'!(23!/$!8&..$3!7#$2!

604%!*%0<%(>!$23',!!-#$!/$2$1&"!01!5(..&2<!K+%5!&'!"#("!604%!*%0<%(>!7&..!7(&"!42"&.!(..!

"#%$(3'!"#("!#(?$!/$$2!Z0&2$3!$@&"!G&,$,!"#$!503$!#('!1&2&'#$3!(23!"#$!/.058!$@&"'I,! !H1!

604!"(8$!"#$!Z0&2!5(..'!04"!01!"#$!(/0?$!*%0<%(>=!$(5#!"#%$(3!7&..!*%&2"!025$!(23!$@&"!

/$5(4'$!"#$!>(&2!"#%$(3!$@&"$3P!('!&"!&'!(/0?$!G&,$,=!7&"#!"#$!K+%5!5(..'I=!&"!7&..!%42!10%!

(/04"!V+!'$5023'=!7&"#!$(5#!"#%$(3!*%&2"&2<!(!1$7!"&>$',

-#$!Z0&2!>$"#03!&'!<%$("=!/4"!7#("!&1!604!302;"!7(2"!(!"#%$(3!"0!%42!10%$?$%!

(1"$%!604!$@&"A!!^?$2!14%"#$%=!7#("!&1!604!7(2"!"0!<&?$!&"!"&>$!"0!"%6!"0!'#4"!3072!(1"$%!

604%!*%0<%(>!$23'A! !Q0%"42("$.6=!"#$!Z0&2!>$"#03!&'!*%$""6!'>(%"P!604!5(2!1$$3!&"!(2!

&2"$<$%!('!(!*(%(>$"$%!(23!&"!7&..!4'$!"#("!('!(!"&>$04",

4%)-e)-e+"4(E(P8!-6,/5-7FG(,+((78%.-F4!"-GW((((3"42(@v--3(.++3%5L(.++3%5L(.++3%5L///@((((2.--3(j((((3"42(@v--3(4864(2*!%34(+5(.++3%5L\((IOCAVMn\@

&!!!!A"2(B71$25(92,2#$"888

!"#$%&'(=)'D0%&457'466,.'3,$';,'5,'.,%?'"+'84%466&6';,';0&'94"+';0%&45)'9$6;";47?"+#'/,%'1$23:

Page 89: Humble Little Ruby Book

((((2.--3(j((-5,-5,((

4%)-e)-e+"4/K+%5F:jG

"!!v--3(.++3%5L(.++3%5L(.++3%5L!*%&+,'#$%-"./)

"!!v--3(4864(2*!%34(+5(.++3%5L\((IOCAVMn\!*%&+,'#$%-"./)

"!!v--3(.++3%5L(.++3%5L(.++3%5L!"#$%&'%'#((()

N&25$!7$!<(?$!Z0&2!(!"&>$04"!01!TW!'$5023'=!"#$!'5%&*"`'02<!7&..!02.6!<0!10%!TW!'$5023'!

G'&25$ ! (' ! '002 ! (' ! "#$ ! "#%$(3 ! &' ! Z0&2$3= ! "#$ !>(&2 ! "#%$(3 ! $@&"'P ! "0'' ! &2 ! ( ! .00* ! 0%!

'0>$"#&2<!"#("!%42'!10%!(!7#&.$!/$.07!&"!"0!>(8$!&"!%42!(!.&"".$!.02<$%I,

K.,$3.))+,N($"32#B1((

-#%$(3'!011$%!(!1$7!>$"#03'!10%!502"%0..&2<!"#$>'$.?$',!!-#$!1&%'"!01!"#$'$!>$"#03'!&'!

3622=!7#&5#!7&..!"$..!"#$!"#%$(3!'5#$34.$%!"0!*(''!"#$!$@$54"&02!"0!(20"#$%!"#%$(3,!!Q0%!

$@(>*.$=!.$";'!'(6!604!#(?$!"70!"#%$(3'!(23!604;3!.&8$!"#$>!"0!*%&2"!"#&2<'!04"!(23!

*(''!"#$!502"%0.!"0!$(5#!0"#$%!('!"#$6!30,!!X$";'!'*$..!J7$(.J!4'&2<!"70!"#%$(3'E

4:(E(P8!-6,/5-7(R(3!%54(@7@b(P8!-6,/3622b(3!%54(@6@(S4X(E(P8!-6,/5-7(R(3!%54(@-@b(P8!-6,/3622b(3!%54(@.@(S

4:/K+%54X/K+%5

"!!7-6.

-#$!3622!>$"#03!/('&5(..6!"$..'!"#$!54%%$2"!"#%$(3!"0!#(2<!04"!10%!(!'$5023!7#&.$!"#$!

(20"#$%!"#%$(3!30$'!&"'!"#&2<,! !H2!"#$!$@(>*.$=!"#$!"#%$(3'!'7&"5#!011!/$5(4'$!"#$6!

*(4'$!"#$>'$.?$'!"0!(..07!(20"#$%!"#%$(3!"0!$@$54"$,

\20"#$% !>$"#03 ! "#(" ! &' ! 4'$3 ! "0 ! 502"%0. ! "#%$(3' ! 1%0> !7&"#&2 ! &' ! "#$ ! '"0*!

>$"#03,!!-#&'!>$"#03!'&>*.6!'"0*'!"#$!"#%$(3;'!$@$54"&02=!7#&5#!5(2!/$!'"(%"$3!(<(&2!

("!(!.("$%!"&>$,!!-#$!'"0*!>$"#03!&'!%$(..6!4'$14.!10%!'&"4("&02'!7#$%$!(!"#%$(3!2$$3'!"0!

*(4'$ !42"&. !604!5(2!(550>*.&'# !(20"#$% ! "('8, ! !X$";' !'(6 !604!7$%$ !3$'&<2&2<!'0>$!

%0/0"&5!'(&.0%'=!(23!"#$!1&%'"!>("$!504.32;"!3%0*!(25#0%!42"&.!"#$!5(*"(&2!'(6'!&";'!08(6!

"0!30!'0,!!:04;3!*%0/(/.6!30!'0>$"#&2<!.&8$!"#$!10..07&2<,

)64-(E(P8!-6,/5-7(,+((3"42(@O8+$\(T65(V(#-(,!+33%5=(48-(65*8+!(2%!D@((P8!-6,/24+3((3"42(@O$-(2%!B(,!+33%5=(65*8+!\@-5,

P8!-6,/3622

3"42(@TOwPOVcW(O$-B(.6,,$\@

)64-/!"5)64-/K+%5

A"2(B71$25(92,2#$"888!!!&"

Page 90: Humble Little Ruby Book

"!!O8+$\(T65(V(#-(,!+33%5=(48-(65*8+!(2%!D

"!!TOwPOVcW(O$-B(.6,,$\

"!!O$-(2%!B(,!+33%5=(65*8+!\

94>0%!#('!&"!"#("!&'!#07!"#$!X0?$!c0("!(5"4(..6!'"(%"$3C!%0/0"&5!'(&.0%',!!\26#07=!"#$!

'"0*!5.(''!>$"#03!'"0*'!"#$!54%%$2"!"#%$(3=!/4"!('!604!5(2!'$$!&2!"#$!$@(>*.$=!"#$!%42!

&2'"(25$!>$"#03!7&..!%$'"(%"!&"!G%$>$>/$%C!'"0*!&'!(!5.(''!>$"#03=!%42!&'!(2!&2'"(25$!

>$"#03I,!!-#$!"#%$(3!5(2!"#$2!/$!Z0&2$3!"0!502"&24$!02!&"'!>$%%6!.&"".$!7(6,

-#%$(3'!5(2!/$!(."0<$"#$% !$@&"$3!(.'0, ! !:04!5(2!30!"#&'!02$!01 !"70!7(6'C!

$&"#$%!1%0>!7&"#&2!4'&2<!$@&"!0%!"#$!04"'&3$!4'&2<!8&..,

8+)%*%,-(E(P8!-6,/5-7(,+((((((78%.-(F:(EE(:GW

3"42(@M+5L4(?%..()-\@P8!-6,/3622

((((((-5,((((-5,

2"%*%,-(E(P8!-6,/5-7(,+((((3"42(@P8%2(%2(6..()-65%5=.-22\@((((P8!-6,/-'%4(((-5,

P8!-6,/?%..F8+)%*%,-G

"!!M+5L4(?%..()-\

"!!P8%2(%2(6..()-65%5=.-22\

"!!M+5L4(?%..()-\

-#$6!70%8!"#$!'(>$=!"#$6!Z4'"!(550>*.&'#!&"!3&11$%$2"!7(6',!!H";'!4'4(..6!/$""$%!*%(5"&5$!

"0!8&..!(!"#%$(3!011!1%0>!7&"#&2!'&>*.6!/$5(4'$!604!8207!7#$2!(23!7#$%$!&"!7&..!/$!

8&..$3P!8&..&2<!"#%$(3'!011!("!7&..!1%0>!7#$%$?$%!5(2!.$(3!"0!'0>$!'$%&04'!50214'&02=!

(23!1%(28.6=!2$$3.$''!8&..&2<!01!&2205$2"!"#%$(3',

A2$$+,N(+,V.3H#$+.,(V3.H($"32#B1((

-#$%$!(%$!(!1$7!>$"#03'!"#("!5(2!/$!4'$3!"0!<%(/!&210%>("&02!(/04"!"#%$(3',!!!-#$!1&%'"!

01!"#$'$!/$&2< !P8!-6,/*"!!-54! (23 !P8!-6,/.%24,! !-#$ !*"!!-54!>$"#03=!01!504%'$=!

<&?$'!604!(55$''!"0! "#$!54%%$2"!"#%$(3,! !-#$ !.%24! >$"#03!.&'"'!(.. ! "#%$(3'!"#("!(%$!

%422(/.$!0%!'"0**$3,! !H1!604!704.3!.&8$!"0!<$"!'0>$!&210%>("&02!(/04"!"#$'$!"#%$(3'=!

"#$2!604!5(2!5(..!"#$!&2'"(25$!>$"#03'(6.%1-D!(23!2464"2,!!-#$!6.%1-D!>$"#03!7&..!

"$..!604!7#$"#$%!0%!20"!"#$!"#%$(3!&'!(5"&?$!0%!20"P!&"!7&..!%$"4%2 !4!"-! &1!"#$!"#%$(3!&'!

%422&2<!0%!'.$$*&2<!(23!&6.2-! &1!&"!#('!$@&"$3!0%!&'!'"0**$3,! !-#$!'"("4'!>$"#03!7&..!

%$"4%2 !@!"5@! &1 ! "#$!"#%$(3!&'!%422&2<!('!20%>(.= [email protected]@! &1 ! "#$!"#%$(3!&'!'.$$*&2<=!

@6#+!4%5=@!&1!"#$!"#%$(3!&'!(/0%"&2<=!5%.!&1!"$%>&2("$3!7&"#!(2!$@5$*"&02=!(23!&6.2-!&1!

"#$!"#%$(3!"$%>&2("$3!20%>(..6,! !-$'"&2<!7#$"#$%!0%!20"!(!"#%$(3!&'!'&>*.6!%4222&2<!

5(2!/$!302$!4'&2<!"#$!24+3D!>$"#03,!!Q0%!$@(>*.$C

)$48!-6,(E(P8!-6,/5-7(R(P8!-6,/24+3(S

)$48!-6,/24+3D "!!4!"-

P8!-6,/*"!!-54/24+3D "!!&6.2-

&#!!!A"2(B71$25(92,2#$"888

Page 91: Humble Little Ruby Book

94/6!%$"4%2'!4!"-!&1!"#$!"#%$(3!&'!'"0**$3!0%!'.$$*&2<P!0"#$%7&'$!&"!7&..!%$"4%2!&6.2-,!

:04!5(2!(.'0!<$"!"#$!?(.4$!%$"4%2$3!1%0>!(!"#%$(3!4'&2<!"#$!16."-!>$"#03,

*6.*".64+!(E(P8!-6,/5-7(R(:X(>(<(Y(Z(S*6.*".64+!/16."-

"!!l

-#&'!&'!$@5$..$2"!10%!.02<!5(.54.("&02'!7#0'$!?(.4$!&'2;"!2$$3$3!%&<#"!(7(6P!30&2<!"#$>!

"#&'!7(6!.$"'!604!%42!"#$>!02!(20"#$%!"#%$(3!'0!"#$6!302;"!&2"$%%4*"!"#$!>(&2!"#%$(3!

(23!"#$!$@$54"&02!01!604%!*%0<%(>,

L3.&21121/($"2(.$"23(C#I($.(B.(1$'VV

N0>$"&>$'!604!2$$3!"0!'*(72!(!2$7!*%05$''!(."0<$"#$%,!!B#$"#$%!604!2$$3!"0!$@$54"$!

( ! "#&%3!*(%"6 !*%0<%(>!0% ! Z4'" ! &2?08$!(20"#$% !94/6! &2'"(25$ !"#("!%42'!604%!'5%&*"=!

'*(72&2<!$@"$%2(.!*%05$''$'!5(2!/$!*%$""6!&>*0%"(2"!("!"&>$',!!94/6!011$%'!(!1$7!7(6'!

"0!'*(72!(23!502"%0.!2$7!*%05$''$',

>?# %!"!#$%% 4#-?'2% %ODO!*%0<%(>>$%'!%$Z0&5$E! !94/6!#('!( !'6'"$>!>$"#03!"#("!

0*$%("$'!.&8$!"#$!ODO!2$24-)!>$"#03,! !O$%.!*%0<%(>>$%'!>(6!(.'0!%$Z0&5$=!('!94/6!

(.'0!'4**0%"'!/(58"&58!20"("&02!10%!'"(%"&2<!$@"$%2(.!*%05$''$',!!Q0%!"#0'$!01!604!7#0!

(%$!421(>&.&(%!7&"#!/0"#=!.$";'!Z4'"!.008!("!(2!$@(>*.$,!!

2$24-)F@*64(>-4*>36227,@G

-'4-!5(E(}78+6)%}

3"42(F@f+"!("2-!56)-(%2(QR-'4-!5S/@G "!!K-!-)$

-#$!1425"&02'!01 ! "#$'$!>$"#03' ! &' ! 1(&%.6 !0/?&04', ! !-#$ !2$24-)! >$"#03!'*(72'!(2!

$@"$%2(.!(**.&5("&02!&2!(!'4/*%05$''P!&"!%$"4%2'!"%4$!&1!&"!&'!$@&"$3!'455$''14..6!(23!1(.'$!

0"#$%7&'$!G7&"#!"#$!$@&"!503$!&2 !|DI,! !-#$!4210%"42("$!"#&2<!(/04" !2$24-)! &'!"#("!&"!

?0>&"' ! "#$ !04"*4" !02 ! "0 !7#$%$?$% ! 604% !(**.&5("&02;' !04"*4" ! &' !/$&2<!'"%$(>$3! "0=!

7#&5#!>$(2'!604!5(2!5(2;"!5(*"4%$!&"!$&"#$%,!!-#(";'!7#$%$!"#$!/(58"&58'!50>$!&2P!"#$6!

(.'0!'*(72!(2!(**.&5("&02!&2!(!'4/*%05$''!/4"!(.'0!(..07!604!"0!5(*"4%$!&"'!04"*4",

0."#%2)#14:%%-#$!2$24-)!>$"#03!70%8'!7$..!$204<#!&2!(!.0"!01!5('$'=!/4"!7#("!&1!604!

2$$3!*%0?&3$!'0>$!&2"$%(5"&?&"6!7&"#!"#$!(**.&5("&02A! !N(6!604!2$$3!"0!<&?$!&"!'0>$!

&2*4"!0%!*$%#(*'!&"!<&?$'!604!3$.(6$3!04"*4"!(23!604;3!.&8$!"0!'"(%"!*%05$''&2<!&"!/$10%$!

&";'!302$!$@$54"&2<,!!94/6!011$%'!"#$!VJ/3+3-5!>$"#03!"#("!30$'!Z4'"!"#(",

-#$ !3+3-5! >$"#03!7&.. !'*(72!(2!(**.&5("&02!(23!"#$2!<&?$!604!(!'"%$(>!

7#&5#!604!5(2!%$(3!1%0>!(23!7%&"$!"0!Z4'"!.&8$!(26!0"#$%!'"%$(>!G$,<,=!1&.$!'"%$(>I,

!#(E(VJ/3+3-5F@!"#$@B(@7H@G!#/3"42(@3"42(LC8+6\((I6,%*6.(2"#3!+*-22B(,",-\L@!#/*.+2-e7!%4-

3"42(!#/=-42

\' ! 604 ! 5(2 ! '$$= ! 604 ! 0*$2 ! "#$ ! *&*$ !7&"# !3+3-5! Z4'" ! (' ! 604 !704.3 ! ( ! 1&.$ ! '"%$(>=!

'*$5&16&2<!(!"(%<$"!(23!(55$''!>03$!G7#&5#!(%$!"#$!'(>$!(55$''!>03$'!10%!1&.$'I,!!:04!

5(2!"#$2!4'$!3"42!"0!7%&"$!"0!"0!"#$!'"%$(>!(23!(26!0"#$%!'"%$(>!>$"#03!G$,<,=!=-42=!

A"2(B71$25(92,2#$"888!!!&$

Page 92: Humble Little Ruby Book

!-6,=!$"5,I,!!]0!/$!(7(%$!"#("!"#$!*.+2-e7!%4-(5(..!7('!%$f4&%$3!10%!>$,!!H;>!20"!'4%$!

&1!"#&'!(!*.("10%>!&''4$!0%!20"=!/4"!&"!>&<#"!/$!'(1$!"0!Z4'"!<0!(#$(3!(23!"#%07!&"!&2!"#$%$!

10%!<003!>$('4%$,

5$2#"#$2#$- %CD#*(-.'$ % %H1 ! 604;%$ ! 02 ! ( !>(5#&2$ ! "#(" ! &>*.$>$2"' ! 10%8 ! G&,$,= ! 20"!

B&2307'I!"#$2!604!5(2!4'$!"#$ !-'-*! >$"#03!"0!$@$54"$!"#&2<'!&2!(! .$''!#(23'!02!

>$"#03!7#&.$!'"&..!%$"(&2&2<!(!.&"".$!502"%0.,!!

-'-*F@636*8-*4.(!-246!4@G(%&(&+!?/5%.DQ(!-246!4%5=(636*8-///w!+*-22/76%4 Q(C6%4(&+!(48-(3!+*-22(4+(-'%4(F+34%+56.G

-#&' ! #(' ! "#$ ! '(>$ ! /('&5 ! $11$5" ! (' ! 4'&2< ! '6'"$>= ! $@5$*" ! "#(" ! 604 ! 5(2 ! "$.. ! 604%!

(**.&5("&02!"0!7(&"!42"&.!"#("!*%05$''!&'!302$!4'&2<!w!+*-22/76%4P!"#&'!&'!(!<003!&3$(!&1!

604;%$ ! %422&2< ! ( ! '4/*%05$'' ! "#(" ! 504.3 ! 5(4'$ ! &%%$*(%(/.$ ! 3(>(<$ ! &1 ! $@&"$3!

*%$>("4%$.6!G$,<,=!>0?&2<!1&.$'!0%!'0>$"#&2<!.&8$!"#("I,

M?:(75F(F>P8:?>0F>7G

\55$''&2<!>45#!01 ! "#$!$2?&%02>$2" !"#(" !604% !94/6!*%0<%(>!&' ! &2 ! &' !(' !'&>*.$ !('!

%(&'&2<!604%!O.(2$"$$%!%&2<!"0!"#$!'86!(23!5(..&2<!3072!604%!*$%'02(.!*07$%,! !B(&"=!

"#(";'!20"!%&<#",!!H";'!('!'&>*.$!('!4'&2<!(!1$7!2$("!1425"&02'!"#("!(..07!94/6!"0!(55$''!

$2?&%02>$2"!?(%&(/.$'=!*%0<%(>!(%<4>$2"'=!(23!(!/&"!(/04"!94/6;'!072!$2?&%02>$2",!

-#$!*07$%!&'!604%'E

F,Y+3.,H2,$(Y#3+#-)21(#,B($"2()+*2

H";' ! $('6 ! "0 ! (55$'' ! $2?&%02>$2" ! ?(%&(/.$' ! &2 ! 94/6P ! &1 ! 604;?$ ! $?$% ! 4'$3 ! ODO ! 0%!

'0>$"#&2<!'&>&.(%!"0!(55$''!$2?&%02>$2"!?(%&(/.$'=!&";'!?$%6!>45#!"#$!'(>$!5025$*"!&2!

94/6,

nczoL]AnssLp "!!>#%5>28

nczoLAJUnLp( "!!>8+)->)!5-%=8#+!.$

nczoL{]nILp( "!!)!5-%=8#+!.$

-#$!(/0?$!?(.4$'!(%$!1(&%.6!50>>02!&1 !604;%$!02!( !X&24@F"6*$!'6'"$>P!&1 !604;%$!02!

B&2307'!"#$6!5#(2<$!(!/&",!!Q0%!$@(>*.$=!02!X&24@!{]nI!&'!"#$!$2?&%02>$2"!?(%&(/.$!

#0.3'!604%!4'$%2(>$=!/4"!02!B&2307!"#&'!?(.4$!&'!*.(5$3!&2!{]nIcOUn,!!-#$!0"#$%!"70!

$@(>*.$!?(.4$'!$?(.4("$!"0 !5%., ! ! H !'4<<$'"!"#(" !&1 !604;%$!<0&2<!"0!4'$!$2?&%02>$2"!

?(%&(/.$'=!"#("!604!*0*!0*$2!%!#! (23!30!"70!"#&2<',! !Q&%'"=!>(8$!'4%$!"#$!?(.4$!604!

7(2"!"0!4'$!&'!?(.&3!02!"#$!*.("10%>'!604;..!/$!4'&2<!&"!02,! !N$5023.6=!5(..!4*!"#$!ncz(

50..$5"&02!(23!.008!("!(..!"#$!?(.4$'!(?(&.(/.$,! !H1!"#$!?(.4$!604!*.(22$3!02!4'&2<!&'2;"!

(?(&.(/.$=!(2!(."$%2("$!$f4&?(.$2"!>&<#"!/$!G$,<,!{]nI!(23!{]nIcOUnI,

-0!7%&"$!"0!(2!$2?&%02>$2"!?(%&(/.$=!604!'&>*.6!(''&<2!(!?(.4$!>45#!.&8$!604!

704.3!(!20%>(.!?(%&(/.$,

&%!!!A"2(B71$25(92,2#$"888

Page 93: Humble Little Ruby Book

nczoL{]nIcOUnLp(E(L,+54,+48%2L3"42(nczoL{]nIcOUnLp

"!!,+54,+48%2

:04%!5#(2<$'!"0!$2?&%02>$2"!?(%&(/.$'!(%$!&2#$%&"$3!/6!(26!5#&.3!*%05$''$'!"#("!604!

'*(72=!/4"!"#$6!30!20"!*%0*(<("$!/(58!4*!"0!"#$!*(%$2"!01!"#$!94/6!(**.&5("&02,!!\..!01!

604%!5#(2<$'!'"(6!.05(.!"0!604%!(**.&5("&02,!!H1!2$$3!/$=!604!504.3!'*(72!(!*%05$''!"0!

4'$!(!50>>(23!.&8$!2-4!0%!-'3+!4!"0!5#(2<$!&"!&2!"#$!'#$..,

7"2(&.HH#,B()+,2(#,B(I.'

K0'"!94/6!'5%&*"'!(%$!&2?08$3!1%0>!"#$!50>>(23!.&2$P!"#&'!>$(2'!"#("=!&1!2$$3!/$=!

604!5(2!*(''!(%<4>$2"'!"0!&"!02!"#$!50>>(23!.&2$,! !Q0%!$@(>*.$=!&1!604!7%&"$!(!"$@"!

$3&"0%=!604!504.3!*(''!"#$!1&.$!2(>$!604!7(2"!"0!0*$2!"0!&"!02!"#$!50>>(23!.&2$!G$,<,!

>6$3&"0%,%/!>61&.$,"@"I!%("#$%!"#(2!#(?&2<!"0!4'$!Q&.$!Fq!b*$2!0%!)"%.ab!0%!7#("$?$%,!

O$%#(*'!604!%$>$>/$%!7#$2!7$!&2'"(..$3!94/6!7(6!/(58!7#$2=!H!#(3!604!"6*$!!"#$(

01=!7#$%$!94/6!&'!(!50>>(23!.&2$!(%<4>$2",!94/6;'!1(54."&$'!10%!(550>*.&'#&2<!"#&'!

?$%6!'(>$!"#&2<!(%$!1(&%.6!'&>*.$!"0!$>*.06P!604!(%$!<&?$2!(!<.0/(.!(%%(6=!OIgz=!"0!30!

7&"#!7#("!604!7&'#,

OIgz/-6*8Rx6!=x(3"42(@O!=W(QR6!=Sb(@S

H1 !604!7$%$!"0! &2?08$!"#$!(/0?$!'5%&*"!7&"#!(! 1$7!(%<4>$2"'=!604!704.3!'$$!"#$>!

*%&2"$3!04"!'$f4$2"&(..6,

!"#$(6!=1/!#(@U$(6!=2\@(:XZ(:l

"!!O!=W(U$(6!=2\b(O!=W(:XZb(O!=W(:lb

:04!5(2!4'$!"#&'!1$("4%$!"0!<("#$%!&210%>("&02!G$,<,!1&.$2(>$'=!24>$%&5(.!*(%(>$"$%'=!

$"5,I!('!H!#(?$!302$!#$%$=!0%!604!504.3!4'$!&"!"0!(..07!"#$!4'$%!"0!'*$5&16!50>>(23!.&2$!

'7&"5#$'!G.&8$!F?!02!"#$!94/6!50>>(23I,!!

:'-I(#,B(+$1()+$$)2(&.3,23(.V(I.'3(&.HT'$23

H2!"#$!<%$("$%!$50'6'"$>!01!604%!50>*4"$%=!94/6!#('!&"'!072!.&"".$!>&5%050'>,!!B#$2!

.0(3&2<!.&/%(%&$'!(23!'45#=!94/6!30$'2;" !Z4'" !>(<&5(..6!8207!7#$%$!"#$6!(%$P!"#$&%!

*("#' ! (%$ ! *(%" ! 01 ! 94/6;' ! $2?&%02>$2" ! 5021&<4%("&02, ! ! _'$ ! "#$ ! 10..07&2< ! 94/6!

&2?05("&02!"0!'$$!7#$%$!94/6!.008',

!"#$(0-(@3"42(|W@

b2!(!"6*&5(.!B&2307'!&2'"(..("&02=!604!>&<#"!'$$!(!.&'"!?$%6!'&>&.(%!"0!02$!.&8$!"#&',!!!!

TW>!"#$>.%#>!"#$>2%4-e!"#$>:/;TW>!"#$>.%#>!"#$>2%4-e!"#$>:/;>%Z;[0)21*!4TW>!"#$>.%#>!"#$>2%4-e!"#$TW>!"#$>.%#>!"#$>:/;TW>!"#$>.%#>!"#$>:/;>%Z;[0)27%5ZX/

\'!604!5(2!'$$=!94/6!.008'!&2!>4."&*.$!.05("&02'!"6*&5(..6!7&"#&2!"#$!94/6!3&%$5"0%6P!

(.'0!20"$!"#("!&" !&'!?$%'&02!'*$5&1&5!G&,$,!&" !02.6!.008'!("!.&/%(%&$'!&2'"(..$3!&2!"#$!T,d!

A"2(B71$25(92,2#$"888!!!&&

Page 94: Humble Little Ruby Book

3&%$5"0%6!'&25$!7$!(%$!4'&2<!T,d!#$%$I,!!-#$!%$'4."'!02!(!X&24@!0%!bNe!/0@!'#04.3!/$!

'&>&.(%P!'&>*.6!%$*.(5$!JTW>J!7&"#!'0>$"#&2<!.&8$!J>"2!>.+*6.>.%#>J!0%!J>"2!>.%#>J!

(23!604!'#04.3!<$"!(!?$%6!'&>&.(%!.&'",

:04!5(2!(.'0!<("#$%!'0>$!&210%>("&02!(/04"!#07!94/6!7('!/4&."!(23!&2!7#("!

$2?&%02>$2", ! !-#&' ! &210%>("&02 ! 5(2 !/$ !4'$14. ! &' ! ( !/4< !$@&'"' ! 10% ! ( ! '*$5&1&5 !/4&.3!

$2?&%02>$2"=!(23!604!7(2"!"0!'$$!&1!(!*%0/.$>!604!(%$!$@*$%&$25&2<!>&<#"!/$!(!%$'4."!

01!"#("!/4<,!!-#&'!&210%>("&02!&'!7%&""$2!"0!"#$!T+5&%=!>034.$!&2!"#$!1&.$!!#*+5&%=/!#(

&2!"#$!!.&/%(%6!3&%$5"0%6=!4'4(..6!&2!(!3&%$5"0%6!423$%!"#("!7#&5#!&'!.(/$.$3!/6!"#$!/4&.3!

$2?&%02>$2"!G&,$,!%Z;[0)27%5ZXI,!!:04!5(2!(55$''!"#&'!&210%>("&02!*%0<%(>>("&5(..6!

(.'0!G'&25$!&"!&'!*(%"!01!"#$!.&/%(%6I,

%5*.",-(T+5&%=

TJchVgoL8+24e+2Lp "!!@)27%5ZX@

TJchVgoL46!=-4e+2Lp "!!@)27%5ZX@

TJchVgoL.%#,%!Lp "!!@TW>!"#$>.%#@

TJchVgoL#"%.,e*3"Lp "!!@%[;[@

N&25$!"#$!)021&<!>034.$!&'!$@*0'$3=!604!5(2!'&>*.6!&25.43$!&"!(23!5(..!?(.4$'!1%0>!"#$!

<.0/(.!502'"(2"!#('#!)b[QHY!"0!4'$!"#$>,! ![07!"#$!2$@"!"&>$!'0>$02$!5(..'!604!(!

.&(%!(23!"$..'!604!"#("!5(2;"!*0''&/.6!/$!%422&2<!94/6!02!(2!\**.$!HH&=!604!5(2!*%0?$!

"#$>!7%02<,!!U&45'7%02<,

!8>Z[(6>Q(<F=?>QJ

94/6 ! &' ! "6*&5(..6 ! (''05&("$3 !7&"# ! "#$ !_[HeF/('$3 !0*$%("&2< ! '6'"$>'P !#$58= ! 42"&.!

(/04" ! ( ! 6$(% ! (<0= !K("L ! #&>'$.1 !7(' ! *%02$ ! "0 ! 8&58&2< ! 604 ! &2 ! "#$ ! "$$"# ! 10% ! $?$2!

>$2"&02&2<!B&2307'!(23!94/6!&2!"#$!'(>$!'$2"$25$,!!Q0%"42("$.6=!%$5$2"!(5"&?&"6!#('!

*%0>0"$3 !B&2307'! "0 !( !*0'&"&02 !01 ! G(" ! "#$ !?$%6 ! .$('"I ! "0.$%(25$ !7&"#&2 ! "#$ !94/6!

50>>42&"6= ! $?&3$25$3 ! &2 ! *%0Z$5"' ! '45# ! (' ! "#$ ! b2$F).&58 ! 94/6 ! H2'"(..$%!

G#""*C``%4/6&2'"(..$%,%4/610%<$,0%<`I ! (23 ! "#$ ! 7023$%14. ! 20F&2'"(.. ! 9(&.' ! *%0Z$5"=!

H2'"(2"9(&.' !G#""*C``&2'"(2"%(&.',%4/610%<$,0%<`I, ! !94/6! .&/%(%&$' ! 10% !B&2307'!#(?$!

(.'0!/$$2!$2#(25$3,!!-#$%$!(%$!(!24>/$%!01!"#$>!(?(&.(/.$!G'$(%5#!94/6Q0%<$!&1!604;3!

.&8$!"0!'$$!(!'(>*.&2<I=!/4"!H!7(2"!"0!1054'!02!"#$!C%5ZXOwVB(C%5ZXB((23(CVcZXJsn(

>034.$'!&2!"#$!'"(23(%3!.&/%(%6,

6L8

K(26!(**.&5("&02'!"03(6!(%$!3&%$5".6!"&$3!"0!"#$!B&2307'!\OH,!!K(26!"('8'!'45#!('!H[H!

1&.$ ! &2"$%(5"&02 ! (%$ ! >45# ! $('&$% ! "0 ! (550>*.&'# ! 7&"# ! "#$ ! B&2307' ! \OH= ! (23!

>$5#(2&'>'!.&8$!*%&2"&2<!(%$!02.6!(55$''&/.$!"#%04<#!"#$'$!5#(22$.',!!\'!'45#=!7#$2!

%$*.(5&2<!54%%$2"!1425"&02(.&"6!&2!(20"#$%!.(2<4(<$!7&"#!94/6!503$!0%!7#$2!"%6&2<!"0!

4'$!"#$'$!>$5#(2&'>'!&2!604%!94/6!503$=!604%!02.6!5#0&5$!&'!"0!1&<4%$!04"!(!7(6!"0!<$"!

94/6!(23!"#$!B&2307'!\OH!"(.8!"0!$(5#!0"#$%,! !94/6!011$%'!"#$!B&2VR\OH!.&/%(%6!"0!

#$.*!$('$!"#$!*(&2!01!"#&'!&2"$<%("&02,

&'!!!A"2(B71$25(92,2#$"888

Page 95: Humble Little Ruby Book

-#$!C%5ZXOwV!>034.$!(..07'!604!"0!>(8$!5(..'!"0!(26!B&2307'!\OH!>034.$!

G$,<, !?-!5-.ZX= !"2-!ZX= !(23!'0 !02I, ! !:04!5(2!>(8$ ! "#$'$ !5(..' !/6 ! &2'"(2"&("&2< !(!

C%5ZXOwV! 0/Z$5" !(23!5(..&2<!"#$!5(.. ! "#$!>$"#03!02! &", ! !Q0% !$@(>*.$= ! .$";' !'(6 !604!

2$$3$3 ! "0 ! %$(3 ! 1%0>!(23 !7%&"$ ! "0 !H[H ! 1&.$'! "#(" !(%$ !4'$3 !/6 !(20"#$% !*(%" !01 ! 604%!

0%<(2&L("&02'!'6'"$>,!!-#$'$!H[H!1&.$'!#04'$!.0<&2!&210%>("&02!0"#$%!$''$2"&(.!/&"'!"#("!

.$"!"#$!(**.&5("&02'!(55$''!>4"4(.!%$'04%5$'P!('!(2!$@(>*.$=!.$";'!/4&.3!(!.&"".$!"$'"!1&.$,

o,646#62-p.+=%5(E(,#"2-!36227+!,(E(&++#69(

o&%.-286!-p"2-!56)-(E(2869#+4.+*64%+5(E(>>2-!1-!>3648

c$5(4'$!01!*$%10%>(25$!%$('02'!G&,$,!604!302;"!7(2"!"0!7%&"$!"#$!%$<4.(%!$@*%$''&02'!

"0 ! *(%'$ ! "#$ ! H[H ! 1&.$I ! 604 ! 3$5&3$ ! "0 ! 4'$ ! "#$ ! B&2307' ! \OH ! 1425"&02!

g-4w!%164-w!+&%.-]4!%5=! "0 ! *(%'$ ! 04" ! ?(.4$', ! ! -0 ! 4'$ ! Y$"O%&?("$O%01&.$N"%&2<!

7&"#&2 !94/6= ! 604 ! 2$$3 ! "0 ! 1&%'" ! .008 ! (" ! "#$ ! 1425"&02 ! 3$1&2&"&02 ! (23 ! "#$ ! 1425"&02!

3$1&2&"&02' !01 ! (26 ! %$.("$3 ! 1425"&02' ! 604 !7&.. ! 2$$3 ! G&2 ! "#&' ! 5('$= !7$ !7&.. ! 2$$3 ! "#$!

.24!.-5O!1425"&02!(.'0I,!!

MCJIM(g-4w!%164-w!+&%.-]4!%5=F((swTP]PI(.3O33c6)-B((swTP]PI(.3v-$c6)-B((swTP]PI(.3M-&6".4B((swP]PI(.3I-4"!5-,]4!%5=B((MCJIM(5]%9-B((swTP]PI(.3h%.-c6)-G

%54(.24!.-5F((swTP]PI(.3]4!%5=Gb

[07!"#("!7$!#(?$!"#$!*(%(>$"$%'!(23!%$"4%2!"6*$'!01!"#$'$!1425"&02'=!7$!#(?$!(..!"#$!

&210%>("&02!7$!2$$3!"0!502"%45"!B&2VR\OH!0/Z$5"'!(23!>(8$!5(..'!"0!"#$'$!1425"&02'!

G"#&'!&'!(..!$@*.(&2$3!/$.07EI,!!

!-`"%!-(LC%5ZXOwVL

Q(g-4w!%164-w!+&%.-]4!%5=(%52465*-=-416."-(E(C%5ZXOwV/5-7FL?-!5-.ZXLB(Lg-4w!%164-w!+&%.-]4!%5=LB(

^7Fw(w(w(w(s(wGB(LsLGb

Q(.24!.-5O(%52465*-24!.-5(E(C%5ZXOwV/5-7FL?-!5-.ZXLB(L.24!.-5OLB(^7FwGB(LsLGb

!-424!(E(L(L(Y(FXjj(H(:G=-416."-/T6..FL,646#62-LB(L.+=%5LB(LLB(!-424!B(XjjB(LTW>4-24/%5%LG

.-5=48(E(24!.-5/T6..F!-424!G3"42(!-424!om//.-5=48(0(:p

"!!,#"2-!

\' ! 604 ! 5(2 ! '$$= ! 604 ! 2$$3 ! "0 ! 1&%'" ! &25.43$ ! "#$ !B&2VR\OH !>034.$, ! ! -#$2= ! 5%$("$!

&2'"(25$'!01!"#$!B&2VR\OH!5.(''!10%!$(5#!1425"&02!604!(%$!<0&2<!"0!5(..,!!H2!"#&'!5('$=!

7$ ! 5%$("$3 ! "70 ! &2'"(25$'C !=-416."-! 7#&5# ! #0.3' ! ( ! %$1$%$25$ ! "0!

A"2(B71$25(92,2#$"888!!!&(

Page 96: Humble Little Ruby Book

g-4w!%164-w!+&%.-]4!%5=!(23!24!.-5!7#&5#!#0.3'!(!%$1$%$25$!"0!.24!.-5O!G/0"#!01!

7#&5#!(%$!.(/$.$3!7&"#!50>>$2"'I,!!-#$!1&%'"!*(%(>$"$%!10%!"#$!502'"%45"0%!&'!"#$!\OH!

>034.$!"0!.008!&2!G$,<,!g-4w!%164-w!+&%.-]4!%5=!.&?$'!&2!?-!5-.ZXI=!(23!"#$!'$5023!

*(%(>$"$%!&'!"#$!1425"&02!2(>$!"#("!604!7&'#!"0!5(..,!!-#$!"#&%3!*(%(>$"$%!&'!(2!(%%(6!

01 ! *(%(>$"$% ! "6*$' ! "#(" ! "#$ ! 1425"&02 ! "(8$'P ! 10% ! $@(>*.$= ! &2 ! "#$ ! (/0?$ ! 1425"&02!

3$5.(%("&02'=!7$!'(7!"#("!.'"%.$2\!"(8$'!(!'&2<.$!502'"(2"!'"%&2<!*0&2"$%!GswT]PII,!!-#$!

*(%(>$"$%!"6*$!5(2!/$!'*$5&1&$3!('!02$!01!"#%$$!"6*$'C!O!10%!'"%&2<!*0&2"$%'=![!(23!X!10%!

24>/$%'= ! H ! 10% ! &2"$<$%'= ! (23 ! g ! 10% ! ?0&3, ! ! N0 ! &2 ! 04% ! $@(>*.$=!

g-4w!%164-w!+&%.-]4!%5=! "(8$'!W!'"%&2<!*0&2"$%'!(23!02$!.02<!24>/$%!*(%(>$"$%,!

-#$!104%"#!*(%(>$"$%!&' !"#$!%$"4%2!"6*$!G$,<,!7$!'*$5&1&$3!X!10%!.02<!24>/$%!'&25$!

MCJIM= ! "#$! "6*$ !'*$5&1&$3 ! &2 ! "#$ ! 1425"&02 !3$1&2&"&02= ! &' ! '&>*.6 !( ! "6*$3$1 ! 10% !.+5=I,!

_'&2<!H[H!1&.$'!&'!<%$("!10%!.$<(56!'6'"$>'=!/4"!$?$2!K&5%0'01"!8207'!"#("!8$$*&2<!(..!

604%!&>*0%"(2"!3("(!&2!"#$!9$<&'"%6!&'!7#$%$!&";'!("!207(3(6'E

7"2(:2N+1$3I

-#$ !C%5ZX! >034.$ ! *%0?&3$' ! 604 !7&"# ! ( ! ?$%6 ! 1%&$23.6 ! &2"$%1(5$ ! "0 ! 0*$%("$ ! 02 ! "#$!

B&2307' ! %$<&'"%6, ! ! H';2" ! "#(" ! $@5&"&2<A ! ! [07 ! 604 ! 5(2 ! '"&58 ! "02' ! 01 ! $''$2"&(.!

&210%>("&02!&2!"#$%$!G'45#!('!.&5$2'$!8$6'I=!#(?$!&"!0?$%7%&""$2=!3$.$"$3=!(23!<$2$%(..6!

>0.$'"$3!/6!(!?&%4'=!0%!$?$2!/$""$%=!.0'"!&2!(!'6'"$>!%$'"0%$!/$5(4'$!01!'(&3!?&%4'!GH;>!

(..07$3 ! "0 !/$ !/&""$%IE ! !^?$2 ! '0= ! &";' ! ( ! 3(236 !*.(5$ ! "0 ! '"0%$ ! <$2$%(. ! 5021&<4%("&02!

&210%>("&02!10%!604%!(**.&5("&02!&1!4'$3!*%0*$%.6,

-0 ! 0*$%("$ ! 02 ! "#$ ! %$<&'"%6= ! 604 ! 2$$3 ! "0 ! 1&%'" ! 5(.. ! 0*$2 ! 02 ! "#$!

C%5ZXWWI-=%24!$!5.(''!(23!<&?$!&"!(!%$<&'"%6!*("#!"0!0*$2!10..07$3!/6!(!/.058,!!-#&28!

01!"#&'!&2!"#$!'(>$!7(6!"#("!604!5(2!0*$2!(!20%>(.!1&.$!(23!#(?$!&" !5.0'$!(1"$%!"#$!

$2'4&2<!/.058!&'!1&2&'#$3,

!-`"%!-(L7%5ZX>!-=%24!$L

C%5ZXWWI-=%24!$WWAvnfesJTOseUOTAVcn/+3-5FL]JhPCOInNU%*!+2+&4NC%5,+72(cPNT"!!-54z-!2%+5NLG(,+(x!-=x((Q(M+($+"!(,%!4$(7+!?(8-!-\-5,

X$";'!Z4'"!.008!("!0*$2&2<!"#$!%$<&'"%6!4*!%&<#"!207=!(23!7$;..!.008!("!7#("!604!5(2!30!

7#$2!&";' !0*$2! &2! Z4'" !( ! .&"".$ !/&", ! !-#$!(/0?$!/.058!7&.. !0*$2!4*!"#$!%$<&'"%6 !*("#!

AvnfesJTOseUOTAVcnN]JhPCOInNU%*!+2+&4NC%5,+72(cPNT"!!-54z-!2%+5N/(H1!604!

(%$!42'4%$!(/04"!7#("!"#&'!>$(2'=!Z4'"!.008!&"!4*!02!Y00<.$=!/4"!/('&5(..6!7#("!7$;?$!

302$!&'!0*$2!4*!"#$!%$<&'"%6=!.008!&2'&3$!("!"#$!'01"7(%$!(%$(!10%!"#$!.05(.!>(5#&2$=!

0*$2 ! 4* ! "#$ !T"!!-54z-!2%+5! J10.3$%J ! &2'&3$ ! "#$ !C%5,+72(cP! J10.3$%J ! &2'&3$ ! "#$!

U%*!+2+&4!J10.3$%!J!GH!'(6!J10.3$%J!/$5(4'$!"#$6;%$!20"!%$(.!J10.3$%'J!&2!"#$!'$2'$!"#("!

"#$6!(%$!2(?&<(/.$!02!"#$!#(%3!3%&?$P!"#$6!(%$!*#(2"0>!10.3$%'=!>$%$!<#0'"'=!1.0("&2<!

&2!"#$!2$?$%!$23&2<!$"#$%!"#("!&'!"#$!%$<&'"%6I,! !H1!604!<$"!(2!$%%0%!7#$2!%422&2<!"#&'=!

"#("!*%0/(/.6!>$(2'!604;%$!02!B&2307'!Ud!0%!'0>$"#&2<!.&8$!"#("P!&1!"#(";'!"%4$=!"#$2!

"(8$!011!"#$!cP!02!B&2307',!!H1!604!<0"!(2!$%%0%=!(23!604!(%$!02!X&24@=!*.$('$!*4"!"#&'!

/008!3072!(23!5(..!604%!2$(%$'"!"$5#!'4**0%"!5$2"$%,!![07!"#("!7$;?$!<0"!"#$!%$<&'"%6!

0*$2$3!4*!(23!%$(36!"0!30!'0>$"#&2<=!.$";'!<%(/!'0>$!?(.4$'!(23!4'$!"#$>,

'*!!!A"2(B71$25(92,2#$"888

Page 97: Humble Little Ruby Book

B#12.$3!!9$(3&2<!?(.4$'!&2!1%0>!"#$!%$<&'"%6!5(2!/$!302$!(!504*.$!01!7(6'P!<$2$%(..6=!

604!'&>*.6!*%0?&3$!"#$!8$6!2(>$!(23!"#$!?(.4$!&'!%$"4%2$3,

16."-(E(!-=oLw!+,"*4c6)-Lp16."-(E(!-=oLw648c6)-LB(C%5ZXWWI-=%24!$WWInge]~p4$3-B(16."-(E(!-=/!-6,FLi"%.,s6#LG

-#$!1&%'" !5(.. !(/0?$!&' !"#$!>0'"!/('&5!G(23!*%0/(/.6!>0'"!*%(5"&5(. ! &2!>0'"!5('$'IP!

?(.4$'!1%0>!"#$!%$<&'"%6!5(2!/$!(55$''$3!>45#!.&8$!"#$6!(%$!(55$''$3!1%0>!(!#('#,!

N&>*.6!$25.0'$!"#$!%$<&'"%6!8$6!2(>$!G&2!"#&'!5('$!JO%0345"[(>$JI!&2!/%(58$"',!!-#$!

2$@"!5(..!7&..!%$"4%2!"#$!?(.4$=!/4"!7&..!"#%07!(2!$%%0%!&1!"#$!?(.4$!%$"4%2$3!30$'!20"!

>("5#!"#$!"6*$!<&?$2!('!"#$!'$5023!?(.4$!G$,<,=!&1!"#$!?(.4$!10%!w648c6)-!7$%$!(!MCJIM(

&2!"#$!%$<&'"%6=!7#$2!604!%$f4$'"$3!(!Inge]~!&"!704.3!#(?$!"#%072!(!P$3-n!!+!I,!!-#$!

?(.4$!01!"#&'!"6*$!*(%(>$"$%!5(2!02.6!/$!(!5$%"(&2!24>/$%!01!502'"(2"'= !7#&5#!(%$!

3&%$5".6!%$.("$3!"0!8$6!"6*$'!&2!"#$!%$<&'"%6,! !-#$!"(/.$!/$.07!.&'"'!"#$'$!502'"(2"'!10%!

604%!%$1$%$25$,

:FA897:=(7=LF(K?>976>79

IngecJcn([0!'*$5&1&5!"6*$,

IngeMCJIMesVPPsnencMVOc

IngeMCJIMeiVgencMVOc(

\!VRF/&"!24>/$%!&2!.&"".$F!0%!/&<F!$23&(2!10%>("!GB&2307'!&'!3$'&<2$3!"0!%42!02!.&"".$F$23&(2!*.("10%>'I,

Inge]~( \!24..F"$%>&2("$3!'"%&2<,

IngesVcv( 9$'$%?$3!10%!'6'"$>!4'$,!

Ingen�wOcMe]~( \!24..F"$%>&2("$3!'"%&2<!7&"#!'0>$!$@*(23(/.$!$@*%$''&02!.&8$!(2!$2?&%02>$2"!?(%&(/.$,

IngeU{sPVe]~( \!'$f4$25$!01!24..F"$%>&2("$3!'"%&2<'=!"$%>&2("$3!/6!(2!$>*"6=!24..F"$%>&2("$3!'"%&2<,!

IngeiVcOIf( c&2(%6!3("(!&2!(26!10%>,

IngeIn]J{ITnesV]P(Y

[$'"$3!(%%(6'!"#("!'"0%$!(!%$'04%5$!.&'"!4'$3!/6!(!#(%37(%$!3$?&5$!3%&?$%!0%!02$!01!"#$!*#6'&5(.!3$?&5$'!&"!502"%0.',!

IngeMCJIM( \!VRF/&"!24>/$%, IngeIn]J{ITneIn_{VInUncP]esV]P(Y

\!50>*.$@!3("(!"6*$!10%!#(%37(%$!5021&<4%("&02,

Ingeh{sseIn]J{ITneMn]TIVwPJI(Y

[$'"$3!(%%(6'!01!/&2(%6!3("(!"#("!'"0%$!(!%$'04%5$!.&'"!4'$3!/6!(!*#6'&5(.!#(%37(%$!3$?&5$,!

Inge_CJIM(

Inge_CJIMesVPPsnencMVOc(

\!iSF/&"!24>/$%,

r!l$6'!01!"#&'!"6*$!(%$!20"!$3&"(/.$=!/4"!5(2!/$!%$(3,

-#$!"#&%3!(23!1&2(.!5(..!&2!"#$!$@(>*.$!4'$'!"#$!%$(3!>$"#03P!"#$!(3?(2"(<$!"0!5(..&2<!

"#$!?(.4$!"#&'!7(6!&'!"#("!&"!<&?$'!604!"#$!"6*$!01!"#$!8$6,! !-#&'!&'!4'$14.!&1 !604!(%$!

A"2(B71$25(92,2#$"888!!!')

Page 98: Humble Little Ruby Book

&"$%("&2<!0?$%!(!'$"!01!8$6'!(23!604!2$$3!"0!*$%10%>!'*$5&1&5!0*$%("&02'!02!8$6'!"#("!(%$!

]Bb9]!8$6'!/4"!20"!9^YpNk!8$6',!!

C$(4#)1-.$3! ! !:04!(.'0!#(?$!"#$!0*"&02!"0!$24>$%("$!?(.4$'!(23!'4/8$6'!G0%!'4/!

J10.3$%'JI=!(23!&2!"4%2!7(.8!0?$%!"#$!$2"&%$!50..$5"&02!01!?(.4$'!0%!(!'$%&$'!01!'4/8$6'!

8$6'!30&2<!0*$%("&02'=!'"0%&2<!0%!5#(2<&2<!?(.4$'=!$"5,!!:04!5(2!4'$!"#$!$(5#p?(.4$!0%!

$(5#p8$6!>$"#03!"0!$24>$%("$!?(.4$'!0%!8$6'=!%$'*$5"&?$.6,

((((!-=/-6*8e16."-(R(x56)-B(4$3-B(,646x(3"42(56)-(H(@(E(@(H(,646(S((((!-=/-6*8e?-$(R(x?-$B(74%)-x(3"42(?-$(H(@(WW(@(H(74%)-(S

-#$!$(5#p?(.4$!>$"#03!7&..!&"$%("$!0?$%!$(5#!?(.4$!&2!"#$!54%%$2"!8$6!(23!%$"4%2!&"'!

?(.4$=!"6*$=!(23!2(>$,!!-#$!(/0?$!503$!'#04.3!04"*4"!'0>$"#&2<!.&8$!Jg(.4$[(>$!o!

K6g(.4$J!!10%!$(5#!?(.4$!&2!"#$!54%%$2"!8$6!G$,<,=!&1!4'$!7&"#!"#$!*%$?&04'!503$!"0!0*$2!

4* ! "#$ !T"!!-54z-!2%+5! 8$6 ! &2 ! "#$ !C%5,+72( cP! 8$6= ! 604 ! '#04.3 ! '$$ ! '0>$"#&2<!

Ji"%.,s6#(E(X[mm/'323e23Xe!4)/m<m;mZ0X:j;J!10%!"#$!1&%'"!%$'4."I,

E).-.$3! !B%&"&2<!?(.4$'!"0!"#$!%$<&'"%6!&'!?$%6!'&>&.(%!"0!%$(3&2<!"#$>,!!-#$!>$"#03'!

(23!"#$&%!*(%(>$"$%'!(%$!.(&3!04"!?$%6!'&>&.(%.6,

((((!-=oLI-1%2%+5c")#-!Lp(E(L:ZZkL((((!-=oLc6)-LB(C%5ZXWWI-=%24!$WWIngeU{sPVe]~p(E(LU!/Nmc-%=8#+!.$NmNmL((((!-=/7!%4-FLU$w648LB(C%5ZXWWI-=%24!$WWIngen�wOcMe]~B(L^wOPA^LG

-#$ ! 1&%'" ! 5(.. ! '#072 ! (/0?$ ! 7&.. ! '&>*.6 ! 7%&"$ ! "#$ ! ?(.4$ !X[mm! "0 ! "#$ ! ?(.4$!

I-1%2%+5c")#-!P ! 20"&5$ ! "#(" !>45# ! .&8$ !7#$2 ! %$(3&2< ! ?(.4$'= ! 604 ! 5(2 !>(8$ ! "#$!

%$<&'"%6!(5"!.&8$!(!#('#,!!-#$!2$@"!5(..!(..07'!604!"0!7%&"$!(!?(.4$!7&"#!(!'*$5&1&$3!"6*$P!

.&8$!&"'!%$(3!5042"$%*(%"=!&"!7&..!"#%07!(!-6*$^%%0%!&1!&";'!"#$!7%02<!"6*$,!!-#$!.('"!5(..!&'!

?$%6!'&>&.(%!"0!"#$!%$(3!>$"#03!3$>02'"%("$3!(/0?$P!"#$!1&%'"!*(%(>$"$%!&'!"#$!?(.4$!

2(>$!604!7&'#!"0!'$"=!"#$!'$5023!*(%(>$"$%!&'!"#$!"6*$=!(23!"#$!"#&%3!&'!"#$!?(.4$!"0!

(''&<2!"0!&",

F#,#-.$3! !]$.$"&2<!8$6'!(23!?(.4$'!&' !('!'&>*.$!('!5(..&2<!(!>$"#03P!Z4'"!#0*$!604!

302;"!/.07!(7(6!'0>$"#&2<!&>*0%"(2"!02!(55&3$2"=!/$5(4'$!"#$%$;'!20!4230&2<!&"E

((((!-=/,-.-4-e16."-FLU$z-!2%+5LG((((!-=/,-.-4-e?-$FLh61+!%4-T8--2-LG((((!-=/,-.-4-e?-$FLn'0C%1-2LB(4!"-G

-#$!1&%'"!>$"#03= !,-.-4-e16."-=!7&..!3$.$"$!"#$!?(.4$!7#&5#!604!'*$5&16!('!"#$!1&%'"!

*(%(>$"$%, ! !-#$!'$5023!>$"#03!'#072= !,-.-4-e?-$= !7&.. !3$.$"$!"#$!8$6!7#&5#!604!

'*$5&16=!(23!&1!"#$!'$5023=!0*"&02(.!/00.$(2!*(%(>$"$%!&'!*%0?&3$3=!&"!7&..!3$.$"$!"#$!8$6!

%$54%'&?$.6!G0%!20"!&1!604!*%0?&3$!&6.2-I,

?@F(6'$.H#$+.,

bX^!\4"0>("&02!G7$..= !011&5&(..6 ! Z4'" !J(4"0>("&02J!/4" ! "#$ !bX^!"$%>!#(' !'0%" !01!

'"458I!&'!(!2&1"6!.&"".$!>$5#(2&'>!"#("!B&2307'!(23!>(26!B&2307'!(**.&5("&02'!011$%!

"#(" ! (..07' ! 604 ! "0 ! (4"0>("$ ! "#$&% ! 0*$%("&02, ! ! Q0% ! $@(>*.$= ! ^@5$. ! $@*0'$' ! (2!

(4"0>("&02 ! &2"$%1(5$ ! 7#&5# ! (..07' ! 604 ! "0 ! .(425#= ! 5%$("$ ! 2$7 ! 3054>$2"'= ! $3&"!

3054>$2"'= !(23!'0!02,! !-#$'$! &2"$%1(5$'!(%$!/4&." !7&"#!'5%&*"&2<! &2!>&23=!'0!01"$2!

'!!!!A"2(B71$25(92,2#$"888

Page 99: Humble Little Ruby Book

(**.&5("&02'!7&..!*%0?&3$!(!/4&."F&2!7(6!"0!"(*!&2"0!"#$'$!&2"$%1(5$'!G&,$,!g&'4(.!c('&5!10%!

\**.&5("&02'I=!/4"!604!5(2!<$"!"0!"#$'$!&2"$%1(5$'!7&"#!0"#$%!5.&$2"'!(.'0!G$,<,!)aa!7&"#!

)bK=!0%=!&2!04%!5('$=!94/6I,

<(-'41-.'$%G1:.*:%%94/6;'!bX^!(4"0>("&02!&2"$%1(5$!&'!?$%6=!?$%6!'&>*.$!50>*(%$3!

"0 !>0'" ! 0"#$% ! .(2<4(<$', ! ! \' ! (2 ! $@(>*.$= ! .$";' ! *0* ! 0*$2 ! H2"$%2$" ! ^@*.0%$% ! (23!

2(?&<("$!"0!"#$!7$/!*(<$!10%!"#&'!/008,

!-`"%!-(L7%5ZX+.-L

)$%-ECVcZXJsn/5-7FLV54-!5-4n'3.+!-!/O33.%*64%+5LG)$%-/1%2%#.-E4!"-)$%-/561%=64-F@8443W>>777/8")#.-.%44.-!"#$#++?/*+)@G)$%-/.-&4(E(m)$%-oL4+3Lp(E(m

\'!604!5(2=!"#$!503$!&'!?$%6!'&>*.$,! !Q&%'"!604!2$$3!"0!&>*0%"!"#$ !7%5ZX+.-! .&/%(%6!

4'&2< ! %$f4&%$, ! ![$@"= ! 5%$("$ ! ( !2$7 !CVcZXJsn! &2'"(25$= ! 1$$3&2< ! &2 ! "#$ ! (**.&5("&02!

&2"$%1(5$ ! 604 ! 7(2" ! "0 ! "(.8 ! "0 ! G&2 ! "#&' ! 5('$ ! &";' ! H2"$%2$" ! ^@*.0%$%= ! '0!

V54-!5-4n'3.+!-!/O33.%*64%+5I,! ![0"$!"#("!*(%(>$"$%!>(6!0%!>(6!20"!(.7(6'!/$!

C864-1-!/O33.%*64%+5=!/4"!&"!4'4(..6!&'P!604!>(6!2$$3!"0!502'4."!"#$!(**.&5("&02;'!

3054>$2"("&02!"0!1&23!04"!$@(5".6!7#("!&"!&'!&1!604!(%$!#(?&2<!*%0/.$>',!!\1"$%!"#("=!604!

'&>*.6 ! 5(.. !>$"#03' !02 ! "#$ ! &2"$%1(5$ ! G"#$'$ !'#04.3 !/$ !04".&2$3! &2 ! "#$ !(4"0>("&02!

&2"$%1(5$;' !3054>$2"("&02I,! ! H2!04%!5('$= !7$!>(8$!"#$!H^!7&2307!?&'&/.$= ! "$.. ! &" ! "0!

2(?&<("$!"0!04%!7$/!*(<$=!(23!>0?$!"#$!7&2307!"0!"#$!4**$%!.$1"!50%2$%!01!"#$!'5%$$2!

G&,$,!'$"!"#$!.-&4!(23!4+3!*%0*$%"&$'!"0!mI,!![0"$!"#("!*%0*$%"&$'!5(2!/$!'$"!4'&2<!$&"#$%!

(""%&/4"$!20"("&02!G&,$,= !)$%-/.-&4I!0%!#('#!20"("&02!G&,$,= !)$%-oL4+3LpIP!'&25$!/0"#!

10%>'!30!"#$!'(>$!"#&2<=!&";'!%$(..6!(!>(""$%!01!*%$1$%$25$!('!"0!7#&5#!02$!604!'#04.3!

4'$,

<(-'41-.'$%CH#$-:% %H2!(33&"&02!"0!5(4'&2<!"#&2<'!"0!#(**$2!&2!(2!(**.&5("&02=!"#$!

B&2VRbX^!5.(''!5(2!(.'0!/$!4'$3!"0!/$!20"&1&$3!01!7#(";'!<0&2<!02!&2!(2!(**.&5("&02,!

-#&'!&'!302$!"#%04<#!(2!$?$2"!'&28!>$5#(2&'>!"#("!&'!$@*0'$3!/6!"#$!(**.&5("&02!(23!

"#$2!502'4>$3!/6!604%!94/6!(**.&5("&02,

!-`"%!-(L7%5ZX+.-L

Q(A65,.-!()-48+,2,-&(24+3e)2=e.++3((3"42(@O33.%*64%+5(*.+2-,/@((48!+7(W633*.+2-,-5,

,-&(865,.-!F-1-54B(Y6!=2G((3"42(@n1-54(&%!-,\(W(QR-1-54S@-5,

Q(U6%5(*+,-%-(E(CVcZXJsn/5-7FLV54-!5-4n'3.+!-!/O33.%*64%+5LG%-/1%2%#.-(E(PI{n%-/=+8+)-2%5?(E(CVcZXJsnenzncP/5-7F%-B(LMC-#i!+72-!n1-542LG

2%5?/+5e-1-54(RxY6!=2x(865,.-!FY6!=2GS2%5?/+5e-1-54F@_"%4@G(RxY6!=2x(24+3e)2=e.++3S

*64*8FW633*.+2-,G(R((.++3(R

A"2(B71$25(92,2#$"888!!!'"

Page 100: Humble Little Ruby Book

((((CVcZXJsnenzncP/)-226=-e.++3((SS

-0!'4/'5%&/$!"0!$?$2"'=!604!2$$3!"0!10..07!"#$!<$2$%(.!*%05$34%$!10%!502'4>&2<!(2!

bX^!&2"$%1(5$C!&>*0%"!"#$!7%5ZX+.-!.&/%(%6=!5%$("$!(!2$7!CVcZXJsn!&2'"(25$=!(23!5(..!

>$"#03' ! (23`0% ! (""%&/4"$', ! ! -#$ ! 1&%'" ! 2$7 !*(%" ! 01 ! "#&' ! 503$ ! &' ! "#$ ! 5%$("&02 ! 01 ! (!

CVcZXJsnenzncP! &2'"(25$P!"#$!502'"%45"0%!10%!"#&'!5.(''!&'!<&?$2!(!CVcZXJsn! &2'"(25$!

(23!"#$!2(>$!01!(2!$?$2"!'&28!$@*0'$3!/6!"#&'!&2"$%1(5$!G&1!"#$!$?$2"!'&28!30$'2;"!$@&'"=!

(2!$%%0%!&'!"#%072I,!!:04!5(2!"#$2!#008!&2"0!$?$2"'!4'&2<!"#$!+5e-1-54!>$"#03=!7#&5#!

&'!<&?$2!(!/.058!('!(!*(%(>$"$%P!"#&'!/.058!&'!"#$2!&2!"4%2!<&?$2!"#$!$?$2";'!(%<4>$2"',!

:04!5(2!4'$!+5e-1-54!&2!02$!01!"70!7(6',!!-#$!1&%'"!&'!"0!<&?$!&"!(!<$2$%(.!#(23.$%=!('!&2!

"#$!1&%'"!5(..!"0!+5e-1-54b(4#&'!#(23.$%!/$50>$'!(!'0%"!01!5("5#!(..!10%!(26!$?$2"'!"#("!

302;" !#(?$ ! $@*.&5&" ! #(23.$%', ! !:04 ! 5(2 ! (.'0 !<&?$ ! $?$2"' ! $@*.&5&" ! #(23.$%'= ! .&8$ ! "#$!

'$5023!5(..!<&?$'!"#$!"#$!Jh4&"J!$?$2",! ![0"$!"#("!%&<#"!207!"#$%$!&'!20!7(6!"0!$('&.6!

3$"(5#!1%0>!(2!$?$2"=!'0!04%!.&"".$!J#(58J!"0!4'$!5("5#!"0!/%$(8!04"!01!"#$!>$''(<$!.00*!

'$$>'!"0!"#$!/$!"#$!$('&$'"!7(6!"0!30!&",

E.$2'I:%+1$13#4#$-%5$:-)(4#$-1-.'$% %-#$!7&2VR0.$!.&/%(%6!(.'0!(..07'!604!"0!

4'$ ! "#$ !B&2307' !K(2(<$>$2" ! H2'"%4>$2"("&02 ! GBKHI ! '&25$ ! &";' ! '&>*.6 ! ( !)bK!

&2"$%1(5$,! !BKH!5(2!/$!4'$3!10%!(!24>/$%!01!(3>&2&'"%("&?$!(23!>(2(<$>$2"!"('8'=!

'45#!('!'$%?&5$!>(2(<$>$2"=!*%05$''!>(2(<$>$2"=!$?$2"!7("5#&2<=!.0<!(43&"&2<=!(23!

'0!02=!02!/0"#!.05(.!(23!%$>0"$!>(5#&2$',!!Q0%!$@(>*.$=!"0!<$"!(!.&'"!01!"#$!'$%?&5$'!02!

"#$!.05(.!>(5#&2$!(.02<!7&"#!"#$&%!3$'5%&*"&02'!(23!'"("4'=!604!704.3!30!'0>$"#&2<!

.&8$!"#$!10..07&2<,

!-`"%!-(L7%5ZX+.-L

)$7)%(E(CVcZXJsn/*+55-*4F@7%5)=)42WNNNN/@G

)$7)%/V52465*-2J&F@C%5ZXe]-!1%*-@G/-6*8(,+(x2x((3"42(2/T634%+5(H(@(W(@(H(2/]464-((3"42(2/M-2*!%34%+5((3"42-5,

-#$ !*+55-*4! >$"#03!30$'!/('&5(..6! "#$!'(>$!"#&2<!('! "#$ !5-7! >$"#03= !$@5$*"! "#$!

*+55-*4!>$"#03!#008'!&2"0!(2!$@&'"&2<!&2'"(25$!01!(2!bX^!'$%?$%!7#$%$('!"#$ !5-7(

>$"#03!5%$("$' !( !2$7! &2'"(25$ !G&,$,= !BKH! &' !(.%$(36 !%422&2<!(' !( !'$%?$% !02 !604%!

>(5#&2$ !42.$'' ! 604 !3&'(/.$3 ! &"= ! /4" ! 10% ! '0>$"#&2< ! .&8$ !B0%3 !0% !b4".008 ! ( !2$7=!

(**.&5("&02F'*$5&1&5!&2'"(25$!&'!2$$3$3I,!!H2!"#&'!5('$=!7$!4'$3!"#$!H2'"(25$'b1!>$"#03!

"#(" ! &' ! $@*0'$3 ! /6 !BKH ! "0 ! <$" ! (2 ! (%%(6 ! 01 ! "#$ ! &2'"(25$' ! 01 ! "#$ !BKH ! 5.(''!

C%5ZXe]-!1%*-=!7#&5#!&'!'&>*.6!(!%$*%$'$2"("&02!01!(2!$2"%6!&2!"#$!'$%?&5$!.&'"!10%!604%!

>(5#&2$, ! ! H2 ! 04% ! /.058 !7$ ! 504.3 ! #(?$ ! 5(..$3 !>$"#03' ! '45# ! (' !]4+3]-!1%*-! 0%!

]46!4]-!1%*-! "0!502"%0.!&" !0%! &1!"#$%$!7$%$!*%05$''$'!7$!504.3!4'$ !T!-64-! "0!'"(%"!

"#$>=!/4"!10%!"#$!'(8$!01!/%$?&"6!G(23!"#$!'(2&"6!01!604%!>(5#&2$I=!H!0*"$3!"0!'&>*.6!

3&'*.(6!"#$!2(>$=!3$'5%&*"&02=!(23!'"("4',! !B#$2!604!%42!"#&'!'5%&*"=!604!'#04.3!'$$!

04"*4"!10%!$(5#!'$%?&5$!"#("!.008'!'0>$"#&2<!.&8$!"#&'C

P62?(]*8-,".-!(W(I"55%5=

n56#.-2(6("2-!(4+(*+5&%="!-(65,(2*8-,".-(6"4+)64-,(462?2(+5(48%2(*+)3"4-!/(V&(48%2(2-!1%*-(%2(24+33-,B(48-2-(462?2(7%..(5+4(

'#!!!A"2(B71$25(92,2#$"888

Page 101: Humble Little Ruby Book

#-(!"5(64(48-%!(2*8-,".-,(4%)-2/(V&(48%2(2-!1%*-(%2(,%26#.-,B(65$(2-!1%*-2(4864(-'3.%*%4.$(,-3-5,(+5(%4(7%..(&6%.(4+(246!4/

:04!5(2!(.'0!<$"!.&'"'!01!*%05$''$'=!50>*4"$%'=!4'$%'=!<%04*'=!(23!'0!02=!/4"!"#("!&'!04"!

01 ! "#$ !'50*$!01 ! "#&' !/008, ! !X008 !(" ! "#$ !KN][!3054>$2"("&02 !10% !BKH!.&28$3! &2!

\**$23&@!\!10%!>0%$!02!7#("!&210%>("&02!&'!$@*0'$3!/6!BKH,

-#$ !7%5ZX+.-! .&/%(%6 !(.'0 !(..07' !604 ! "0 ! '4/'5%&/$ ! "0 !BKH! $?$2"'P !BKH!

$?$2"' !'*(2! "#$!7#0.$ !<(>4" !01 !'6'"$>F7&3$!$?$2"' !'45#!(' ! 1&.$ !5%$("&02= !*%05$''!

5%$("&02=!'$%?&5$!(5"&02'= ! .0<!$2"%&$'= !(23!'0!02,! !\'!(2!$@(>*.$=!7$;.. !7("5#!10%!(!

*%05$''!"#("!7$!5%$("$!"0!$23,

!-`"%!-(L7%5ZX+.-L

.+*64+!(E(CVcZXJsn/5-7F@C#-)]*!%34%5=/]C#-)s+*64+!/:@G2-!1%*-(E(.+*64+!/T+55-*4]-!1-!F@/>@B@@B@@B@@G

3!+*(E(2-!1%*-/g-4(@C%5ZXew!+*-22@!*(E(3!+*/T!-64-FL5+4-36,/-'-LB(5%.B(5%.B(5%.G3!+*-22%,(E(CVcZXJsnWWOIgzoZp3"42(@c-7(3!+*-22(%,W(QR3!+*-22%,S@

`"-!$(E(@2-.-*4(Y(&!+)(eeV52465*-M-.-4%+5n1-54(7%48%5(:(78-!-(46!=-4%52465*-(%26(LCVcZXew!+*-22L(65,(46!=-4%52465*-/A65,.-(E(QR3!+*-22%,S@

-1-54(E(2-!1%*-/n'-*c+4%&%*64%+5_"-!$F`"-!$G-1-54/5-'4-1-54

3"42(@w!+*-22(4-!)%564-,/@

c$5(4'$!01!"#$!7(6!"#$!BKH!0*$%("$'=!604!5(2;"!4'$!"#$!/4&."F&2!$?$2"!>$5#(2&'>!&2!

"#$!7&2VR0.$!.&/%(%6=!/4"!&";'!1(&%.6!'&>*.$!"0!<$"!"#&'!70%8&2<!202$"#$.$'',!!Q&%'"=!5%$("$!

(!2$7!&2'"(25$!01!"#$!CVcZXJsn!5.(''!4'&2<!"#$!2$7!>$"#03!(23!*0&2"!&"!("!"#$!'$%?$%!

C#-)2*!%34%5=/]C#-)s+*64+!,!!-#&'!bX^!'$%?$%!&'!"#$!/('&5!$f4&?(.$2"!01!5022$5"&2<!

.&8$!7$!3&3!/$10%$!G7%5)=42W>>I=!/4"!4'&2<!"#&'!&2!502Z425"&02!7&"#!"#$!'4/'$f4$2"!

5(..!"0!T+55-*4]-!1-!!(..07'!604!"0!30!"70!"#&2<',!!

Q&%'"=!604!5(2!5022$5"!"0!%$>0"$!50>*4"$%'=!>$(2&2<!604!504.3!4'$!"#&'!503$!

0% ! '&>&.(% ! '2&**$"' ! "0 ! 30 ! ?(%&04' ! "('8' ! 02 ! ( ! 24>/$% ! 01 ! 50>*4"$%' ! 604 !>(6 ! /$!

>(2(<&2<,! !N$5023=!604!5(2!*%0?&3$!.0<&2!5%$3$2"&(.'!('!"#$!.('"!"70!*(%(>$"$%'!"0!

"#&'!>$"#03,! ![02$!(%$!2$$3$3!02!"#$!.05(.!>(5#&2$!4'4(..6!G42.$''!604!(%$!20"!(2!

(3>&2&'"%("0%!0%!*%&?&.$<$3!(55042"I=!/4"!&1!"#&'!7$%$!(!%$>0"$!>(5#&2$!5(..!604!704.3!

*%0/(/.6!2$$3!(!4'$%!2(>$!('!"#$!"#&%3!*(%(>$"$%!(23!"#$!*(''70%3!('!"#$!104%"#,!

[$@"!7$!4'$!"#$!BKH!>$"#03!"0!<$"!(!%$1$%$25$!"0!"#$!C%5ZXew!+*-22!5.(''!(23!5%$("$!

(2!&2'"(25$!01!&"=!*(''&2<!&2!J5+4-36,/-'-J!('!"#$!*%05$''!"0!'"(%",!!]0&2<!'0!5%$("$'!(!

2$7![0"$*(3! &2'"(25$ !G&,$,= !604 !'#04.3 !'$$ ![0"$*(3!*0*!4* !02 !604% !'5%$$2I !(23!

%$"4%2'!'0>$!3("(!(/04"!&"=!7#&5#!7$!4'$!"0!<$"!"#$!*%05$''!H],!!

[$@"=!7$!4'$!BhX!GBKH!h4$%6!X(2<4(<$I!"0!"$..!BKH!"#("!7$;%$!<0&2<!"0!

/$!7("5#&2<!10%!*%05$''$'!"0!/$!3$'"%06$3!"#("!#(?$!"#$!*%05$''!#(23.$!GH]I!01!"#$!

*%05$'' ! "#(" ! 7$ ! 5%$("$3P ! "#$ ! BhX ! '"("$>$2" ! &' ! $@$54"$3 ! 4'&2< ! "#$!

n'-*c+4%&%*64%+5_"-!$!>$"#03!"#("!&'!$@*0'$3!/6!BKH,! !-#&'!>$"#03!%$"4%2'!(2!

$?$2"!20"&1&$%!0/Z$5"=!7#&5#!7$!5(2!5(..!"#$!2$@"$?$2!>$"#03!02P!"#&'!>$"#03!"$..'!"#$!

54%%$2"!"#%$(3!"0!*(4'$!42"&.!"#$!2$@"!$?$2"!&'!1&%$3=!'0!&1!604!7$%$!"0!4'$!"#&'!&2!(2!

A"2(B71$25(92,2#$"888!!!'$

Page 102: Humble Little Ruby Book

(5"4(.!(**.&5("&02!"#("!'#04.3!502"&24$!%422&2<=!"#&'!'#04.3!/$!10%8$3!&2"0!&"'!072!

"#%$(3,! !).0'$![0"$*(3!(23!604!'#04.3!'$$!"#$!04"*4"!Jw!+*-22(4-!)%564-,JP! !"#&'!

>$(2'!"#("!"#$!2$@"!$?$2"!#('!1&%$3!G&,$,=!"#$!*%05$''!#('!/$$2!3$.$"$3I!(23!"#$!54%%$2"!

"#%$(3!#('!/$$2!<&?$2!502"%0. !025$!(<(&2, ! !-#&'!&' !(! 1(&%.6!'&>*.&1&$3!$@(>*.$=!/4"!

#0*$14..6 ! &" ! '#04.3 ! <&?$ ! 604 ! "#$ ! /('&5 ! 5025$*"' ! "0 ! "%(2'.("$ ! >0%$ ! 50>*.&5("$3!

$@(>*.$'!1%0>!gcN5%&*"=!)aa=!0%!)m!&2"0!94/6!(23!>(8$!4'$!01!"#$>,

!"#$%&"'()*+ %%

:04!.$(%2$3!(/04"!94/6;'!'6'"$>!.$?$.!&2"$%(5"&02,!!:04!.$(%2$3,,,

! (/04"!94/6;'!1&.$'6'"$>!&2"$%(5"&02!5(*(/&.&"&$',

! #07!"0!'"(%"!"#%$(3'!(23!10%8!*%05$''$',

! #07!94/6!5(2!&2"$%(5"!7&"#!K&5%0'01"!B&2307'!02!(!24>/$%!01!.$?$.',

'%!!!A"2(B71$25(92,2#$"888

Page 103: Humble Little Ruby Book

&

@..*+,N(<2I.,B(5.H2

H2 ! "#&' ! 3(6 ! (23 ! (<$= ! "#$ ! %(<$ !7&"# ! (.. ! "#$ ! 8&3' ! '$$>' ! "0 ! /$ ! "#0'$ ! J2$"70%8$3J!

50>*4"$%', ! !B$..= !7#("$?$% ! "#(" !>$(2'= ! "#0'$ ! 6042<;42' !302;" ! 2$$3 ! "0 ! .008 ! (26!

14%"#$%!"#(2!94/6!10%!"#$&%!2$"70%8!1&@=!7#$"#$%!&"!/$!<$""&2<!5%(58$3!04"!02!D--O!0%!

#0**$3!4*!02!3("(/('$',! !b2$!01!>6!1(?0%&"$ !"#%&..' ! &2!#&<#!'5#00.!7('!#&""&2<!(2!

^"#$%2$"! .&2$!(23!"#$2!.&'"$2&2<!"0!X&28!g0&3;' !J](%81&/$% !X&2$!"0! "#$!900>J!(23!

7("5#&2<!J-#$!B&L(%3!01!bLJ!("!"#$!'(>$!"&>$,!!Q42!"&>$',!!

>F7!?:R8>A(6>Q(75F(!F<

94/6;' ! 2$"70%8&2< ! (/&.&"&$' ! #(?$ ! /$$2 ! 1(?0%(/.6 ! 50>*(%$3 ! "0 ! .(2<4(<$' ! '45# ! ('!

O6"#02!(23!O$%.P !7#&.$ !94/6!30$'2;" !#(?$!#4<$! .&/%(%&$'!'45#!(' !)O\[!0%!"&<#".6!

&2"$<%("$3 ! '4&"$' ! .&8$ ! -7&'"$3 ! G6$"I= ! &" ! 30$' ! *%$'$2" ! ( ! 2&5$ ! '4&"$ ! 01 ! 2$"70%8&2<!

5(*(/&.&"&$'!/4&."!%&<#"!&2,

9.&*2$(L3.N3#HH+,N

94/6!011$%'!(!24>/$%!01!'058$"!

"6*$'!"#("!604!5(2!4'$!"0!5022$5"!

"0 ! 3&11$%$2" ! "%(2'*0%" ! (23!

2$"70%8 ! *%0"050.', ! ! c0"#!

5022$5"&02F!(23!5022$5"&02.$''F

0%&$2"$3 ! "%(2'*0%"' ! (%$ ! 011$%$3=!

(.02< ! 7&"# ! 5.(''$' ! "#(" ! 011$%'!

5.&$2" ! (23 ! '$%?$% ! '4**0%", ! ! \..!

'058$"'!#(&.!1%0>!"#$!Y$2$'&'!01!

(.. !'058$"!5.(''$'C !i62%*]+*?-4,!

-#$!]+*?-4!5.(''!*%0?&3$'!604!7&"#!(!?$%6!)F&'#!&2"$%1(5$!"0!'058$"'P!&"!&'!>45#!>0%$!

50>*.$@ ! (23 !( !<$2$%(..6 !*(&2 ! &2 ! "#$ !/4>!50>*(%$3 ! "0 ! "#$ !0"#$% ! 5.(''$' ! '45# !('!

Vw]+*?-4=!{Mw]+*?-4=!0%!PTw]+*?-4/

C..*+,D(927.,:(=.52!!!'&

Page 104: Humble Little Ruby Book

-#$!%$'"!01!"#&' !'$5"&02!G&,$,= !"#$!*(%"!3$(.&2<!7&"#!(5"4(..6!2$"70%8&2<!(2!

(**.&5("&02I !7&.. ! 5025$2"%("$ ! 02 ! "#$ !PTw]+*?-4! (23 !PTw]-!1-!! 5.(''= ! '&25$ ! "#$'$!

5.(''$'!7&..!/$!"#$!>0'"!50>>02!5.(''$'!604!7&..!4'$!(23!(%$!$('&$%!"#(2!4'&2<!"#$!

'(>$!1425"&02(.&"6!4'&2<!"#$!]+*?-4!5.('',! !-#$%$!&'!(!.0"!01!&210%>("&02!(?(&.(/.$!02!

4'&2<! "#$!0"#$% !5.(''$'= ! '0 ! &1 !604!2$$3! "0 !4'$ !'0>$"#&2<! .&8$ !( !_]O!'058$"= ! "#$2!

502'4."!02$!01!"#$!.&28'!&2!\**$23&@!\!0%!4'$!604%!1(?0%&"$!'$(%5#!$2<&2$!"0!1&23!7#("!

604!2$$3,

&#)H#)% %-#$!PTw]-!1-!!5.(''!011$%'!(!'&>*.$!7(6!"0!<$"!'058$"!'$%?$%!1425"&02(.&"6!4*!

(23 ! <0&2< ! &2 ! 604% ! (**.&5("&02 ! 7&"# ! >&2&>(. ! 14'' ! 7#$2 ! 3$(.&2< ! 7&"# ! (55$*"&2<!

5022$5"&02'!(23!"#$!.&8$,! !-#$%$;'!20"!>45#!/(58<%0423!0"#$%!"#(2!7#(";'!(.%$(36!

/$$2!3&'54''$3!7&"#!%$<(%3!"0!'058$"'!&2!<$2$%(.=!'0!.$";'!<$"!%&<#"!&2"0!'0>$!503$!(23!

502'"%45" ! "#$!3$!1(5"0!'"(23(%3!$@(>*.$!'058$"!'$%?$% !$@(>*.$!*%0<%(>C!"#$!$5#0!

'$%?$%,

!-`"%!-(@2+*?-4@

)$2-!1-!(E(PTw2-!1-!/5-7FL.+*6.8+24LB(mG2+*?6,,!(E()$2-!1-!/6,,!

3"42(@n*8+(2-!1-!(!"55%5=(+5(QR2+*?6,,!/K+%5FLWLGS@

78%.-(4!"-((P8!-6,/246!4F)$2-!1-!/6**-34G(,+(x2+*?x((((3"42F@QR2+*?S(*+55-*4-,(64(QRP%)-/5+7S@G

((((78%.-(2+*?/=-422+*?/7!%4-F|eG3"42(@{2-!(-54-!-,W(QR|eS@

((((-5,

((((3"42F@QR2+*?S(,%2*+55-*4-,(64(QRP%)-/5+7S@G((((2/*.+2-((-5,-5,

X$";'!"(8$!"#&'!(*(%",! !Q&%'"=!604!>4'"!&25.43$!"#$!'058$"!>034.$=!7#&5#!7&..!<&?$!604!

(55$''!"0!PTw]-!1-!!(23!(..!&"'!%$.("$3!>034.$'!(23!5.(''$',! ![$@"=!604!>4'"!5%$("$!(!

PTw]-!1-!!&2'"(25$!4'&2<!"#$!$&"#$%!"#$!5-7!>$"#03!0%!&"'!'62026>=!"#$!+3-5!>$"#03,!

-#$!1&%'"!*(%(>$"$%!&'!"#$!&2"$%1(5$!"0!/&23!"0P!&1!"#&'!&'!.$1"!/.(28=!"#$2!94/6!/&23'!"0!

(..!(?(&.(/.$!&2"$%1(5$'!02!"#$!#0'",!!-#$!'$5023!*(%(>$"$%!&'!"#$!*0%"!24>/$%P!&1!"#&'!&'!

m! .&8$!&2!"#$!$@(>*.$=!"#$2!"#$!'6'"$>!(4"0>("&5(..6!'$.$5"'!(2!(?(&.(/.$!*0%",! !-#$2!

4*02!$2"$%&2<!"#$!.00*=!7$!"$..!"#$!(**.&5("&02!"0!7(&"!42"&.!(!2$7!'058$"!&'!5022$5"$3!

G7#&5# ! 1&%$' !>6'$%?$%,(55$*"IP !7#$2 ! "#$ ! '058$" ! 5022$5"'= ! ( !2$7 !P8!-6,! 0/Z$5" ! &'!

5%$("$3!(23!"#$!$25.0'$3!/.058!&'!$@$54"$3,! !H!4'$!( !P8!-6,!#$%$!'&>*.6!/$5(4'$!"#&'!

'$"4*!(..07'!604!"0!5022$5"!>0%$!"#(2!02$!5.&$2"!"0!"#&'!*(%"&54.(%!'$%?$%!&2'"(25$,!

:04!504.3!30!&"!J/.058&2<J!4'&2<!(!7#&.$!.00*!0%!'0>$!'45#=!/4"!&";'!<$2$%(..6!/$""$%!

*%(5"&5$!"0!30!&" ! .&8$!"#&', ! !-#$ !P8!-6,;' !/.058!#('!.0<&5!"0!04"*4"!(!>$''(<$!4*02!

5022$5"!(23!3&'5022$5"!01!(!#0'"!(23!04"*4"!4'$%!3("(!$2"%6!02!"#$!502'0.$!(23!/(58!"0!

"#$!'058$",!!_*02!%422&2<!"#&'=!604!'#04.3!#(?$!(!'&>*.$!'058$"!'$%?$%!"#("!7&..!$5#0!

/(58!(26!&2*4"!<&?$2!"0!&",

n*8+(2-!1-!(!"55%5=(+5(OheVcnPW&'()W.+*6.8+24W:Xk/m/m/:

''!!!C..*+,D(927.,:(=.52

Page 105: Humble Little Ruby Book

B#$2!"#$!'$%?$%!'"(%"'=!604!'#04.3!'$$!(!.&"".$!/&"!01!&210%>("&02!(/04"!&"=!&25.43&2<!"#$!

*0%"!24>/$%!G7#&5#!&'!#&<#.&<#"$3!(/0?$I,! ![07!&1!604!0*$2!4*!(!"$.2$"!5.&$2"!(23!

"$.2$"!"0!.05(.#0'"!02!"#$!<&?$2!*0%"!24>/$%=!604!'#04.3!/$!(/.$!"0!$2"$%!'0>$!"$@"!(23!

#(?$!&"!$5#0$3!/(58!"0!604,

)$8+24q(4-.5-4(.+*6.8+24(Z:[m

2+)-()+!-(4-'4\\2+)-()+!-(4-'4\\48-(365,62(6!-(.%1%,\\48-(365,62(6!-(.%1%,\\w65*6?-2(6!-(6(&6!(#-44-!(2+"!*-(+&(J)-=60Z/w65*6?-2(6!-(6(&6!(#-44-!(2+"!*-(+&(J)-=60Z/

\1"$%!604!5.0'$!"#$!"$.2$"!7&2307=!1.&*!0?$%!"0!"#$!94/6!502'0.$!"#("!604%!(**.&5("&02!

#('!/$$2!%422&2<!&2!(23!.008!("!"#$!04"*4",

n*8+(2-!1-!(!"55%5=(+5(OheVcnPWZ:[mW.+*6.8+24W:Xk/m/m/:QdPTw]+*?-4Wm'Xk-#-&*q(*+55-*4-,(64(C-,(]-3(:Z(:lW<<WX;(n624-!5(M6$.%=84(P%)-(Xmm[{2-!(-54-!-,W(2+)-()+!-(4-'4\\{2-!(-54-!-,W(365,48-(365,62(6!-(.%1%,\\{2-!(-54-!-,W(w65*6?-2(6!-(6(&6!(#-44-!(2+"!*-(+&(J)-=60Z/QdPTw]+*?-4Wm'Xk-#-&*q(,%2*+55-*4-,(64(]64(]-3(:Z(:lW<jW<;(n624-!5(M6$.%=84(P%)-(Xmm[

B#$2!"#$!(**.&5("&02!'"(%"$3=!604!7$%$!<&?$2!(!2&5$!.&"".$!'"(%"4*!>$''(<$=!7#&5#!&'!

10..07$3!/6!>$''(<$'!&23&5("&2<!"#$!?(%&04'!$?$2"'!<0&2<!02!&2!"#$!(**.&5("&02,!![07!

.$";'!"(8$!(!.008!("!-)O!5.&$2"!'$%?&5$',!!

J,.#$-! !-)O!5.&$2"!'$%?&5$'!(%$!011$%$3!/6!"#$!PTw]+*?-4!5.(''P!"#&'!5.(''!(..07'!604!"0!

>(8$!(!-)O!5022$5"&02!"0!?(%&04'!'$%?&5$'=!'45#!('!1&2<$%=!1"*=!604%!072!'$%?&5$!02!(!

%(230>!*0%"=!0%!$?$2!(!"$.2$"!'$%?$%,!!X$";'!5022$5"!"0!"#$!cbQD!^@54'$!"$.2$"!'$%?$%!

02!/.&28$2.&<#"',2. !(' !(2!$@(>*.$P ! "#&' !7(6= !7#$2!604% !/0''!('8'!604!7#6!604;%$!

%$(3&2< ! "#&' !/008 ! &2'"$(3!0% !70%8&2<= ! 604 !5(2 !*%0?&3$ !#&>!0% !#$% !7&"# !( !*%0*$%!

$@54'$,

!-`"%!-(@2+*?-4@

3!%54F@T+55-*4%5=///@G*.%-542+*?(E(PTw2+*?-4/+3-5F@4+7-./#.%5?-5.%=842/5.@B([[[G3!%54F@(,+5-N5@G

3"42F@T+55-*4-,(&!+)(QR*.%-542+*?/6,,!oXpS(4+(QR*.%-542+*?/3--!6,,!oXpS@G

78%.-(F-'*"2-(E(*.%-542+*?/=-42G((3!%54F-'*"2-G-5,

*.%-542+*?/*.+2-

Q&%'"=!604!2$$3!"0!&>*0%"!"#$!'058$"!.&/%(%6=!01!504%'$,! ![$@"=!604!0*$2!(!-)ON058$"!

>45#!.&8$!604!0*$2!(!1&.$!'"%$(>,! !-#$!1&%'"!*(%(>$"$%!&'!"#$!#0'"2(>$!0%!2$"70%8!

(33%$''!"0!5022$5"!"0=!(23!"#$!'$5023!&'!"#$!*0%"!"0!5022$5"!02,!![07!"#("!604!#(?$!(!

'058$"=!604!5(2!"%$("!&"!Z4'"!.&8$!(!'"%$(>!"#("!604!704.3!<$"!1%0>!(!1&.$!0%!'0>$"#&2<!

'&>&.(%= !#$25$!7#6!604!5(2!4'$ !=-42! "0 !<$" !3("(!1%0>!&", ! !:04!5(2!(.'0 !4'$ !!-6,=!

!-6,.%5-= !7!%4-= !7!%4-.%5-= ! (23 ! (26 ! 0"#$% ! '"%$(> ! %$(3&2<`7%&"&2< ! 50>>(23,!

C..*+,D(927.,:(=.52!!!'(

Page 106: Humble Little Ruby Book

N058$"'!(.'0!#(?$!"#$&%!072!>$"#03'=!'45#!('!!-*1!"0!%$5$&?$!3("(!1%0>!"#$!'058$"!(23!

2-5,! "0!'$23!3("(!0?$%!"#$!'058$"=!/4"!&"!&'!20"!2$5$''(%6!"0!4'$!"#$'$,! !H";'!'&>*.6!(!

>(""$%!0%!*%$1$%$25$!(23!'"6.$,!!B#$2!604!%42!"#&'!503$=!604!'#04.3!<$"!04"*4"!'&>&.(%!

"0!"#$!10..07&2<,

T+55-*4%5=///(,+5-T+55-*4-,(&!+)(8+24/,+)6%5/*+)(4+(4+7-./#.%5?-5.%=842/5.

EEE(P8-(iJhA(n'*"2-(]-!1-!(EEEf+"!(-'*"2-(%2W(V4L2(5+4(3."==-,(%5/

Q&%'"=!604;%$!<&?$2!(!1$7!>$''(<$'!(/04"!"#$!5022$5"&02!"#("!&'!>(3$=!10..07$3!/6!"#$!

04"*4"!%$"4%2$3!1%0>!"#$!'$%?$%,! !B$;?$!/('&5(..6!"$.2$""$3!G&'!"#("!(!?$%/AI!&2"0!"#$!

'$%?$%!(23!%$5$&?$3!"#$!04"*4"=!7#&5#!>$(2'!"#("!7$!504.3!*0&2"!(!-)ON058$"!("!(!

-)ON$%?$%!(23!#(?$!"#$>!"(.8!"0!$(5#!0"#$%,!!X$";'!5%$("$!(!5.&$2"!10%!04%!$5#0!'$%?$%,

!-`"%!-(@2+*?-4@

3!%54F@T+55-*4%5=///@G*.%-542+*?(E(PTw2+*?-4/+3-5F@.+*6.8+24@B(:ZlmG3!%54F@(,+5-N5@G

78%.-(F=-42FGG((*.%-542+*?/7!%4-F|eG((3"42F*.%-542+*?/=-42G-5,

*.%-542+*?/*.+2-

[0"&5$! "#&' !503$! &' !?$%6!'&>&.(% ! "0!04%!*%$?&04'!503$= !7&"#! "#$!$@5$*"&02!01 !( ! 1$7!

"#&2<',!!Q&%'"=!7$!5#(2<$3!"#$!#0'"2(>$!(23!*0%"!24>/$%!G7#&5#!604!7&..!2$$3!"0!<$"!

1%0>!"#$!$5#0!'$%?$%!/$10%$#(23!0%!"(8$!('!(!50>>(23!.&2$!*(%(>$"$%!"0!604%!94/6!

'5%&*"I, ! !N$5023.6= ! "#$ !>(&2 ! .00* !207 !0*$%("$' ! 02 !4'$% ! &2*4" ! %("#$% ! "#(2 ! '058$"!

04"*4"=!(23!&2!"#&'!.00*=!"(8$!4'$%!&2*4"!(23!7%&"$!&"!"0!"#$!'058$",!!-#$!'058$";'!04"*4"!

&'!"#$2!7%&""$2!"0!"#$!502'0.$,!!B#$2!604!%42!"#&'!(23!$2"$%!'0>$!3("(=!604!'#04.3!<$"!

'0>$"#&2<!.&8$!"#$!10..07&2<,

T+55-*4%5=///(,+5-.+*6.8+24(4+(.+*6.8+24T8%*?-5(.%1-!2(65,(3+4#-..%-2\T8%*?-5(.%1-!2(65,(3+4#-..%-2\U$(#+7.-!(%2(,"24$(&!+)()$(2"3-!&."+"2(-)%22%+52/U$(#+7.-!(%2(,"24$(&!+)()$(2"3-!&."+"2(-)%22%+52/

[07=!&1!604!1.&*!0?$%!"0!"#$!'$%?$%;'!502'0.$!7&2307=!604!'#04.3!'$$!'0>$"#&2<!?$%6!

'&>&.(%!"0!"#$!10..07&2<,

n*8+(2-!1-!(!"55%5=(+5(OheVcnPW:ZlmW.+*6.8+24W:Xk/m/m/:QdPTw]+*?-4Wm'Xk-#-&*q(*+55-*4-,(64(]64(]-3(:[(:kWZ<Wmk(n624-!5(M6$.%=84(P%)-(Xmm[{2-!(-54-!-,W(T8%*?-5(.%1-!2(65,(3+4#-..%-2\{2-!(-54-!-,W(U$(#+7.-!(%2(,"24$(&!+)()$(2"3-!&."+"2(-)%22%+52/QdPTw]+*?-4Wm'Xk-#-&*q(,%2*+55-*4-,(64(]64(]-3(:[(:kW<:Wj:(n624-!5(M6$.%=84(P%)-(Xmm[

)02<%("4.("&02'E ! !:04;?$ !'455$''14..6 !7%&""$2 !( ! 14..6 !2$"70%8$3 !94/6!(**.&5("&02,!

-#&' ! $@(>*.$ ! &' ! 1%&?(.04' ! (23 !4'$.$'' ! 01 ! 504%'$= !/4" ! &" ! '#04.3 ! &..4'"%("$ ! "#$ !/('&5!

(*!!!C..*+,D(927.,:(=.52

Page 107: Humble Little Ruby Book

5025$*"!$204<#!"0!/4&.3!011!01,!!c$10%$!604!8207!&"=!604;..!/$!*0%"&2<!\*(5#$!"0!94/6!

0%!"$..&2<!604%!/0''!"#("!604!302;"!2$$3!20!'"&28&2;!7$/!/%07'$%!&1!604;?$!<0"!94/6,

577L(>2$C.3*+,N

N*$(8&2<!01!"#$!7$/=!D--O!2$"70%8&2<!&'!(.'0!(!?$%6!&>*0%"(2"!50>*02$2"!01!"03(6;'!

2$"70%8 !*%0<%(>>&2< ! .(23'5(*$, ! !D--O= !0% !D6*$%-$@" !-%(2'1$% !O%0"050.= ! &' ! "#$!

'"(23(%3!10%!H2"$%2$"!50>>42&5("&02!"#$'$!3(6',!!H;>!'"&..!20"!'4%$!7#6!"#$!70%.3!$?$%!

<0"!(7(6!1%0>!\XbD\=!/4"!"#$2!(<(&2!H;>!20"!'4%$!7#6!iS+l!01!>$>0%6!&'2;"!$204<#!

10%!$?$%602$!207(3(6'!$&"#$%,! !H2!(26!5('$=!94/6!*%0?&3$'!(!%0/4'"!.&/%(%6!01!D--O!

1425"&02(.&"6!/4&."!%&<#"!&2!"0!"#$!'"(23(%3!.&/%(%6,

&#)H#)!!D--O!'$%?&2<!7&"#!94/6!&'!&25%$3&/.6!$('6,!!:04!504.3!/4&.3!(!'$%?$%!/('$3!011!

01!-)ON$%?$%= !>$"&54.04'.6!&>*.$>$2"&2<!$(5#!*(%" !01 !"#$!D--O!*%0"050.= !'0.?&2<!

50254%%$256!(23!/.058&2<!&''4$'!('!"#$6!5(>$!4*=!(23!1&<4%$!04"!(!7(6!"0!%$.&(/.6!'$23!

/&2(%6!3("(,!!-#$2!(<(&2=!604!504.3!Z4'"!4'$!B^c%&58=!"#$!14..F94/6!7$/!'$%?$%!"#("!&'!

&25.43$3!&2!"#$!'"(23(%3!.&/%(%6,!!

!-`"%!-(L7-#!%*?L%5*.",-(Cni!%*?

)$2-!1-!(E(APPw]-!1-!/5-7FWw+!4(Eq(;m;mB(((((((((((((((((((WM+*")-54I++4(Eq(M%!WW37,(H(@>4-)3@G)$2-!1-!/246!4

_'&2<! "#$ !(/0?$ ! 104% ! .&2$ !'2&**$"= !604!207!#(?$ !( ! 14..6 !0*$%("&02(. !D--O!'$%?$%!

%422&2<!02!"#$!*0%"!604%!'*$5&16!"#("!7&..!'$%?$!D-KX!3054>$2"'!04"!01!"#$!*("#!604!

'*$5&16!('!"#$!]054>$2"900"!0*"&02!G$,<,=!&2!"#$!$@(>*.$!&";'!"#$!10.3$%!"#$!'5%&*"!&'!

.(425#$3!1%0>!(23!J"$>*J!.&8$!J`#0>$`604%2(>$`"$>*JI,!!-0!'"(%"!"#$!'$%?$%=!'&>*.6!

<&?$!5%$("$!(!2$7!&2'"(25$!(23!5(..!"#$!246!4!>$"#03,!!-#$!*(%(>$"$%'!'#072!10%!"#$!

502'"%45"0%!(%$!"#$!>0'"!50>>02.6!4'$3=!/4"!"#$%$!(%$!(!.0"!604!5(2!(''&<2,!!H1!604;%$!

%$(..6 ! &2"$%$'"$3 ! &2 ! 1&23&2< ! 04" !>0%$= ! 604 ! 5(2 ! '$$ ! (.. ! 01 ! "#$> ! &2 ! "#$ !B^c%&58!

3054>$2"("&02!("!#""*C``777,%4/6F305,0%<`'"3.&/`.&/305`7$/%&58`%305`&23$@,#">.,!!

c(58!"0!"#$!$@(>*.$=!&1!604!#(?$!(2!D-KX!1&.$!2(>$3!&23$@,#">.!3%0**$3!

&2"0!"#$!*("#!604!'*$5&1&$3=!604!'#04.3!/$!(/.$!"0!2(?&<("$!"0!#""*C``.05(.#0'"Cd+d+!

(23!'$$!&",

C..*+,D(927.,:(=.52!!!()

Page 108: Humble Little Ruby Book

H1!604!302;"!#(?$!(2!&23$@,#">.!1&.$=!&"!7&..!'#07!604!(2!&23$@!01!"#$!1&.$'!"#("!(%$!&2!

"#$%$P!604!5(2!"#$2!%$f4$'"!02$!01!"#0'$!$&"#$%!/6!5.&58&2<!"#$!.&28!0%!2(?&<("&2<!"0!&"!

3&%$5".6,!![07!"#("!604!#(?$!(!70%8&2<!D--O!'$%?$%=!.$";'!"(8$!(!.008!("!94/6;'!D--O!

5.&$2"!1(5&.&"&$',

J,.#$-!!94/6;'!D--O!5.&$2"!.&/%(%6!&'!"#$!c-4WWAPPw!5.('',!!-#&'!5.(''!*%0?&3$'!(!'&>*.$!

&2"$%1(5$!"0!>(8&2<!D--O!%$f4$'"'!"0!.05(.!(23!%$>0"$!'$%?$%'!10%!(26!"6*$!01!1&.$,!

O0''&/.$!4'$'!&25.43$!*$%&03&5(..6!3072.0(3&2<!'0>$"#&2<!.&8$!.0<'!0%!2$7!1$$3'!0%!&1!

3072.0(3&2<!(!.(%<$!24>/$%!01!1&.$'!7&"#04"!>(8&2<!(!%$f4$'"!10%!$(5#!02$!"#%04<#!(!

7$/!/%07'$%!0%!'0>$"#&2<!.&8$!7=-4,!!\'!(2!$@(>*.$=!.$";'!'(6!604!7(2"$3!"0!3072.0(3!

]&<<;' !9NN! 1$$3!'0 !604!504.3 !*(%'$ ! &" ! &2"0 !( !94/6!02 !9(&.' !7$/'&"$ !0% !604% !072!

#0>$<%072!9NN!%$(3$%P!604!504.3!30!'0!/6!>(8&2<!(!%$f4$'"!7&"#!"#$ !c-4WWAPPw(

5.('',

!-`"%!-(L5-4>8443L

c-4WWAPPw/=-4e3!%54(L777/,%==/*+)LB(L>!22>%5,-'/').L

Q&%'"=!604!2$$3!"0!>(8$!&25.43$!"#$!2$"`#""*!.&/%(%6!4'&2<!%$f4&%$,! !H2!"#&'!&2'"(25$=!H!

4'$3 ! "#$ !=-4e3!%54! >$"#03 ! "0 ! *%&2" ! 04" ! "#$ ! 1&.$ ! "0 ! "#$ ! 502'0.$,= !7#&5# ! "(8$' ! (!

#0'"2(>$!(23!(!1&.$!"0!%$"%&$?$,!!-#&'!&'!"#$!/$'"!7(6!"0!30!30!"#&'!&1!604!7(2"!"0!<$"!"#$!

'(>$!1&.$!1%0>!(!24>/$%!01!'$%?$%'!G&,$,=!604!504.3!.$(?$!"#$!1&.$!('!(!502'"(2"!'"%&2<!

(23!#(?$!"#$!#0'"2(>$!/$!(!?(%&(/.$I!0%!(!.0"!01!1&.$'!1%0>!"#$!'(>$!#0'"!G&,$,=!604!

504.3!.$(?$!"#$!#0'"2(>$!('!(!502'"(2"!'"%&2<!(23!"#$!1&.$!?(%&(/.$I= !/4"!&1!604!(%$!

<$2$%(..6!1$"5#&2<!1&.$' !1%0>!3&11$%$2"!'$%?$%' !(23!01 !3&11$%$2"! 1&.$2(>$'= !"#$%$! &' !(!

>0%$!&2"4&"&?$!7(6!"0!30!'0,

(!!!!C..*+,D(927.,:(=.52

!"#$%&'(C)'V<,;;3'WH>455"&H7'!$+'V";&A''X%&;;3'9$<0';0&'2&7;'.&27";&'"+';0&'.,%65:

Page 109: Humble Little Ruby Book

!-`"%!-(L5-4>8443L!-`"%!-(L"!%L

c-4WWAPPw/=-4e3!%54({IV/36!2-FL8443W>>777/!"#$0.65=/+!=LG(

-#$!(/0?$!'2&**$"!7&..!<%(/!"#$!94/6!X(2<4(<$!#0>$!*(<$;'!'04%5$!503$!(23!*%&2"!&"!

02!"#$!502'0.$,! !H1!604!20"&5$=!%("#$%!"#(2!1$$3&2<!"#$!<$"p*%&2"!>$"#03!"70!'$*(%("$!

*(%(>$"$%'!G&,$,=!"#$!#0'"2(>$!(23!"#$!1&.$2(>$I=!H!4'$3!"#$!_9H,*(%'$!>$"#03!1%0>!

"#$ ! 4%& ! .&/%(%6P ! "#&' ! >$"#03 ! (..07' ! 604 ! "0 ! "(8$ ! ( ! 20%>(. ! _9X ! G$,<,=!

#""*C``777,/2,50>`=!#""*C``777,%4/6F.(2<,0%<`= !#""*C``%4/602%(&.',0%<`&23$@,*#*=!

(23!'0!02I!(23!*(%'!$!&"!10%!4'$!7&"#!(26!01!"#$![$"CCD--O!>$"#03',!!H!'#07!"#&'!$(%.6!

&2!"#&'!'$5"&02!/$5(4'$!&"!&'!"#$!$('&$'"!7(6!"0!<&?$!_9X'!"0!"#$'$!>$"#03'P!'*$(8&2<!01!

"#0'$!>$"#03'=!.$";'!"(8$!(!.008!("!'0>$!01!"#$!0"#$%!>$"#03'!&2!"#&'!.&/%(%6,

N0!1(%!H;?$!/$$2!4'&2<!"#$!=-4e3!%54!>$"#03!"0!<$"!(23!*%&2"!"#$!502"$2"'!01!

(!%$f4$'",!!-#&'!>$"#03!&'!<%$("!&1!"#(";'!(..!604;%$!30&2<=!/4"!7#("!&1!604!2$$3!"0!<$"!"#$!

502"$2"'!(23!'"0%$!&2!(!?(%&(/.$A!!b%!7#("!&1!604!7(2"!"0!>(2&*4.("$!"#$!D-KX!'0>$!

7(6A!!-#(";'!7#$%$!"#$!=-4!>$"#03!50>$'!&2P!"#&'!>$"#03!7&..!$@$54"$!(!%$f4$'"!(23!

"#$2!%$"4%2!"#$!%$'4."'!10%!604!"0!#(?$!604%!7(6!7&"#,

!-`"%!-(L5-4>8443L!-`"%!-(L"!%L

2!*(E(c-4WWAPPw/=-4F{IV/36!2-FL8443W>>777/*55/*+)>LGG(3"42(2!*

\'!604!5(2!'$$=!"#$!'(>$!/('&5!*%05$''!&'!10..07$3!('!/$10%$!7&"#!=-4e3!%54=!$@5$*"!

"#&'!"&>$!"#$!%$'4."'!(%$!1&%'"!'"0%$3!&2!"#$!2!*!?(%&(/.$,!!

-#$![$"CCD--O!.&/%(%6!(.'0!(..07'!604!"0!*0'"!10%>!3("(!"0!(!_9X,!!:04!5(2!

30!"#&'!0?$%!Y^-!/6!(**$23&2<!"#$!10%>!3("(!"0!"#$!$23!01!"#$!_9X!G$,<,=!#""*C``604%F

#0'",50>`&23$@,*#*A423$%*(2"'o'$54%$3s'(23*(*$%o1&2$<%(&2s.0"&02o6$'I=!/4"!(!

.&"".$!>0%$!$110%"!&'!%$f4&%$3!"0!>(8$!(!ObN-!%$f4$'",!!\!ObN-!%$f4$'"!(%$!"#$!'0%"'!01!

10%>!*0'"'!"#("!302;"!(**$23!(26"#&2<!"0!"#$!_9X=!/4"!%("#$%!'4/>&"!"#$!10%>!3("(!('!

*(%"!01!"#$!D--O!%$f4$'",! !:04!5(2!4'$!"#$!*0'"p10%>!>$"#03!"0!>(8$!"#&'!8&23!01!

%$f4$'"!7&"#![$"CCD--O,

!-`"%!-(L5-4>8443L!-`"%!-(L"!%L

3+24%4(E(c-4WWAPPw/3+24e&+!)F{IV/36!2-FL8443W>>9%3</"232/*+)>9%3<>9*.eZe!-2".42/K23LGB RL9%3jLEqLZkll;LSG

3"42(3+24%4/#+,$

-#$!(/0?$!'2&**$"!7&..!4'$!"#$!_NON!kHO!503$!.0084*!"0!1&23!04"!7#("!5&"6!(!kHO!503$!

&'!1%0>P!4'&2<!"#$!3+24e&+!)!>$"#03=!604!5(2!*0'"!(!10%>!/6!*%0?&3&2<!"#$!10%>!8$6'!

(23!?(.4$'!&2!(!#('#!('!"#$!'$5023!*(%(>$"$%!G&,$,=!&2!"#&'!5('$=!9%3j!7('!(!"$@"!1&$.3!02!

"#$!20%>(.!*(<$!7#&5#!7('!10%!"#$!kHO!503$!604!7&'#!"0!.008!4*I,! !-#$!%$'4."'!(%$!

%$"4%2$3!Z4'"!.&8$!(!20%>(.!Y^-!%$f4$'",

-#$!1&2(.!*0%"&02!01!"#&'!.&/%(%6!H!704.3!.&8$!"0!50?$%!&'!"#$!c-4WWAPPw/w!+'$(

5.(''=!7#&5#!(..07'!604!"0!5022$5"!"#%04<#!(!*%0@6,! !H2'"(25$'!01!D--O,O%0@6!#(?$!

C..*+,D(927.,:(=.52!!!("

Page 110: Humble Little Ruby Book

"#$!'(>$!>$"#03'!('!(!20%>(.![$"CCD--O!&2'"(25$'=!'0!604!5(2!4'$!&"!(.>0'"!"#$!'(>$!

7(6,

!-`"%!-(L5-4>8443L!-`"%!-(L"!%L

2!*(E(c-4WWAPPwWWw!+'$FL)$3!+'$8+24LB(;m;mB(L"2-!56)-LB(L36227+!,LG/=-4F{IV/36!2-FL8443W>>777/*55/*+)>LGG(

3"42(2!*

B#$2!5%$("&2<!(2!&2'"(25$!01!"#$!APPwWWw!+'$!5.(''=!604!>4'"!<&?$!&"!(!*%0@6!(33%$''!

(23!*0%"P!"#$!.('"!"70!*(%(>$"$%'!10%!(!4'$%2(>$!(23!*(''70%3!(%$!0*"&02(.!G/4"=!01!

504%'$=!%$f4&%$3!&1!604%!*%0@6!%$f4&%$'!(4"#$2"&5("&02I,! ![07!(26!%$f4$'"!604!>(8$!

4'&2<!"#("!&2'"(25$!7&..!<0!"#%04<#!"#$!*%0?&3$3!*%0@6,!!

H !3&32;" !50?$% !$?$%6"#&2<!(/04" !c-4WWAPPw! #$%$, ! !-#&28!01 ! "#&' !(' !( !>$%$!

/%4'#&2< ! 01 ! "#$ ! '4%1(5$= ! 4250?$%&2< ! ( ! >$%$ ! '2&**$" ! 01 ! 7#(" ! 5(2 ! /$ ! '$$2 ! ("!

#""*C``777,%4/6F305,0%<`'"3.&/`.&/305`2$"`#""*`%305`&23$@,#">., ! ! H ! $2504%(<$ ! 604!

"0!<0!"#$%$!(23!.008!0?$%!"#$!3054>$2"("&02=!('!7$!#(?$!02.6!4250?$%$3!J"$!70.$5#.(J!

01!"#$!"#$!7#0.$!$25#&..(3(,

?$"23(>2$C.3*(923Y+&21

-#04<#!H;?$!50?$%$3!"#$!"70!>0'"!*0*4.(%!*%0"050.'=!"#("!30$'2;"!>$(2!"#$!.&"".$!<46'!

702;"!<$"!(26!.0?$,!!N&25$!7#$2!&'!&"!"#("!02.6!"#$!*0*4.(%!8&3'!>(""$%A!!B$..=!*%0/(/.6!

'&25$!(/04"!TUSS=!/4"!"#(";'!/$'&3$!"#$!*0&2",!!H;>!<0&2<!"0!50?$%!"#$!2$%3'!(23!<$$8'!

01!"#$!2$"70%8!*%0"050.!50>>42&"6!/$5(4'$!H!7(2"!"0!G"#("!(23!"#$!)0>>&''&02!10%!

^f4(. !-%$(">$2" !01 ![$"70%8!O%0"050.' !(23!-#$&% !_<.6 !)04'&2'!-#(" !N458!(" !Q&.$!

-%(2'1$%'!>&<#"!6$..!("!>$!&1!H!302;"I,

K>0! !-#$!Q&.$!-%(2'1$%!O%0"050.!GQ-OI!&'!(!1(&%.6!*0*4.(%!>$"#03!10%!"%(2'1$%%&2<!(23!

'"0%&2<!1&.$'=!*(%"&54.(%.6!&2!0*$2!'04%5$!5&%5.$',!!\'!'45#=!/$&2<!(/.$!"0!<%(/!"#$'$!1&.$'!

G0% !4*.0(3 ! "#$>= !7#("$?$% ! "#5 !5('$ !>(6 !/$I !7&"# !( !94/6!'5%&*" !>(6!*%0?$ ! "0 !/$!

&25%$3&/.6!#(236,! !Q0%"42("$.6=!94/6!*%0?&3$'!(!/4&."F&2!.&/%(%6!"0!#(23.$!(..!01!604%!

Q-O!2$$3',

!-`"%!-(L5-4>&43L

&43(E(c-4WWhPw/5-7FL&43/=5"/+!=LG&43/.+=%5FL65+5$)+"2LB(L)-y)!5-%=#+!.$/*+)LG

&43/*8,%!FL=5">!-6,.%5->LG&%.-2(E(&43/.%24FL!YLG3"42(&%.-2

&43/=-4#%56!$&%.-FL!-6,.%5-0j/:/46!/=9LB(L!.%5-/46!/=9LG

&43/*.+2-

-#$ !(/0?$ ! '2&**$" !7&.. ! .0<&2 ! "0 ! "#$ !Y[_!Q-O !'$%?$% !(23 !3072.0(3 ! "#$ ! %$(3.&2$!

.&/%(%6,! !94/6;'!Q-O!.&/%(%6=!Z4'"!.&8$!$?$%6!0"#$%!.&/%(%6=!>4'"!1&%'"!/$!&25.43$3!4'&2<!

!-`"%!-, ! ! [$@"= ! 604 ! 2$$3 ! "0 ! 5%$("$ ! ( ! 2$7 !c-4WWhPw! &2'"(25$= ! *%0?&3&2< ! "#$!

502'"%45"0%!7&"#!(!#0'"2(>$!"0!5022$5"!"0,!!-#$!.+=%5!>$"#03!7&..!"#$2!.0<!604!&2"0!

"#$!Q-O!'$%?$%P!&1!604!(%$!.0<<&2<!&2!(2026>04'.6!G&,$,=!.&8$!&2!"#$!$@(>*.$I!&";'!20"!

(#!!!C..*+,D(927.,:(=.52

Page 111: Humble Little Ruby Book

50>*.$"$.6!2$5$''(%6!"0!*%0?&3$!(!4'$%2(>$!(23!*(''70%3,! !H1!.$1"!/.(28=!94/6!7&..!

'4/'"&"4"$ !65+5$)+"2! &2 ! (' ! "#$ ! 4'$%2(>$ ! (23 !65+5$)+"2y$+"!8+2456)-! (' ! "#$!

*(''70%3,! ![$@"=!604!2$$3!"0!2(?&<("$!"0!"#$!*%0*$%!3&%$5"0%6P!#$%$=!H!4'$3!"#$!*8,%!(

>$"#03!"0!5#(2<$!3&%$5"0%&$'!"0!"#$!=5">!-6,.%5->!10.3$%!(23!"#$!.%24!>$"#03!"0!<$"!

(!.&'"!01!"#$!1&.$'!&2!"#("!3&%$5"0%6=!7#&5#!&'!"#$2!*%&2"$3!"0!"#$!502'0.$,! !b25$!604;%$!

7#$%$!604!7(2"!"0!/$=!604!5(2!4'$!=-44-'4&%.-!0%!=-4#%56!$&%.-!G('!H!#(?$!#$%$I!"0!

<$"!1&.$'!0%!3"44-'4&%.-!0%!3"4#%56!$&%.-!"0!4*.0(3!.05(.!1&.$'!"0!"#$!'$%?$%!G&1!604;%$!

(..07$3!"0I,!!-#$!<$"!>$"#03'!%$f4&%$!"70!*(%(>$"$%'C!"#$!%$>0"$!1&.$!"0!<$"=!"#$!.05(.!

1&.$2(>$!"0!50*6!&"!"0,!!-#$!*4"!>$"#03'!%$f4&%$!"70!*(%(>$"$%'!(.'0C!"#$!.05(.!1&.$!"0!

50*6=!(23!"#$!%$>0"$!1&.$2(>$!"0!50*6!"0,! !H1!604;3!.&8$!"0!'$$!>0%$!$@(>*.$'=!<0!"0!

#""*C``777,%4/6F305,0%<`'"3.&/`.&/305`2$"`1"*`%305`&23$@,#">.!"0!?&$7!"#&'!.&/%(%6;'!

3054>$2"("&02,

&+>0!!-#$!NK-O!O%0"050.=!0%!N&>*.$!K(&.!-%(2'1$%!O%0"050.,,,$%,,,O%0"050.=!&'!"#$!3$!

1(5"0!'"(23(%3!10% !'$23&2<!$F>(&., ! !-#(28'!"0 !"#&' !*%0"050. !(23!&";' !4'4(..6!5%(**6!

&>*.$>$2"("&02= !604!(23!H !<$" ! "#04'(23'!01 !'*(>!$F>(&.' !$?$%6 !3(6, ! !-#(28'!M02!

O0'"$.= !^%&5!\..>(2=!](?$!)%058$%=![$3!Q%$$3=!9(23(..!Y$..$2'=!M0#2!l.$2'&2=!(23!

l$&"#!K00%$!10%!&21.("&2<!>6!&2/0@!G(23!"#(28'!B&8&*$3&(!10%!"$..&2<!>$!7#0!70%8$3!

02!NK-OIE!!N0=!(26#07=!4'&2<!NK-O!&2!94/6!&'!(5"4(..6!f4&"$!*(&2.$'',

!-`"%!-(L5-4>2)43L

)-226=-(E(ddUn]]Ognh!+)W(f+"!(c6)-(d$+"y$+"/*+)qP+W(P864(g"$(d8%)y8%)/*+)q]"#K-*4W(U$(&%5-(864(%2()%23.6*-,M64-W(]64B(:j(]-3(Xmm[(:[WX[W<Z(HmlmmU-226=-0V,W(d48%2%2"5%`"-y$+"/*+)q

C8-!-(%2()$(&-,+!6DUn]]Ogn

2)43(E(c-4WW]UPw/246!4FL)-/*+)LB(XjG2)43/2-5,e)-226=-()2=24!BL$+"y$+"/*+)LBL8%)y8%)/*+)LB(L$+"/*+)L2)43/&%5%28

Q&%'"=!"$..!94/6!"0!%$f4&%$!"#$!5-4>2)43!.&/%(%6!GH!8207!&"!'$$>'!%$3423(2"=!/4"!604;3!

/$!'4%*%&'$3!#07!>(26!"&>$'!$?$2!H!10%<$"!"#&'I,! ![$@"=!H!502'"%45"$3!(!>$''(<$!&2!(!

'"%&2<, ! !K$''(<$ ! 502'"%45"&02 !704.3 ! *%0/(/.6 ! /$ ! #(23.$3 ! 3&11$%$2".6 ! &2 ! ( ! J%$(.J!

(**.&5("&02=!/4"!"#&'!>$"#03!70%8'!10%!"#&'!$@(>*.$,! ![$@"=!5%$("$!(!2$7!c-4WW]UPw(

&2'"(25$!/6!5(..&2<!"#$!'"(%"!>$"#03=!<&?&2<!"#$!502'"%45"0%!(!#0'"2(>$!(23!*0%"!10%!

604%!NK-O!'$%?$%,! ![$@"=!5(..!"#$ !2-5,e)-226=-!>$"#03=!<&?&2<!&"!"#$!>$''(<$=!"#$!

'$23$%;' !$F>(&. !(33%$''= !(23!"#$!%$5&*&$2";' !$F>(&. !(33%$''= !(23!D^Xb!30>(&2!('!

*(%(>$"$%',!!-#$!D^Xb!30>(&2!&'!4'$3!/6!'0>$!>(&.!'$%?$%'!(23!'*(>!1&."$%'!"0!>(8$!

'4%$!"#("!"#$!$F>(&.!&'!.$<&"&>("$,! !Q&2(..6=!5(..!"#$ !&%5%28!>$"#03!"0!$23!"#$!NK-O!

'$''&02, ! ! H1 !604%!NK-O!'$%?$% !%$f4&%$' !(4"#$2"&5("&02= !604!2$$3!"0 !>(8$!"#$!'"(%"!

>$"#03!5(..!.&8$!"#$!10..07&2<,

c-4WW]UPw/246!4FL)-/*+)LB(XjB(L$+"/*+)LB(L$+"LB(L)$37LB(W3.6%5G

-#$!"#%$$!(33&"&02(.!*(%(>$"$%'!#(23.$!604%!(4"#$2"&5("&02,! !-#$!1&%'"!01!"#$'$!&'!"#$!

4'$%2(>$ ! (23 ! *(''70%3 ! 50>/&2("&02P ! "#$ ! .('" ! *(%(>$"$% ! &23&5("$' ! 7#&5#!

(4"#$2"&5("&02!'5#$>$!7&..!/$!4'$3,! !H2!"#&'!5('$=!H!4'$3!"#$!$?&.!(23!>45#!>(.&<2$3!

C..*+,D(927.,:(=.52!!!($

Page 112: Humble Little Ruby Book

3.6%5!'5#$>$=!/4"!"#$%$!(%$!"#$!.+=%5!'5#$>$!(23!"#$!'.&<#".6!>0%$!'$54%$!*!6)e),j(

'5#$>$!7#&5#!604!5(2!4'$, ! !)#$58!7&"#!604%!'$%?$%;' !(3>&2&'"%("0% ! "0!>(8$!604%!

'$%?$%!'4**0%"'!"#$'$!>$"#03'!/$10%$!"%6&2<!"0!4'$!"#$>!('!'0>$!5%(**&$%!>(&.!'$%?$%'!

302;"!'4**0%"!"#$>,

0!0! !-#$!ObO!*%0"050.= !0% !O0'" !b11&5$!O%0"050.,,,*%0"050.= ! &' !G0/?&04'.6I !4'$3!"0!

%$"%&$?$!$F>(&.,!!H"!#('!.(%<$.6!1(..$2!04"!01!1(?0%!&2!%$5$2"!6$(%'!'&25$!>0%$!*$0*.$!#(?$!

3&'50?$%$3!HK\O!G7#&5#!&'!50?$%$3!&2!"#$!2$@"!'$5"&02I!/4"!&'!'"&..!&2!7&3$'*%$(3!4'$,!

94/6;'!ObO!.&/%(%6!&'!(2!$('6!"0!4'$!&2"$%1(5$!"0!(!ObO!'$%?$%=!(23!f4&"$!#02$'".6!02$!

01!"#$!>0%$!2("4%(.!ObO!&2"$%1(5$'!H;?$!4'$3,! !b"#$%!&2"$%1(5$'!5(2!/$!50>*(%$3!"0!(!

K5]02(.3;'!70%8$%!"#("!'*$(8'!^2<%&'#,! !:04!8207!7#("!604!7(2"!"#$>!"0!30=!/4"!

$&"#$%!"#$6!302;"!423$%'"(23!0%!"#$6!30!&"!&2!(!7(6!"#("!>(6!>(8$!'$2'$!/4"!02.6!"0!

'0>$02$!7#0!&'!$&"#$%!'"4*&3!0%!'&>*.6!'"%(2<$,!!Q0%"42("$.6=!94/6;'!ObO!&2"$%1(5$!&'!

2("4%(.!(23!%$(3(/.$,

!-`"%!-(L5-4>3+3L

3+3(E(c-4WWwJwZ/5-7FL)$)6%.2-!1-!/*+)LG3+3/246!4FL)$6**+"54LB(L26.6*%+"2LG

%&(3+3/)6%.2/-)34$D(((3"42(Lc+()6%.(4+(=!6#/L-.2-((3+3/-6*8e)6%.(,+(x)2=x((((3"42()2=/3+3((((Q()2=/,-.-4-((-5,-5,

3+3/&%5%28

-#&' !503$!'2&**$" !7&.. !0*$2!( !2$7!5022$5"&02 ! "0 !( !ObO!'$%?$% !(23! .0< !604! &2!/6!

5%$("&2<!(![$"CCObOV!&2'"(25$!(23!5(..&2<!"#$!246!4!>$"#03!7&"#!.0<&2!5%$3$2"&(.'!('!

*(%(>$"$%',!![$@"=!&"!5#$58'!7#$"#$%!0%!20"!"#$!>(&./0@!&'!$>*"6!/6!4'&2<!"#$!-)34$D(

>$"#03!02!"#$!)6%.2!(""%&/4"$!01!"#$![$"CCObOV!&2'"(25$,!!H1!"#$6!>(&./0@!&'!$>*"6!(!

>$''(<$!&'!3&'*.(6$3!&23&5("&2<!&"'!$>*"&2$''=!/4"!0"#$%7&'$!"#$!-6*8e)6%.!>$"#03!&'!

4'$3!"0!&"$%("$!"#$!>(&.!>$''(<$'!(23!*%&2"!"#$>!04",!!-#$!50>>$2"$3!04"!503$!704.3!

3$.$"$!"#$!>$''(<$=!/4"!H!3&32;"!7(2"!"0!*4"!3$'"%45"&?$!503$!&2!'0>$"#&2<!"#("!604;%$!

.&8$.6!"0!50*6!(23!*('"$!7&"#04"!%$<(%3'!"0!502"$2",!!N&25$!"#$!)6%.2!(""%&/4"$!&'!'&>*.6!

(2!(%%(6!01!>(&.!>$''(<$'=!604!504.3!(.'0!4'$!"#$!-6*8!>$"#03!"0!&"$%("$!"#$!>$''(<$=!

/4"!&";'!*%0/(/.6!(!/$""$%!&3$(!"0!4'$!"#$!-6*8e)6%.!>$"#03!'&25$!&"!&'!'*$5&(.&L$3!G20"!

"#("!&"!>(8$'!(!3&11$%$25$=!/4"!&";'!*%0/(/.$!"#("!"#$!0"#$%!02$!7&..!/$50>$!3$*%$5("$3!

$?$2"4(..6I,!!

H!3&32;"!50?$%!(..!"#$!1$("4%$'!&2!"#$!'$5"&02P!02$!%$('02!&'!"#("!H!302;"!#(?$!(!

'$%?$%!"#("!'4**0%"'!"#$>!(..!G&,$,=!\ObOI,!!\20"#$%!%$('02!&'!"#("!"#$6;%$!20"!50>>02!

$204<#!"0!7(%%(2"!(26>0%$!3054>$2"("&02!"#(2!604!5(2!1&23!02!"#$!3054>$2"("&02!

*(<$!("!#""*C``777,%4/6F305,0%<`'"3.&/`.&/305`2$"`*0*`%305`,!!X$";'!>0?$!(.02<!"0!(!

'4*$%&0%!>(&.!%$"%&$?(.!>$"#03C!HK\O,

5+<0!!HK\O!GH2"$%2$"!K$''(<$!\55$''!O%0"050.I!&'!"#$!$F>(&.!1.(?0%!34!Z04%!54%%$2".6!

'&25$!&";'!(!.&"".$!>0%$!$11&5&$2"!"#(2!ObO,!!H"!(..07'!604!"0!#(?$!>(26!.0<&5(.!>(&./0@$'!

%("#$%!"#(2!(!'&2<.$!&2/0@=!>4."&*.$!5.&$2"!(55$''!"0!02$!>(&./0@=!(23!>45#!>0%$,!!O4"!

(%!!!C..*+,D(927.,:(=.52

Page 113: Humble Little Ruby Book

'&>*.6=!&";'!(!2("4%(.!$?0.4"&02!01!ObO,!!94/6;'!HK\O!!&2"$%1(5$!&'!'4%*%&'&2<.6!%0/4'"P!

&" !<&?$'!604!(!2("4%(.!&2"$%1(5$!"0!(.. !01!HK\O;'!50>>(23',! !X$";'!"(8$!(!.008!("!(2!

$@(>*.$!1%0>!"#$!94/6!3054>$2"("&02!"#("!7&..!<%(/!(..!>(&.!>$''(<$'!(23!*%&2"!04"!

"#$&%!'$23$%!(23!'4/Z$5",

!-`"%!-(L5-4>%)63L

%)63(E(c-4WWVUOw/5-7FL)6%./-'6)3.-/*+)LG%)63/6"48-54%*64-FLsJgVcLB(LK+-e"2-!LB(LK+-2e36227+!,LG

%)63/-'6)%5-FLVciJ�LG

%)63/2-6!*8Fo@InTncP@pG/-6*8(,+(x)2=e%,x((-51-.+3-(E(%)63/&-4*8F)2=e%,B@ncznsJwn@Gomp/644!o@ncznsJwn@p((3"42(@QR-51-.+3-/&!+)omp/56)-SW(N4QR-51-.+3-/2"#K-*4S@-5,

-#&'!$@(>*.$!70%8'!>45#!.&8$!"#$!ObO!$@(>*.$!&2!"#$!1&%'"!1$7!.&2$'C!5%$("$!(!2$7!

&2'"(25$!*(%(>$"%&L$3!7&"#!"#$!#0'"2(>$!(23!5(..!(!>$"#03!"0!(4"#$2"&5("$I,!!-#$!"70!

(4"#$2"&5("&02 !'5#$>$' !'4**0%"$3 !/6 ! HK\O!(%$ !sJgVc! G4'$3!#$%$I !(23 !TIOU0UMj,!

\1"$% ! "#$'$ ! .&2$' !"#04<#= ! HK\O;' !(%5#&"$5"4%$ !%$(..6 !'"(%"' !'#07&2<, ! !-#$ !-'6)%5-(

>$"#03!<&?$'!604!%$(3F02.6!(55$''!"0!(!>(&./0@!0%!10.3$%!G"#$!2-.-*4!>$"#03=!7#&5#!

&'!4'$3!"#$!'(>$!7(6=!(..07'!$3&"&2<!(55$''IP!604!5(2!"#$2!4'$!"#$!2-6!*8!>$"#03!"0!

<%(/!(!.&'"!01!>(&.'!"0!0*$%("$!02,!!:04!5(2!4'$!"#$!&-4*8!>$"#03!"0!<$"!(!>(&.!0/Z$5"=!

7#&5#!604!5(2!<$"!&210%>("&02!1%0>!G('!&2!"#$!$@(>*.$I!0%!4'$!>$"#03'!.&8$!*+3$!0%!

24+!-, ! !-0 !<$" !>0%$ ! &210%>("&02= !5#$58 !04" ! "#$ ! HK\O! .&/%(%6;' !3054>$2"("&02 !("!

#""*C``777,%4/6F305,0%<`'"3.&/`.&/305`2$"`&>(*`%305`&23$@,#">.,

!2-(923Y+&21

B$/!N$%?&5$'!(%$!<%07&2<!&2!*0*4(%&"6!"#$'$!3(6'=!(23!('!'45#!H!"#04<#"!&"!7('!*%$""6!

&>*0%"(2"!"#("!H!("!.$('"!>$2"&02!"#$>,!!H;>!02.6!<0&2<!"0!50?$%!(!?$%6!/('&5!5.&$2"!'&3$!

$@(>*.$=!('!"#&'!504.3!#02$'".6!/$!(!/008!02!&"'!072!&1 !(2602$!7(2"$3!"0!7%&"$!&",!

-#$%$!(%$!(! 1$7!.&28'! &2!\**$23&@!\!"#("!"(.8 !(/04" !4'&2<!94/6!(23!7$/!'$%?&5$'!

"0<$"#$%!&1!604;%$!&2"$%$'"$3P!0"#$%7&'$!.$"!4'!>(%5#!02!"07(%3'!04%!7$/!'$%?&5$!.(3$2!

O%0>&'$3!X(23,! !B$!#(?$!6$"!"0!5%0''!"#$!9$3!N$(=!/4"=!/%0"#$%'!(23!'&'"$%'=!&"!&'!&2!

'&<#"E

L+M/B0J% !)02'4>&2<!(2!eKXF9O)!GeKX!9$>0"$!O%05$34%$!)(..I!7$/!'$%?&5$!&2!

94/6 ! &' ! (' ! '&>*.$ ! (' ! 1$"5#&2< ! ( !7$/ !*(<$= ! $@5$*" ! &2'"$(3 !01 ! <&?&2< ! 604 ! ( ! %("#$%!

424'(/.$!%(7!%$"4%2!?(.4$=!94/6!<&?$'!604%!/$(4"&14..6!(23!"%(2'*(%$2".6!502?$%"$3!

?(.4$'!"#("!604!5(2!4'$!%&<#"!(7(6,! !X$";'!.008!("!(!'.&<#".6!$3&"$3!$@(>*.$!1%0>!"#$!

3054>$2"("&02,

!-`"%!-(L').!3*>*.%-54L

2-!1-!(E(�UsIwTWWT.%-54/5-7XF@8443W>>').!3*0*/2+"!*-&+!=-/5-4>63%>26)3.-/383@G

!-2".4(E(2-!1-!/*6..F@26)3.-/2")O5,M%&&-!-5*-@B(jB(ZG

3"42(@QR!-2".4oL,%&&-!-5*-LpS(65,(QR!-2".4oL2")LpS@

"!!X(65,(;

C..*+,D(927.,:(=.52!!!(&

Page 114: Humble Little Ruby Book

Q&%'"=!604!2$$3!"0!&25.43$!"#$!.&/%(%6!(23!5%$("$!(!2$7!&2'"(25$!4'&2<!"#$!5-7X!>$"#03!

G0% !5-7!7&"#!(!.0"!01!*(%(>$"$%'!0% !5-7Z!7&"#!(!#('#!01!$?$%6!*(%(>$"$%!2$$3$3P!&";'!

'0%"!01!4*!"0!604I,!!-#$2!4'$!"#$!*6..!>$"#03!"0!>(8$!(2!eKXF9O)!5(..!"0!"#$!'$%?$%P!

"#$!5(.. !>$"#03!"(8$'!"#$!%$>0"$ !>$"#03!(' ! "#$!1&%'" !*(%(>$"$% !(23!"#$!>$"#03;'!

*(%(>$"$%'!('!"#$!%$>(&2&2<!*(%(>$"$%',! !-#$!%$'4."'!(%$!"#$2!%$"4%2$3!"0!604!('!(!

4'(/.$!#('#!G&,$,=!%$'4."t3&11$%$25$uI!%("#$%!"#(2!(!%(230>=!(2206&2<=!42*(%'$3!eKX!

'"%&2<,!!H1!604!(%$!&2"$%$'"$3!("!.008&2<!("!"#$!3054>$2"("&02!10%!"#$!eKXF9O)!5.&$2"=!

.008!(" !#""*C``777,%4/6F305,0%<`'"3.&/`.&/305`@>.%*5`%305`&23$@,#">.P!&1!604!7(2"!

"0!&>*.$>$2"!(2!eKXF9O)!'$%?$%=!.008!&2!\**$23&@!\!10%!.&28'!"0!'0>$!&210%>("&02,

&!<0! !Nb\O!G7#&5#!4'$3!"0!'"(23!10%!N&>*.$!b/Z$5"!\55$''!O%0"050.=!/4"!207!&"!

(**(%$2".6 ! '"(23' ! 10% ! Nb\OI ! &' ! "#$ ! '4**0'$3 ! '455$''0% ! "0 ! eKXF9O), ! ! H" ! 7('!

'4**0'$3!"0!/$!(!7(6!"0!'#(%$!0/Z$5"'!0?$%!(!2$"70%8=!/4"!'0>$7#$%$!(.02<!"#$!7(6!

$?$%6"#&2<!7$2"!(7%6=!"#$!Q))!<0"!&2?0.?$3=!(23!Nb\O!30$'2;"!30!7#("!&"!7('!>$(2"!

"0!30,!!H2!(26!$?$2"=!&";'!(!1(&%.6!50>>02!(23!*07$%14.!7(6!"0!30!7$/!'$%?&5$',!!D$%$!&'!

(2!$@(>*.$ !1%0>!"#$!3054>$2"("&02!10% !'0(*S%= ! "#$!'"(23(%3!7(6!"0!30!Nb\O!&2!

94/6= !7#&5# !7&.. ! "%(2'.("$ ! 1%0> !^2<.&'# ! "0 !Y$%>(2 !4'&2< ! ( ! Nb\O ! &2"$%1(5$ ! 10%!

c(/$.1&'#,

4-'4(E(LA-!-(V(.%-(%5(6(27-64-!(3++!.$(?5%4/L.65=(E(L-5e,-L

!-`"%!-(L2+63>!3*>,!%1-!L

2-!1-!(E(L8443W>>2-!1%*-2/')-48+,2/5-4>3-!.>2+63.%4-/*=%LV54-!&6*-c](E(L"!5W')-48+,2i6#-.h%28L7%!-M")3M-1(E(5%.

,!1(E(]JOwWWIwTWWM!%1-!/5-7F2-!1-!B(V54-!&6*-c]G,!1/7%!-,")3e,-1(E(7%!-M")3M-1,!1/6,,e)-48+,e7%48e2+636*4%+5FLi6#-.h%28LB(V54-!&6*-c](H(@Qi6#-.h%28@B(L4!652.64%+5)+,-LB(L2+"!*-,646LG

3"42(,!1/i6#-.h%28F.65=B(4-'4G

"!!8%-!(.%-=-(%*8(%5(-%5-!(]4!%*?K6*?-(24!%*?-(2*8.-*84

-#&'!.008'!50>*.$@=!/4"!&";'!>0'".6!Z4'"!'$""&2<!4*!"#$!Nb\O!*(%(>$"$%',!!Q&%'"=!H!*4"!&2!

'0>$!'$$3!3("(!"0!70%8!7&"#=!7#&5#!&'!/('&5(..6!(!'$2"$25$!"#("!7&..!/$!"%(2'.("$3!1%0>!

^2<.&'#!"0!Y$%>(2,! ![$@"=!604!5(2!'$$!"#("!H!&25.43$3!"#$!.&/%(%6!(23!"#$2!*4"!'0>$!

Nb\O!*(%(>$"$%'!&2"0!?(%&(/.$',!!-#$!1&%'"!?(.4$=!2-!1-!=!&'!"#$!.05("&02!01!"#$!'$%?&5$!

"0!5022$5"!"0P! !"#$!'$5023=!V54-!&6*-c]=!&'!"#$!2(>$'*(5$!"#("!"#$!>$"#03!604!7&'#!

"0!5(..!&'!.05("$3!&2,! !-#$!.('"!02$!&'!"#$!J34>*J!#(23.$%!10%!$%%0%'=!"#("!&1!'$"!"0 !5%.(

/$50>$'!"#$!'"(23(%3!$%%0%!5#(22$.,!![$@"=!(!2$7!]JOwWWIwTWWM!%1-!!&'!5%$("$3!"#("!

*0&2"'!"0!"#$!'$%?&5$!(23!2(>$'*(5$!'*$5&1&$3!$(%.&$%!(23!&'!"0.3!"0!34>*!"0!'"3$%%!

G'"(23(%3!$%%0%I, ! !-#$!2$@"! .&"".$!/&"!01!503$!3$>02'"%("$'!(2!&2"$%$'"&2<!1$("4%$!01!

'0(*S%=!7#&5#!&'!*%0/(/.6!7#("!'$"'!&"!(*(%"!1%0>!>0'"!0"#$%!Nb\O!7%(**$%',! !-#$!

6,,e)-48+,e7%48e2+636*4%+5! 4'$'!94/6;'!362(>&5!2("4%$!"0!(33!(!>$"#03!"0!"#$!

M!%1-!!0/Z$5",!!-#&'!>$(2'!"#("!%("#$%!"#(2!>(%'#(..&2<!(23!5(..&2<!(23!30&2<!(!.0"!01!

0"#$%!%(230>!'"411=!604!5(2!207!5(..!"#$!>$"#03!02!"#$!M!%1-!!0/Z$5"!.&8$!(26!0"#$%!

>$"#03!G7#&5#!7$!30!("!"#$!$23!01!"#&'!'2&**$"I,

b25$!(<(&2=!H;>!20"!50?$%&2<!2$(%.6!(..!01!"#&'!.&/%(%6,! !-#$%$!(%$!'0!>(26!

1$("4%$'!&2!"#$%$!"#("!H!504.32;"!3%$(>!01!"%6&2<!"0!30!&"!Z4'"&5$!&2!02$!.&"".$!'$5"&02P&1!

('!!!C..*+,D(927.,:(=.52

Page 115: Humble Little Ruby Book

604;%$!%$(..6!54%&04'!(23!7(2"!"0!1&23!04"!>0%$=!604!5(2!5#$58!04"!"#$!'0(*S%!7$/'&"$!

("!#""*C``3$?,5"0%,0%<`!! '0(*S%!! !̀!!0%!"#$!0"#$%!.&28'!\**$23&@!\!10%!>0%$!&210%>("&02,

87%9(@8RF(Q897:8<;7FQ(?:(9?0F758>AJJJ

H2 ! "03(6;' !70%.3 !01 ! $2"$%*%&'$ ! '01"7(%$= ! .00'$.6 !504*.$3 ! '6'"$>'= !(23 !80'#$% !/$$1!

1%(28' ! >(3$ ! /6 ! M$7'= ! 3&'"%&/4"$3 ! 50>*4"&2< ! &' ! /$50>&2< ! &25%$('&2<.6 ! >0%$!

&>*0%"(2",! !O$%#(*'!604!2$$3!"0!$@*0'$!(2!&2"$%1(5$!"0!"#$!70%.3!10%!4'(<$!01!604%!

%$'04%5$'P!>(6/$!604!2$$3!"0!3&'"%&/4"$!#$(?6!50>*4"&2<!(5%0''!(!<%&3!01!50>*4"$%'P!

>(6/$!604!7(2"!"0!5(.54.("$!'0>$"#&2<!&2!(!24>/$%!01!$2?&%02>$2"'!7&"#!>&2&>(.!

$110%", ! ! -#$ !]9/! G]&'"%&/4"$3 ! 94/6I ! *(58(<$ ! *%0?&3$' ! ( ! '&>*.$ !7(6 ! "0 ! #(23.$!

3&'"%&/4"$3!50>*4"&2<!&2!94/6,

^?$%6!]9/!(**.&5("&02!#('!"70!50>*02$2"'C!(!'$%?$%!(23!5.&$2"',!!-#$!'$%?$%!

7&..!'"(%"!(!-)O!'$%?$%=!7#&5#!7&..!$@*0'$!0/Z$5"'=!(55$*"!5022$5"&02'=!(23!%$'*023!"0!

(5"&02'!%$f4$'"$3!0?$%!"#0'$!5022$5"&02',!!).&$2"'!7&..!$'"(/.&'#!5022$5"&02'!"0!(!]9/!

'$%?$%=!/&23!"0!0/Z$5"'=!(23!'$23!>$''(<$'!"0!"#0'$!0/Z$5"'!'&>&.(%!"0!>$''(<$'!"#("!

(%$!'$2"!"0!.05(.!0/Z$5"'!7#$2!5(..&2<!>$"#03'!(23!(""%&/4"$',!!X$";'!/4&.3!(2!$@(>*.$!

"0!<$"!(!1$$.!10%!#07!"#&'!70%8'P!.$";'!'(6!604!2$$3$3!"0!8$$*!"%(58!01!604%!.0<!'&L$'!02!(!

%$>0"$!'$%?$%!(23!7(2"$3!"0!8$$*!"#("!1&<4%$!02!604%!3$'8"0*!10%!$('6!>02&"0%&2<,

&#)H#)% %N$""&2<!4*!(!]9/!'$%?$%!&'!'&>*.$!&1!604!#(?$!"#$!5.(''!604!7(2"!"0!$@*0'$!

(.%$(36!502'"%45"$3,!!H2!"#&'!5('$=!H;>!$@*0'&2<!(!%("#$%!"%&?&(.!5.(''!"#("!'&>*.6!"(8$'!

02$!?(.4$!('!(!*(%(>$"$%!G"#$!.0<!1&.$!"0!7("5#I!%$"4%2'!02$!?(.4$!G"#$!'&L$!01!"#$!.0<!

1&.$I,

*.622(h]C64*8-!]-!1%*-

((,-&(%5%4%6.%9-F&%.-56)-G((((y&%.-(E(&%.-56)-((-5,

C..*+,D(927.,:(=.52!!!((

!"#$%&'(E)'*';38"<46'U12'7&;$8)'7&%-&%'4+5'<6"&+;:

Page 116: Humble Little Ruby Book

((,-&(=-4236*-((((!-4"!5(h%.-/2%9-Fy&%.-G((-5,

-5,

[07!"#("!604!#(?$!(!5.(''!"0!70%8!7&"#=!604!2$$3!"0!7%(*!&"!&2!(!]9/!'$%?$%,!!-#&'!&'!

302$!/6!'&>*.6!5(..&2<!"#$!246!4e2-!1%*$!>$"#03!1%0>!"#$!3%/!>034.$!(23!<&?&2<!&"!(!

1$7!*(%(>$"$%',

!-`"%!-(L,!#>,!#L!-`"%!-(L48!-6,L

*.622(]%9-]-!1%*-

((,-&(%5%4%6.%9-F&%.-56)-G((((y&%.-(E(&%.-56)-((-5,

((,-&(=-4236*-((((!-4"!5(h%.-/2%9-Fy&%.-G((-5,

-5,

MI#/246!4e2-!1%*-F@,!"#$W>>Wl;k[@B(]%9-]-!1%*-/5-7FL*642/.+=LGG3"42(MI#/"!%

MI#/48!-6,/K+%5

Q&%'"!604!2$$3!"0!&25.43$!/0"#!"#$!]9/!>034.$!G,!#>,!#I!(23!"#$!48!-6,!>034.$!'0!

604!5(2!Z0&2!"#$!]9/!'$%?$%;'!"#%$(3!&2"0!"#$!>(&2!02$,! ![$@"!604!'$$!"#$!5.(''!7$!

>(3$!$(%.&$%,! !-#$2!604!2$$3!"0!5(..!"#$!246!4e2-!1%*-!>$"#03!1%0>!"#$!]9/!5.(''P!

"#&'!7&..!'"(%"!(!]9/!'$%?$%!02!"#$!'*$5&1&$3!_9H!(23!$@*0'$!"#$!&23&5("$3!0/Z$5",!!-#$!

]9/!_9H!&'!"#$2!*%&2"$3!"0!"#$!502'0.$!G10%!%$1$%$25$!(23!10%!604%!/$2$1&"!7#$2!"%6&2<!

"0!5022$5"!"0!&"I,! !-#$!]9/!'$%?$%;'!"#%$(3!&'!"#$2!Z0&2$3!"0!"#$!>(&2!"#%$(3=!(23!"#$!

'$%?$%!&3.$'!42"&.!5022$5"$3!"0,

J,.#$-%!]9/!>(8$'!502'"%45"&2<!(!5.&$2"!3&%"!'&>*.$,!!-#$!/('&5!*%05$''!&'!"#("!604!5(..!

'"(%"p'$%?&5$=!/&23!"0!"#$!%$>0"$!0/Z$5"=!(23!"#$2!4'$!&"!Z4'"!.&8$!(!%$>0"$!0/Z$5",!!

!-`"%!-(L,!#>,!#L

M!#/246!4e2-!1%*-!-)+4-+#K(E(MI#J#K-*4/5-7F5%.B(L,!"#$W>>,+)+Wl;k[LG3"42(@s+=(&%.-("26=-(%2(QR!-)+4-+#K/=-4236*-FGS(#$4-2/@

\'!604!5(2!'$$= !604 !'&>*.6 !5%$("$ !( !2$7 !MI#J#K-*4! (23!<&?$ ! &" !( !]9/!_9H !(' !(!

*(%(>$"$%=!(23!?0&.(E!!:04;?$!<0"!(!%$>0"$!0/Z$5"!604!5(2!4'$!Z4'"!.&8$!(!.05(.!0/Z$5"P!&2!

"#&'!$@(>*.$=!H!5(..$3!"#$ !=-4236*-FG! >$"#03!02!"#$!%$>0"$!0/Z$5"!(23!*%&2"$3!&"'!

?(.4$!"0!"#$!502'0.$,

H!3&32;"!50?$%!$?$%6!2008!(23!5%(226!01!]9/!#$%$!G(23!H!3&32;"!&2"$23!"0P!&";'!(!

%0/4'"!*(58(<$IP!&"!(.'0!011$%'!7(6'!"0!>(8$!604%!(**.&5("&02!"#%$(3!'(1$!G'0!"#("!7#$2!

604!#(?$!(!.0"!01!5.&$2"'!5022$5"&2<!(23!3&'5022$5"&2<!"#("!604%!3("(!'"(6'!80'#$%!10%!

(..!01!"#$>I!(23!(!#0'"!01!'$54%&"6!>$('4%$',!!)#$58!"#$!.&28'!&2!\**$23&@!\!"0!1&23!04"!

(/04"!(..!"#("!'"411!(23!>0%$,

)**!!!C..*+,D(927.,:(=.52

Page 117: Humble Little Ruby Book

Q676(0=(<69F/(L@F69FG

]("(/('$!3%&?$2!(**.&5("&02'!(%$!&25%$3&/.6!50>>02!207(3(6'P!$?$%602$;'!<0"!02$,!

:04%!7&1$=!604%!>0>=!604%!'02=!"#$!5%$$*6!<46!("!70%8!7&"#!(!2('"6!>4'"(5#$!(23!

#(.&"0'&',!!H1!604!302;"!<$"!604%!/4""!&2!<$(%!(23!<$"!02$=!604%!/0''!&'!<0&2<!"0!1&%$!604!

10%!/$&2<!"#$!02.6!'f4(%$!7#0!&'2;"!%0..&2<!02!34/'=!9]cKN!'"6.$,

FG5! ! 94/6;' ! ]cH ! *(58(<$= !>45# ! .&8$ ! "#$ ! O$%. ! *(58(<$= ! &' ! ( ! 3("(/('$ ! ?$230%F

&23$*$23$2"!3("(/('$!5022$5"&02!'4&"$,! !H"'!%0/4'"!'4**0%"!10%!3("(/('$!1$("4%$'!(23!

?$230%'!&'!2$(%.6!42*(%(.$..$3,!!\'!(2!&..4'"%("&02=!#$%$!&'!(!"(/.$!01!'4**0%"$3!3("(/('$!

?$230%'!(23!5022$5"&02!"6*$',

OMJ!"#$%&'#$(!)'*+,- MiX h!+54#62- V54-!i62-

)]_s

JTV;

U$]_s

./(01#$234!"w=-

JMiT

]_s%4-

J!6*.-

]_sI-.6$

H" !'4**0%"'!>0%$!5022$5"&02!"6*$'= !'45#!('!( !O%0@6!"#%04<#!]9/=!(23!$?$2!>0%$!

?$230%'!"#%04<#!&2"$%1(5$'!.&8$!\]b!(23!b]c),!!X$";'!"(8$!(!.008!("!#07!"0!5022$5"!

"0!02$!01!"#$'$!3("(/('$',

-#$!/('&5!*%05$''!10%!>(8&2<!]cH!70%8!&'!"0!5022$5"!"0!"#$!'$%?$%=!*%0?&3&2<!

( !#0'" !(23!5%$3$2"&(.'= !$@$54"$ !0% !*%$*(%$ !(23!$@$54"$ !NhX!'"("$>$2"'= ! 1$"5#!"#$!

%$'4."'= ! (23= !7#$2 ! 604;%$ !302$= ! 3&'5022$5" ! 1%0> ! "#$ ! '$%?$%, ! !X$";' ! /4&.3 ! ( ! f4&58!

$@(>*.$!"#("!7&..!'#07!011!>0'"!01!"#$!1425"&02(.&"6!01!]cHP!.$";'!'(6!604!2$$3$3!"0!

8$$*!(!3("(/('$!01!(..!01!"#$!'*$5&>$2'!"#("!(%$!&2!604%!$@0"&5!'.4<!50..$5"&02,

!-`"%!-(L,#%L

MiV/*+55-*4FLMiVWU$2`.W)$,#LB(L)$"2-!LB(L)$3622LG(,+(x(,#8(x

((,#8/,+FLTInOPn(POisn(2."=2F56)-B(6=-GbLG

((2`.(E(@Vc]nIP(VcPJ(2."=2(F56)-B(6=-G(zOs{n](FDB(DG@

((,#8/3!-36!-F2`.G(,+(x248x((((:/"34+F<ZG(R(x%x(248/-'-*"4-F@]."=(QR%S@B(@QR%YZS@G(S((-5,

((,#8/2-.-*4e6..FL]nsnTP(Y(hIJU(2."=2bLG(,+(x!+7x((((3"42(@A-..+B(QR!+7omp\@((-5,

((248(E(,#8/3!-36!-F@]nsnTP(Y(hIJU(2."=2(CAnIn(56)-EL]."=(:Lb@G((248/-'-*"4-

((78%.-(!+7(E(248/&-4*8(,+((((3"42(!+7((-5,

-5,

-0!'"(%"!4*!]cH=!5(.. !*+55-*4=!1$$3&2<!&"!"#$!3("(/('$!3%&?$%=!3("(/('$=!(23!#0'"!"0!

4'$=!(23!0*$2!(!/.058,!!-#&'!/.058!&'!*%0?&3$3!"#$!3("(/('$!#(23.$!('!(!*(%(>$"$%!

C..*+,D(927.,:(=.52!!!)*)

Page 118: Humble Little Ruby Book

)*!!!!C..*+,D(927.,:(=.52

Page 119: Humble Little Ruby Book

G,#8I=!7#&5#!&"!5(2!"#$2!0*$%("$!02,!!Q&%'"=!7$!5%$("$!(!"(/.$!"0!70%8!7&"#!4'&2<!"#$!,+(

>$"#03P!"#$!30!>$"#03!&>>$3&("$.6!$@$54"$'!(!NhX!'"("$>$2",!![$@"=!7$!/4&.3!(!NhX!

'"("$>$2"!(23!*%$*(%$!&" !4'&2<!"#$!0/?&04'.6!2(>$3 !3!-36!-! '"("$>$2", ! !-#&'!7&..!

(..07!4'!"0!$@$54"$!"#$!'(>$!NhX!'"("$>$2"!0?$%!(23!0?$%!(<(&2!f4&58.6=!$('&.6=!(23!

$11&5&$2".6 !4'&2<!"#$ !-'-*"4-! >$"#03!G(' ! H;?$!302$!#$%$ !7#$2! &2'$%"&2<!"#$!3("(IP!

(20"#$% ! 4*'&3$ ! &' ! "#(" ! 604 ! 5(2 ! #(?$ ! &" ! 4'$ ! *.(5$#0.3$%' ! (' ! H;?$ ! 302$ ! #$%$ ! 4'&2<!

f4$'"&02!>(%8',!!-#&'!.$"'!604!'4/'"&"4"$!?(.4$'!&2!$(5#!"&>$!"#$!'"("$>$2"!&'!$@$54"$3P!

10%!$@(>*.$=!#$%$!H!'4/'"&"4"$!&2!"#$!'.4<;'!56)-!(23!6=-=!7#&5#!5#(2<$'!$(5#!"&>$!"#$!

'"("$>$2"!&'!5(..$3,!![$@"=!604!5(2!'$$!"#$!2-.-*4e6..!>$"#03!/$&2<!4'$3=!7#&5#!7&..!

%$"4%2 !$?$%6 ! %07! 1%0>!( !]nsnTP! '"("$>$2" !(23 ! 1$$3 ! &" ! "0 !( !/.058P ! "#$%$ ! &' ! (.'0 !(!

2-.-*4e+5-!>$"#03!10%!"#0'$!"&>$'!7#$2!604!%$(..6!Z4'"!2$$3!02$!%07,!!:04!5(2!(.'0!

*%$*(%$=!$@$54"$=!(23!1$"5#!%$'4."'!&1 !"#(";'!604%!1.(?0%P!"#("!>$"#03!&'!'#072!#$%$!

4'&2<!"#$ !3!-36!-! (23 !-'-*"4-! 50>/&2("&02!7&"#!( !78%.-! .00*!"0!1$"5#!"#$!%$'4."',!

Q&2(..6=!7#$2!"#$!/.058!$@&"'=!"#$!5.&$2"!3&'5022$5"',! !H1!604!0*"!"0!20"!4'$!"#$!/.058!

10%>!01!"#&'!503$=!604!7&..!2$$3!"0!5(..!,%2*+55-*4!"0!3&'5022$5"!1%0>!"#$!'$%?$%,

<*-.H#B#*')2! ! H1 !604!#(?$!(26!$@*$%&$25$!7&"#!94/6!02!9(&.'!(" !(..= !604;?$!'4%$.6!

#$(%3!01!&"'!<%$(" !b9K!Gb/Z$5"!9$.("&02(.!K(**&2<I!*(58(<$!\5"&?$9$50%3=!/4"!3&3!

604!8207!604!5(2!4'$!\5"&?$9$50%3!7&"#04"!9(&.'A! !H";'!%$(..6!f4&"$!'&>*.$!025$!604!

'$$!&"!&2!(5"&02,!!:04!1&%'"!2$$3!"0!>(8$!'4%$!604!#(?$!&"!&2'"(..$3!"6*&2<!"#$!10..07&2<!

&2!(!94/6!1&.$!(23!%422&2<!&",

!-`"%!-(L!"#$=-)2L(( !-`"%!-(L6*4%1-!-*+!,L

H1!604!<$"!(2!$%%0%=!"#$2!>(8$!'4%$!604!#(?$!&2'"(..$3!94/6Y$>',!!H1!604!302;"=!&2'"(..!

&",!!H1!604!30!#(?$!94/6Y$>'!&2'"(..$3!(23!.(58!\5"&?$9$50%3=!"#$2!$2"$%!=-)(%5246..(

6*4%1-!-*+!,!!&2!(!502'0.$!"0!&2'"(..!\5"&?$9$50%3,

-0!<$"!\5"&?$9$50%3!<0&2<!&2!604%!(**.&5("&02=!604!$''$2"&(..6!604!&>*0%"!"#$!

<$>'!.&/%(%6!(23!\5"&?$9$50%3=!502'"%45"!(!5021&<4%("&02!"#("!704.3!20%>(..6!.&?$!&2!

( ! 9(&.' ! 3("(/('$ ! 5021&<4%("&02 ! 1&.$ ! G&,$,= ! 5021&<`3("(/('$,6>.I= ! 3$1&2$ ! 604%!

\5"&?$9$50%3!5.(''$'=!"#$2!5(..!>$"#03'!02!"#$>,!!Q0%!$@(>*.$=!.$";'!5%$("$!(!3("(/('$!

&2!604%!1(?0%&"$!3("(/('$!'$%?$%!G$,<,=!>6NhX=!O0'"<%$NhX=!(23!'0!02I!(23!(!"(/.$!

2(>$3!*$0*.$!"#("!#('!"#%$$!1&$.3'C!2(>$=!Z0/=!(23!.05("&02,!!H2'$%"!(!1$7!%07'!(23!.$";'!

>(*!"#("!&2"0!(2!\5"&?$9$50%3!(**.&5("&02,

!-`"%!-(L!"#$=-)2L!-`"%!-e=-)(L6*4%1-!-*+!,L

O*4%1-I-*+!,WWi62-/-246#.%28e*+55-*4%+5F((W6,634-!((Eq(@)$2`.@B((W8+24(Eq(@.+*6.8+24@B((W,646#62-(Eq((@4-24@B((W"2-!56)-(Eq((@!++4@B((W36227+!,(Eq((@@G

*.622(w-!2+5(d(O*4%1-I-*+!,WWi62--5,

)$3-+3.-(E(w-!2+5/&%5,FW6..G3"42(@P+46.(.-5=48W(QR)$3-+3.-/.-5=48S@

C..*+,D(927.,:(=.52!!!)*"

Page 120: Humble Little Ruby Book

"!!P+46.(.-5=48W(:<

)$3-+3.-/-6*8(,+(x3-!2+5+#Kx((3"42(@A-..+(QR3-!2+5+#K/56)-SB(QR3-!2+5+#K/K+#S/@-5,

"!!A-..+(V)+=-5B(*8%.,(32$*8%64!%24(65,(2"3-!8-!+/

\' ! 604 ! 5(2 ! '$$= ! %("#$% ! "#(2 ! #(?&2< ! ( ! *%$F502'"%45"$3 ! 5021&<4%("&02= ! "#$!

-246#.%28e*+55-*4%+5!>$"#03!&'!1$3!(!.02<$%!'$"!01!*(%(>$"$%',! !-#$2=!(!5.(''!"#("!

&2#$%&"'!1%0> !O*4%1-I-*+!,WWi62-(&'!5%$("$3!"#("!&'!"#$!'&2<4.(%!10%>!01!"#$!"(/.$!

2(>$!7$!>(3$!$(%.&$%=!#$25$!w-!2+5!10%!"#$!"(/.$!3-+3.-!G"#&'!&'!*(%"!01!"#$!>(<&5!01!

\5"&?$9$50%3IP ! "#&' !>(*' ! "#$ ! "(/.$ ! "0 !( ! 5.('' ! "#(" ! 604 !5(2! &2'"(2"&("$ !(23 !4'$ ! "0!

>(2&*4.("$ ! %07' ! &2 ! "#$ ! 3("(/('$ ! G5#$58 ! 04" ! "#$ !\5"&?$9$50%3 ! 3054>$2"("&02 ! ("!

#""*C``(*&,%4/602%(&.',0%<`! 10% ! >0%$ ! &210%>("&02 ! 02 ! 7#(" ! 604 ! 5(2 ! 30 ! 7&"#!

\5"&?$9$50%3!0/Z$5"'I,!!

!"#$%&"'()*+ %%

:04!.$(%2$3!(/04"!94/6;'!2$"70%8&2<!1(54."&$',!!:04!.$(%2$3,,,

! (/04"!94/6;'!/('&5!2$"70%8&2<!5(*(/&.&"&$'!7&"#!-)ON058$"`-)ON$%?$%,

! #07!"0!4'$!D--O!2$"70%8&2<!7&"#!94/6,

! 502'4>$!7$/!'$%?&5$'!7&"#!94/6,

! (/04"!]9/!(23!94/6;'!3&'"%&/4"$3!50>*4"&2<!5(*(/&.&"&$',

! #07!"0!5022$5"!"0!(!3("(/('$!7&"#!94/6,

)*#!!!C..*+,D(927.,:(=.52

Page 121: Humble Little Ruby Book

'

8$%1(#(@+-3#3IG

\'!604;?$!'$$2=!94/6!*%0?&3$'!(!24>/$%!01!!/4&."F&2!5.(''$'!10%!604!"0!(55$''P!&"!#('!(!

#4<$ ! .&/%(%6 !01 ! 1425"&02' ! "0 ! 50?$% !(26"#&2< ! 1%0>!'&>*.$ ! "$@" ! &2*4" !(23 !04"*4" ! "0!

2$"70%8&2<!"0!>4."&>$3&(!G20"!5042"&2<!"#$!/0("!.0(3!01!"#&%3!*(%"6!.&/%(%&$'!1.0("&2<!

(/04"I, ! !B$;?$ ! "(8$2 ! ( ! .008 !(" ! '0>$ !01 ! "#$ !>0%$ ! J"(%<$"$3J ! 5.(''$' ! G&,$,= !7&2VR=!

2$"70%8&2<=!(23!'0!02I=!/4"!H!7(2"!"0!"(8$!'0>$!"&>$!"0!3$?0"$!(!%$(..6!f4&58!0?$%?&$7!

"0!(!1$7!5.(''$'!"#("!(%$!>0%$!>&'5$..(2$04'!&2!2("4%$,

97:8>A(06>8L;@678?>

94/6;'!'"%&2<!'4**0%"!$('&.6!%&?(.'!"#("!01!O$%. !(23!0"#$%!J*07$%J!.(2<4(<$',! !\'!(!

>(""$%!01!1(5"=!H;?$!#$(%3!"#("!7#$2!X(%%6!B(..!<0$'!#0>$!("!2&<#"!#$!'$5%$".6!>002!

.&<#"'!('!(!94/6!*%0<%(>>$%,! !]02;"!"$..!(2602$!H!"0.3!604,! !-#$%$!(%$!"70!7(6'!"0!

>(2&*4.("$!'"%&2<'C!&2'"(25$!>$"#03'!02!'"%&2<!0/Z$5"'!(23!%$<4.(%!$@*%$''&02',

8,1$#,&2(02$".B1

94/6 ! '"%&2<' ! (%$= ! 01 ! 504%'$= ! 0/Z$5"'= ! (23 ! (' ! '45#= ! 011$% !>$"#03' ! "0 !>(2&*4.("$!

"#$>'$.?$'!&2!(!?(%&$"6!01!7(6',! !Q&%'"!7$!7&..!.008!("!"#$!'&>*.$'"!>(2&*4.("&02!01!(!

'"%&2<C!"#$!'*.&5$,! !-#$!1&%'"!7(6!H;3!.&8$!"0!'#07!'*.&5&2<!&'!"#$!'*.&5$!0*$%("0%P!"#&'!

0*$%("0%!&'!4'$3!Z4'"!.&8$!"#$!(%%(6!0*$%("0%!G&,$,!&"!4'$'!"#$ !+#K-*4o%5,-'p! 10%>!"0!

%$1$%$25$!(23!'$"!"#$!?(.4$!01!$.$>$2"'I!7&"#!(!1$7!.&"".$!'"%&2<!'*$5&1&5!$@"%(',! !Q0%!

$@(>*.$C

48-e6.386#-4(E(@OiTMnhgAVrvsUcJw_I]P{zC�f~@3"42(48-e6.386#-4om//Xp

"((OiT

3"42(48-e6.386#-4o@AVr@p

"((AVr

3"42(48-e6.386#-4o:BXp

"((iT

E$%1(#(C+-3#37<!!!)*$

Page 122: Humble Little Ruby Book

48-e6.386#-4o:p(E(@\@3"42(48-e6.386#-4

"((O\TMnhgAVrvsUcJw_I]P{zC�f~

\'!(2!(."$%2("&?$=!604!5(2!4'$!"#$!2.%*-!>$"#03!"0!<%(/!$.$>$2"'!&2!(!'&>&.(%!>(22$%C

3"42(48-e6.386#-4/2.%*-FmB(ZG

"((OiT

3"42(48-e6.386#-4/2.%*-Fm//jG

"((OiTMnh

b25$!604!#(?$!604%!'"%&2<!3("(!'.&5$3!(23!3&5$3!Z4'"!"#$!7(6!604!7(2"!&"=!604!

5(2!>(2&*4.("$!&"!&2!(!24>/$%!01!7(6'P!"#$'$!>$"#03'!&25.43$!7(6'!"0!5#(2<$!5('$=!

$3&"!5$%"(&2!502"$2"=!0%!<$2$%(..6!1&2(<.$!7&"#!"#$!'"%&2<,!!D$%$!(%$!'0>$!$@(>*.$'C

6e24!(E(@V(.%?n(P+(U-2](7%48(]PIVcg]\@

6e24!/,+75*62-

"((%(.%?-(4+()-22(7%48(24!%5=2\

6e24!/"3*62-

"((V(sVvn(PJ(Un]](CVPA(]PIVcg]\

6e24!/2763*62-

"((%(sVv-(4J()n]2(CVPA(24!%5=2\

6e24!/*63%46.%9-

"((V(.%?-(4+()-22(7%48(24!%5=2\

6e24!/*63%46.%9-\3"42(6e24!

"((V(.%?-(4+()-22(7%48(24!%5=2\

6e24!/2`"--9-

"((V(.%?-(4+()-2(7%48(24!%5=2\

-#$!2(>$'!01!"#$'$!>$"#03'!'#04.3!>(8$!"#$&%!4'(<$!0/?&04'=!7&"#!"#$!$@5$*"&02!01!

2`"--9-!7#&5#!7&..!%$>0?$!'$"'!01!"#$!'(>$!5#(%(5"$%!(23!%$*.(5$!"#$>!7&"#!(!'&2<.$!

&2'"(25$!01!"#("!5#(%(5"$%!G&,$,!J)-22J!&'!207!J)-2JIP!$(5#!01!"#$'$!>$"#03'!(.'0!011$%'!

(2!J&2!*.(5$J!?$%'&02!('!3$>02'"%("$3!/6!*63%46.%9-\,!!

-#$!%52-!4!>$"#03!(..07'!604!"0!&2'$%"!(!'"%&2<!("!(!<&?$2!&23$@P!/$!5(%$14.!

/$5(4'$!"#&'!>$"#03!7&.. !>03&16!"#$!'"%&2<!&2!*.(5$!GH;>!20"!'4%$!7#6!"#&'!>$"#03!

.(58'!(!\=!/4"!&"!30$'IC

%54+(E(@:XZ<j@%54+/%52-!4FXB(@snPPnI]\@G3"42(%54+

"((:XsnPPnI]\Z<j

b2!"#$!0"#$%!#(23=!604!5(2!4'$!"#$!,-.-4-!>$"#03!"0!%$>0?$!5#(%(5"$%'!0%!(!%(2<$!01!

5#(%(5"$%'!1%0>!(!'"%&2<C

=+5-(E(@=+4(=+5-(&++.\@=+5-/,-.-4-F@+@B(@!01@G3"42(=+5-

"((=(=5-(&.\

)*%!!!E$%1(#(C+-3#37<

Page 123: Humble Little Ruby Book

O.(5&2<!(!#6*#$2!/$"7$$2!"70!.$""$%'!7&.. !"$.. !94/6!"0!5%$("$!(2!&25.4'&?$!G&,$,!(.'0!

&25.43$!"#$!.07$%!(23!4**$%!.&>&"!5#(%(5"$%'=!'45#!('!!!(23!1!&2!"#$!$@(>*.$I!%(2<$!01!

5#(%(5"$%', ! ! :04 ! 5(2 ! 4'$ ! "#&' ! "$5#2&f4$ ! 7&"# ! ( ! 24>/$% ! 01 ! >$"#03'= ! /4" ! &" ! &'!

$@5$*"&02(..6!4'$14.!7&"#!3$.$"$,

9$>0?&2<!"#$!.('"!5#(%(5"$%!1%0>!(!'"%&2<!5(2!/$!%$(..6!(2206&2<!(23!>45#!

.02<$%!"#("!&"!'#04.3!/$!&2!'0>$!.(2<4(<$'!GH;>!.008&2<!%&<#"!("!604!ODOIP!10%"42("$.6=!

.&8$!(26!<003!.(2<4(<$!"#("!#('!'"%&2<'=!94/6!011$%'!*8+)3!(23!*8+3C

-64e)-(E(@O(.+4(+&(.-44-!2N5@-64e)-/*8+)3

"((O(.+4(+&(.-44-!2

-64e)-/*8+3

"((O(.+4(+&(.-44-!

-64e)-/*8+)3F@4-!@G

"((O(.+4(+&(.-4

-#$ !*8+)3!>$"#03!7&..!%$>0?$!"#$!%$50%3!'$*(%("0%!G'"0%$3!&2!"#$!<.0/(.!0/Z$5" !|>I!

1%0>!"#$!$23!01!(!'"%&2<P!&1!|>!#('2;"!/$$2!5#(2<$3!1%0>!"#$!3$1(4."=!"#&'!>$(2'!&"!7&..!

%$>0?$ !N5= !N!N5= !(23 !N!! G$''$2"&(..6!(26!'0%"!01!2$7.&2$!5#(%(5"$%I, ! !:04!5(2!(.'0!

'*$5&16!7#("!"0!*8+)3!/6!*(''&2<!&"!&2!('!(!*(%(>$"$%!('!&2!"#$!.('"!$@(>*.$,!!-#$!*8+3(

>$"#03!7&..!'&>*.6!5#0*!011!"#$!.('"!5#(%(5"$%!%$<(%3.$''!01!7#("!&"!&'!G20"$C!&"!7&..!"%$("!

v%v2!('!02$!5#(%(5"$%I,!!

H1!604!'&>*.6!2$$3!"0!%$>0?$!"#$!7#&"$'*(5$!1%0>!"#$!/$<&22&2<!(23`0%!$23!

01!(!'"%&2<=!"#$2!4'$!02$!01!"#$!'"%&*!>$"#03'C!.24!%3= !!24!%3=!0%!'&>*.6!24!%3,! !Q0%!

$@(>*.$C

24!%33-!(E(@((((s6(,%(,6\((((N4@3"42(@o@(H(24!%33-!/.24!%3(H(@p@

"(os6(,%(,6\(((( p(

3"42(@o@(H(24!%33-!/!24!%3(H(@p@

"(o(((((s6(,%(,6\p

3"42(@o@(H(24!%33-!/24!%3(H(@p@

"(os6(,%(,6\p

H1!&"!&'2;"!0/?&04'!1%0>!"#$!$@(>*.$'=!"#$!.24!%3!(23!!24!%3!>$"#03'!'"%&*!011!(26!'0%"!

01!7#&"$'*(5$!G&,$,!'*(5$'=!"(/'=!2$7.&2$'=!$"5,I!1%0>!(!'"%&2<!02!"#$!.$1"!0%!%&<#"!'&3$=!

%$'*$5"&?$.6,!!-#$!24!%3!>$"#03!'"%&*'!7#&"$'*(5$!1%0>!/0"#!'&3$',

-#$ !23.%4! >$"#03 !7&.. ! *%0/(/.6 !/$ ! 02$ !01 ! 604% !>0'" ! 01"$2 !4'$3 ! '"%&2<!

>$"#03'P!&"!/%$(8'!(!'"%&2<!&2"0!'4/'"%&2<'!/('$3!02!(!'*$5&1&$3!3$.&>&"$%,!!-#(";'!(!/&"!

01!(!>04"#!14..=!'0!.$"!>$!'#07!604!(2!$@(>*.$C

#!-6?6#.-(E(@#!-6?B%4B,+75B&++.\@#!-6?6#.-/23.%4F@B@G

"(o@#!-6?@B(@%4@B(@,+75@B(@&++.\@p

-#$!23.%4!>$"#03!/%$(8'!(!'"%&2<!&2"0!*&$5$'P!"#$'$!*&$5$'!(%$!10%>$3!/6!/%$(8&2<!"#$!

'"%&2<!("!(!3$.&>&"$%=!%$>0?&2<!"#("!3$.&>&"$%=!(23!*.(5&2<!"#$!%$>(&2&2<!*&$5$'!&2"0!(2!

E$%1(#(C+-3#37<!!!)*&

Page 124: Humble Little Ruby Book

(%%(6,! !-#&'!(..07'!604!"0!"#$2!4'$!(2!&"$%("&2<!.00*!"0!<0!0?$%!"#$!50..$5"&02!(23!30!

?(%&04'!0*$%("&02'!02!"#$!3("(!7&"#&2,

c4"!7#("!&1!604!2$$3!"0!30!(2!0*$%("&02!"#("!&'2;"!(..07$3!02!(!'"%&2<A! !Q0%!

$@(>*.$=!604!7(2"!"0!30!'0>$!(%&"#>$"&5!02!'0>$!24>/$%'!604!%$(3!&2!1%0>!(!"$@"!

1&.$=!/4"!"$@"!1%0>!1&.$'!&'!(.7(6'!%$(3!&2!('!'"%&2<',! !94/6!011$%'!"#$ !4+e&((23 !4+e%(

>$"#03'!"0!(..07!Z4'"!"#("C

5")-!%*6.e24!%5=(E(@:XZ<@

5")-!%*6.e24!%5=(H([

"(\(P$3-n!!+!

5")-!%*6.e24!%5=/4+e&(H([/k

"(:X<m/k

H";'! &>*0%"(2"!"0!%$>$>/$%!"#("!(.. !3("(!%$(3!1%0>!'058$"'=!1&.$'= !(23!4'$%'!7&.. !/$!

'"%&2<'P!&1!604!*.(2!02!30&2<!(26!'0%"!01!>("#!7&"#!"#&'!3("(=!604!>4'"!%42!&"!"#%04<#!

02$!01!"#$'$!>$"#03'!1&%'",

:2N')#3(FET3211+.,1

H !>$2"&02$3!%$<4.(%!$@*%$''&02'!&2!*(''&2<!$(%.&$%!'0!"#$!(**$(%(25$!01!"#$!'62"(@!

704.32;"!50214'$!604!&1!604!7$%$!.008&2<!("!94/6!$@(>*.$'!$.'$7#$%$P!207!H;3!.&8$!"0!

"(8$!'0>$!"&>$!"0!3&'54''!7#("!%$<4.(%!$@*%$''&02'!(%$!(23!#07!&25%$3&/.6!4'$14.!"#$6!

5(2!/$,

Q&%'".6= ! .$"!>$!'(6!"#("!H!(>!20"!<0&2<!"0!<&?$!604!(!<%(23!"04%!01!%$<4.(%!

$@*%$''&02'=!20%!7&..!H!/0%$!604!7&"#!(!/&0<%(*#6!01!#&'!"#&%3!504'&2=!N(>4$.!3$.!Q4$<(!

Hg,!!H!7&..=!#07$?$%=!*%0?&3$!'0>$!?$%6!%43&>$2"(%6!$@(>*.$'!7#$%$/6!H!5(2!'#07!"#$!

4'(<$!01!"#$'$!>$"#03'!4+5@'10%!"#$!'*$5&(.!*%&5$!01!+,;0"+#'4;'466=!H!(>!*%0?&3&2<!(2!

(**$23&@!7&"#!_9X'!01!*(<$'!"0!?&'&"!&1!604;3!.&8$!"0!1&23!04"!>0%$!(/04"!"#$!3(%8!5%(1"!

01!%$<4.(%!$@*%$''&02'!G&";'!&2!\**$23&@!\I,!!\%$2;"!604!$@5&"$3A!!X$";'!*%05$$3,

\!%$<4.(%!$@*%$''&02!G'0>$"&>$'!5(..$3!(!%$<$@*!0%!%$<$@I!&' !(!'"%&2<!"#("!

3$'5%&/$'!0%!>("5#$'!(!'$"!01!0"#$%!'"%&2<'=!(550%3&2<!"0!(!'$"!01!'62"(@!%4.$',!-#$&%!

4'$' !%(2<$!1%0>!'&>*.$!'$(%5#$'!"0! 14.. !'"%&2<!"%(2'10%>("&02! &2?0.?&2<!'$(%5#&2<=!

%$*.(5&2<= !(23!'#&1"&2<!01!3("(, ! !-#$6;%$!( !3$.&<#"14. !(33&"&02!"0!(26!*%0<%(>>&2<!

.(2<4(<$=!(!4'$14.!"00.!10%!'"%&2<!>(2&*4.("&02=!(23!>(8$!(!3$.$5"(/.$!"0**&2<!10%!(26!

3$''$%",

9$<4.(%!$@*%$''&02'!#(?$!(!%&5#!'62"(@!7#&5#!(..07'!604!"0!30!(!24>/$%!01!

"#&2<'=!/4"!10%!"#$!'(8$!01!/%$?&"6!(23!'(2&"6!01!'50*$=!H!7&..!4'$!?$%6!'&>*.$!%$<4.(%!

$@*%$''&02',! !:04!7&..!2$$3!"0!<0!(23!%$(3!(2!&2"%0345"&02!"0!%$<4.(%!$@*%$''&02'!"0!

14..6!(23!$('&.6!423$%'"(23!7#("!&'!<0&2<!02=!/4"!*$%#(*'!604!5(2!<("#$%!7#(";'!<0&2<!

02!7&"#04"!&",

X$";'!/$<&2!/6!.008&2<!("!"#$!'&>*.$'"!4'$!01!%$<4.(%!$@*%$''&02'C!>("5#&2<,!

:04!5(2!'$(%5#!7&"#&2!(!'"%&2<!4'&2<!%$<4.(%!$@*%$''&02'!$('&.6P ! .$";'!'(6!604!7$%$!

7(2"&2<!"0!'$$!&1!(!'"%&2<!7('!(!'4/'"%&2<!01!(20"#$%!'"%&2<,!!:04!504.3!30!"#&'C

)*'!!!E$%1(#(C+-3#37<

Page 125: Humble Little Ruby Book

)64*8)6?-!(E(@VL)(6(*+7#+$B(#6#$\@

)64*8)6?-!(Eu(>*+7>

"([

)64*8)6?-!/)64*8F@*+7@G

"(QdU64*8M646Wm'[:,Z:Xmq

_'&2<!"#$!Eu!7&..!%$"4%2!"#$!&23$@!01!"#$!1&%'"!>("5#!01!"#$!*(""$%2=!/4"!4'&2<!"#$!)64*8(

>$"#03!01 !( !'"%&2<= !604!5(2!<$" !( !U64*8M646! 0/Z$5" !7#&5#!<&?$' !604!(!24>/$%!01!

0*"&02'!10%!(55$''&2<!"#$!>("5#$',!!Q0%!$@(>*.$C

)$e)-226=-(E(@A-..+(48-!-\@)$e)-226=-/)64*8F>F//GF//G>G/*634"!-2

"!!o@A-@B(@..@p

_'&2<!"#$!5(*"4%$'!>$"#03=!604!5(2!<%(/!"#$!>("5#$'!10%!$(5#!$@*%$''&02P!"#$!4+e6(

>$"#03!7&..!011$%!604!'&>&.(%!04"*4"!/4"!7&..!(.'0!"(<!02!"#$!14..6!>("5#$3!'"%&2<,!!-#("!

7('!'0%"!01!(!'&..6!$@(>*.$=!'0!.$";'!.008!("!(!>0%$!*.(4'&/.$!$@(>*.$,!!N(6!604!7(2"$3!

"0!<%(/!"#$!"$@"!/$"7$$2!"70!3$.&>&"$%'P!#$%$!&'!02$!7(6!"0!30!&"C

84).e-.-)-54(E(@d84).q@)$e-.-)-54e4-'4(E(84).e-.-)-54/)64*8F@FdGF/YGFqG@G/*634"!-23"42()$e-.-)-54e4-'4o:p

"!!84).

H1 !604;%$! "#$!54%&04'!"6*$= !604!5(2! .008!&2!"#$!94/6!\OH!]054>$2"("&02!10% !>0%$!

&210%>("&02!02!"#$!U64*8M646!5.('',

H1!604;3!.&8$!"0!8&58!04"!"#$!>&33.$!>(2!(23!'&>*.6!<$"!(2!(%%(6!01!>("5#$'!

/(58!1%0>!"#$!>$"#03=!604!5(2!4'$!"#$!2*65!>$"#03C

)$e)-226=-(E(@A-..+(48-!-\@)$e)-226=-/2*65F>F//GF//G>G

"!!oo@A-@B(@..@pB(o@+(@B(@48@pB(o@-!@B(@-\@pp

b"#$%!"#(2!"#$!3&11$%$25$!&2!%$"4%2!"6*$!/$"7$$2!"#$!"70!>$"#03'= !)64*8! (23 !2*65(

(.'0!3&11$%!&2!J<%$$3&2$'',J!!\!J<%$$36J!%$<4.(%!$@*%$''&02!0%!>$"#03!7&..!>("5#!$?$%6!

0554%%$25$!01!(!*(""$%2!%("#$%!"#(2!Z4'"!>("5#&2<!02$,!!-#$!2*65!>$"#03!&'!<%$$36P!&"!

7&..!>("5#!$?$%6!0554%%$25$!01!(!*(""$%2!&2!(!'"%&2<!G20"$C!604!5(2!>(8$!)64*8!<%$$36!

4'&2<!(!5$%"(&2!8&23!01!%$<4.(%!$@*%$''&02I,

\20"#$% ! 4'(<$ ! 01 ! %$<4.(% ! $@*%$''&02' ! &' ! '4/'"&"4"&02P ! '4/'"&"4"&02 ! 4'&2<!

%$<4.(%!$@*%$''&02'!&'!?$%6!1.$@&/.$!&1!604!4'$!"#$!%&<#"!50>/&2("&02!01!*0"$2"!%$<4.(%!

$@*%$''&02',! !\<(&2=!/$5(4'$!H!30!20"!3&'54''!(3?(25$3!%$<4.(%!$@*%$''&02'=!"#$!"%4$!

4'$14.2$'' !01 ! "#&' ! "$5#2&f4$ !702;" ! %$(..6 ! %$<&'"$%= !/4" ! H !#0*$ ! "#(" ! 604 !7&.. ! "(8$ !(!

'$%&04'!.008!("!%$<4.(%!$@*%$''&02'!(23!4'$!"#$>!"0!604%!(3?(2"(<$,! !-0!'4/'"&"4"$!

4'&2<!(!%$<4.(%!$@*%$''&02=!604!4'$!"#$!2"#!0%!=2"#!>$"#03!01!(!'"%&2<!&2'"(25$C

=+e676$(E(@U$(56)-(%2(h!-6?(c624$\@

=+e676$/2"#F@$@B(@+@G

"!!U+(56)-(%2(h!-6?(c624$\

E$%1(#(C+-3#37<!!!)*(

Page 126: Humble Little Ruby Book

=+e676$/=2"#F@$@B(@+@G

"!!U+(56)-(%2(h!-6?(c624+\

=+e676$/2"#F@h!-6?(c624$@B(@h!-,(r+5-2@G

"!!U$(56)-(%2(h!-,(r+5-2\

-#$!2"#!>$"#03!7&..!02.6!%$*.(5$!"#$!1&%'"!>("5#!10%!"#$!*(""$%2=!/4"!"#$!=2"#!>$"#03!

&'!<%$$36!GH;>!'4%$!"#$!=!3&32;"!<&?$!&"!(7(6I!(23!7&..!%$*.(5$!$?$%6!>("5#,!!\<(&2=!"#$!

<%$$3&2$''!01!$(5#!>$"#03!5(2!/$!<(<$3!/6!"#$!4'(<$!01!5$%"(&2!%$<4.(%!$@*%$''&02!

502'"%45"',! !-#$!>0%$!*07$%14.!%$<4.(%!$@*%$''&02'!604!.$(%2=!"#$!>0%$!604!5(2!30!

7&"#!"#$>P!%$>$>/$%!"0!5#$58!04"!\**$23&@!\!10%!>0%$!&210%>("&02,

Q67F\780F

D(?$!604!$?$%!10423!604%'$.1!&2!"#$!3$.&=!/%07'&2<!"#$!#(>!(23!0"#$%!3$.$5"(/.$!>$("!

*%0345"'=!(23!"#$2!%$(.&L$3!"#("!604!.$1"!604%!5(.$23(%!&2!c$%>43(A!!-#("!#(**$2$3!"0!

>$!Z4'"!.('"!>&..$2&4>=!(23!.$"!>$!"$..!604=!H!1$."!?4.2$%(/.$,! ![0!5(.$23(%!>$(2'=!20!

3(6',!![0!3(6'!>$(2'!20!2&<#"'=!7#&5#!>$(2'!H!504.3!5"&:!!Q0%"42("$.6=!94/6!*%0?&3$3!

>$!7&"#!(!1(&%.6!4'$14.!3("$!(23!"&>$!.&/%(%6!"0!4'$!42"&.!H!504.3!<$"!>6!#(.1!/%0"#$%!&2!

.(7;'!*$"!>028$6;'!"%(&2$%;'!30<!"0!>(&.!>6!5(.$23(%!/(58!6$'"$%3(6,

-#$%$!(%$!"#%$$!3("$!(23!"&>$!5.(''$'!&2!"#$!94/6!.&/%(%6C !M64-= !P%)-=!(23!

M64-P%)-,! !H!#$(%3!(!%4>0%!"#(" !M64-!(23!P%)-!#008$3!&"!4*!(%0423!?$%'&02!T,S!(23!

<0"!M64-P%)-!(/04"!U!>02"#'!.("$%=!/4"!"#$2!(<(&2=!"#&'!'04%5$!(.'0!"0.3!>$!"#("!9(&.'!

7('!(!<$2".$>$2;'!5.4/!10%!94/6!*%0<%(>>$%',!!

Q#$21

-#$!1&%'"!5.(''!H;3!.&8$!"0!50?$%!&'!M64-P!"#&'!5.(''!'&>*.6!$@*0'$'!(2!&2"$%1(5$!"0!'"0%$=!

>(2&*4.("$=!(23!50>*(%$!3("$'!&2!(!94/6!(**.&5("&02,

)$,64-(E(M64-/5-7F:lllB([B(<G "!!:lll0m[0m<

)$,64-K,(E(M64-/K,FX<j:ZZ<G "!!:lll0m[0m<

)$,64-+!,(E(M64-/+!,%56.F:lllB(:jjG "!!:lll0m[0m<

)$,64-*+)(E(M64-/*+))-!*%6.F:lllB(XXB(jG "!!:lll0m[0m<

M64-/K,e4+e*%1%.FX<j:ZZ<G "!!o:lllB[B<p

M64-/K,e4+e*%1%.FX<j:ZZ<G "!!o:lllB[B<p

)$,64-3(E(M64-/36!2-F@:lll0m[0m<@G "!!:lll0m[0m<

\'!604!5(2!'$$=!5%$("&2<!(!M64-!&2'"(25$!&'!%("#$%!'&>*.$!&2!&"'!.&"$%(.!10%>P!'&>*.6!5(..!

2$7!G0%!"#$!*%1%.!>$"#03P!"#$!"70!(%$!'62026>'I=!*%0?&3&2<!(!3("$!('!"#$!10..07&2<!

*(%(>$"$%',! !-#&'!>$"#03!4'$'!"#$!3("$!10%>!7$!4'4(..6!'$$=!/4" !M64-! (.'0!'4**0%"'!

0"#$%!3("$!10%>',! !-#$ !K,! >$"#03!(..07'!604!"0!5%$("$!( !M64-! &2'"(25$!/('$3!02!(!

M4.&(2!3(6!24>/$%P!"#$ !+!,%56.!>$"#03!5%$("$'!( !M64-! 0/Z$5"!/('$3!02! !(!*%0?&3$3!

b%3&2(. ! 3("$= ! 0% ! ( ! 3("$ ! 5%$("$3 !*%0?&3&2< ! "#$ ! 6$(% ! (23 !3(6 !24>/$%P !*+))-!*%6.(

5%$("$' ! ( !M64-! 0/Z$5" ! 1%0> ! "#$ ! *%0?&3$3 !)0>>$%5&(. ! 3("$= ! 0% ! ( ! 3("$ ! 5%$("$3 ! /6!

*%0?&3&2<!"#$!6$(%=!7$$8!24>/$%=!(23!3(6!24>/$%,!!K$"#03'!(%$!*%0?&3$3!"0!502?$%"!

/$"7$$2!"#$'$!3("$!10%>'!(.'0!G$,<,= !*+))-!*%6.e4+eK,= !K,e4+e*%1%.= !(23!'0!02I,!

))*!!!E$%1(#(C+-3#37<

Page 127: Humble Little Ruby Book

-#$'$!(..!70%8!7$..!$204<#=!/4"!20"&5$!"#$!.('"!$@(>*.$!4'&2<!"#$!36!2-!>$"#03P!"#&'!

(..07'!604!"0!*(%'$!'"%&2<'!&2"0 !M64-!0/Z$5"',! !H!1&23!"#&'!&'!"#$!>0'"!&2"4&"&?$!7(6!01!

5%$("&2<!M64-!0/Z$5"'!'$5023!"0!4'&2<!"#$!5-7!>$"#03,

:04!5(2!(.'0!"$'" ! &2*4"!7&"#!?(%&04'!5.(''!>$"#03'=!(23=!025$!604!#(?$!(!

M64-!0/Z$5"=!<$"!(..!'0%"'!01!&210%>("&02!1%0>!&"!7&"#!(!1$7!&2'"(25$!>$"#03',!!

M64-/16.%,eK,DFZ;XlG( "!!Z;Xl

M64-/16.%,e*%1%.DF:lllB(:ZB(<ZG( "!!5%.

)$,64-/)+5 ( "!![

)$,64-/$,6$ ( "!!:jj

)$,64-/,6$ ( "!!<

\' ! 604 !5(2 ! '$$= ! 604 !5(2 ! "$'" ! &"' ! ?(.&3&"6 ! &2 !( ! 5$%"(&2 ! 10%>("= ! (23= !4'&2< ! &2'"(25$!

>$"#03'= ! 502?$%" ! /$"7$$2 ! "#$ ! 3&11$%$2" ! 10%>("', ! ! :04 ! 5(2 ! (.'0 ! <$" ! ?(%&04'!

50>*02$2"'!01!"#$!3("$=!'45#!('!"#$!6$(%!3(6!G$,6$I=!>02"#!G)+5I=!(23!'0!02,!!:04!5(2!

(.'0!50>*(%$!(23!>(2&*4.("$!3("$'!4'&2<!'"(23(%3!0*$%("0%',

,64-:(E(M64-/5-7F:l;jB(ZB(:;G,64-X(E(M64-/5-7F:l;jB(jB(jG

,64-:(d(,64-X "!!4!"-

,64-:(EE(,64-X "!!&6.2-,64-Z(E(,64-:

,64-:(EE(,64-Z "!!4!"-

,64-:(dd(Z "!!:l;<0:X0:;

,64-X(qq(j "!!:l;j0:m0mj

\'!604!5(2!'$$=!50>*(%&2<!3("$'!&'!Z4'"!.&8$!50>*(%&2<!(!'"(23(%3!24>$%&5(.!?(.4$!0%!

'0>$"#&2<!'&>&.(%P!(!3("$!"#("!50>$'!/$10%$!(20"#$%!3("$!&'!Z43<$3!"0!/$!J.$''!"#(2JP!(!

3("$!"#("!50>$'!(1"$%!&'!Z43<$3!"0!/$!J<%$("$%!"#(2,J! !:04!5(2!(.'0!4'$!"#$!qq!(23!dd(

0*$%("0%!"0!(33!0%!'4/"%(5"!>02"#'!G'$$!"#$!.('"!"70!$@(>*.$'I,!![07!"#("!604!#(?$!(!

1(>&.&(%&"6!7&"#!"#$!M64-!5.(''=!.$";'!>0?$!02!"0!"#$!P%)-!5.('',

7+H21

-#$!P%)-!5.(''!&'!?$%6!'&>&.(%!&2!1425"&02!"0!"#$!M64-!5.(''=!$@5$*"!&"!5025$2"%("$'!02!

"&>$'!(23!"&>$'"(>*'!%("#$%!"#(2!'&>*.6!3("$',! !K45#!.&8$!"#$ !M64-! 5.(''=!?(%&04'!

502'"%45"0%'!(%$!(?(&.(/.$,

!%=845+7(E(P%)-/5-7!!

"!!]"5(]-3(:m(X:WZ[W:j(n624-!5(M6$.%=84(P%)-(Xmm[

P%)-/64FlZ<lZ<lZXG

"!!P"-(O"=(:k(XmWm;WjX(n624-!5(M6$.%=84(P%)-(:lll

P%)-/.+*6.FXmmmB@K65@B:BXmB:jB:G

"!!]64(r65(m:(XmW:jWm:(n624-!5(]465,6!,(P%)-(Xmmm

P%)-/"4*FXmm[B(mjB(X:B(jB(:ZG

"!!]"5(U6$(X:(mjW:ZWmm({PT(Xmm[

E$%1(#(C+-3#37<!!!)))

Page 128: Humble Little Ruby Book

P%)-/36!2-F@P"-(r"5(:Z(:<W:jWm:(n624-!5(]465,6!,(P%)-(Xmmj@G

"!!P"-(r"5(:Z(:<W:jWm:(n624-!5(M6$.%=84(P%)-(Xmm[

\'!604!5(2!'$$=!604!5(2!5%$("$!(!2$7!P%)-!0/Z$5"!"#("!#0.3'!"#$!?(.4$'!10%!"#$!54%%$2"!

"&>$!(23!"&>$L02$!/6!'&>*.6!5(..&2<!5-7(G0%!0*"&02(..6=!5+7P!"#$6!30!"#$!'(>$!"#&2<I,!

H1 !604!%$f4&%$ !( !5$%"(&2!"&>$= !604!5(2!4'$ !64= !7#&5#!0*$%("$' !02!$*05#!"&>$!G&,$,=!

'$5023'!1%0>!M(24(%6!T'"=!TUj+IP!604!5(2!(.'0!4'$!"#$!"4*!(23!=)!>$"#03'!"0!5%$("$!

"&>$'!/('$3!02!"#0'$!"&>$'L02$'!(23!"#$!*%0?&3$3!*(%(>$"$%'!G0%!"#$!.+*6.!>$"#03!

"0!4'$!"#$!54%%$2"!.05(.!"&>$L02$I,! !:04!5(2=!Z4'"!.&8$!M64-=!4'$!"#$!36!2-!>$"#03!"0!

*(%'$!(!"&>$'"(>*!&2"0!(!P%)-!0/Z$5",

-#$ !P%)-! 5.('' !(.'0 !011$%' !( ! 1$7 ! &2'"(25$ !>$"#03' ! "#(" !(..07!604 ! "0 !<$"!

*0%"&02'!01!"#$!0/Z$5";'!?(.4$=!502?$%"!"#$!?(.4$=!(23!04"*4"!"#$!?(.4$!&2!0"#$%!10%>("',

!%=845+7(E(P%)-/5-7

"!!]"5(]-3(:m(X:W<XWZm(n624-!5(M6$.%=84(P%)-(Xmm[

!%=845+7/8+"!

"!!X:

!%=845+7/)+5

"!!l

!%=845+7/,6$

"!!:m

!%=845+7/4+e%

"!!::j;j<Zkjm

!%=845+7/4+e2

"!!]"5(]-3(:k(X:W<XWZm(n624-!5(M6$.%=84(P%)-(Xmm[

\'!604!5(2!'$$=!"#$!>$"#03'!10%!-&>$!(%$!?$%6!'&>&.(%!"0!M64-!7&"#!%$<(%3'!"0!<$""&2<!

*0%"&02'!01!"#$!?(.4$=!(23!(.'0!20"&5$!"#("!604!5(2!502?$%" !"#$ !P%)-! 0/Z$5!"0!0"#$%!

5.(''$'=!'45#!('!(!h%'5"),

X$";' ! 5025$2"%("$ ! 02 ! 02$ ! &2'"(25$ !>$"#03 ! 10% ! ( !>0>$2"P ! "#$ !24!&4%)-(

>$"#03!&'!(!?$%6!4'$14.!>$"#03!"#("!(..07'!604!04"*4"!(!"&>$'"(>*!&2!"#$!10%>("!01!

604%!5#0&5$!/6!*%0?&3&2<!604!7&"#!(!10%>(""&2<!&2"$%1(5$,!!-#&'!&2"$%1(5$!(5"'!?$%6=!?$%6!

'&>&.(%.6!"0 !3!%54&! &2 !)aaP!&" !4'$'!3$.&>&"$%'!.&8$ !^& ("0!&23&5("$! "#$!*.(5$>$2"!01!

?(.4$'!&2!"#$!04"*4"!'"%&2<,!!D$%$!(%$!(!1$7!$@(>*.$'C

!%=845+7(E(P%)-/5+7

!%=845+7/24!&4%)-F@^)>^,>^f@G

"!ml>:m>Xmm[!%=845+7/24!&4%)-F@^VW^U^3@G

"!mlW:ZwU!%=845+7/24!&4%)-F@P8-(^,48(+&(^i(%5(L^$@G

"!P8-(:k48(+&(]-34-)#-!(%5(Lm[!%=845+7/24!&4%)-F@^'@G

"!ml>:k>m[

))!!!!E$%1(#(C+-3#37<

Page 129: Humble Little Ruby Book

-#$!24!&4%)-!>$"#03!&'!02$!01!"#$!>0'"!50>*.$@!&2!"#$!P%)-!>034.$P!5#$58!04"!"#$!

P%)-! 5.('';' ! 3054>$2"("&02 ! (" !#""*C``777,%4/6F305,0%<`50%$`5.(''$'`-&>$,#">.! &1!

604;3!.&8$!>0%$!&210%>("&02!(/04"!24!&4%)-!(23!7#("!604!5(2!30!7&"#!&",

Q#$21(#,B(7+H21

!-#$!M64-P%)-!5.(''!50>/&2$'!"#$!*%$?&04'!"70!5.(''$'!&2"0!02$!502?$2&$2"!6$"!'.&<#".6!

.$''!$11&5&$2"!5.('',!!-#$!M64-P%)-!5.(''!&'!%$(..6!Z4'"!(!'4/5.(''!01!M64-!7&"#!'0>$!"&>$!

1425"&02(.&"6!'.(**$3!&2!"#$%$!10%!<003!>$('4%$P!&";'!(!1&2$!$23$(?04%!"0!/$!'4%$!/4"!20"!

%$(..6!70%"#!"#$!"&>$!&1!604!('8!>$,!!^?$2!'0=!&"!#('!'0>$!&2"$%$'"&2<!1425"&02(.&"6,

!%=845+7(E(M64-P%)-/5+7

"!Xmm[0ml0:mPX:Wj[W<j0m<mm

)6$4%)-(E(M64-P%)-/*%1%.FXmm[B(jB([G

"!XmmZ0mj0m[PmmWmmWmm~

36!2-,(E(M64-P%)-/36!2-F@Xmm[0mk0mZP::WjZWmX0m<mm@G

"!Xmm[0mk0mZP::WjZWmX0m<mm

36!2-,/8+"! "!::

36!2-,/,6$ "!Z

36!2-,/$-6! "!Xmm[

\'!604!5(2!'$$!&"!70%8'!?$%6!'&>&.(%.6!"0!"#$ !M64-! 5.(''P!604!5(2!502'"%45"!4'&2<!"#$!

?(%&04'!3("$!10%>("'!0%!*(%'$!(!3("$`"&>$!'"%&2<,! !\.'0!20"&5$!"#("!.&8$!"#$ !M64-! (23!

P%)-!5.(''$'=!604!5(2!f4$%6!?(%&04'!*(%"'!01!"#$!?(.4$!&2'&3$!"#$!0/Z$5",!!

:04!>(6!/$!'5%("5#&2<!604%!#$(3!%&<#"!207!('8&2<!7#&5#!02$!604!'#04.3!4'$!

(23!7#$2,! !O$%'02(..6=!H!704.3!2$?$%!4'$ !M64-P%)-=!/4"!%("#$% !P%)-!0% !M64-! &1!("!(..!

*0''&/.$,!!N0>$"&>$'!"#&'!&'!42(?0&3(/.$=!/4"!/$!(7(%$!"#("!4'&2<!Z4'"!M64-!0%!P%)-!&2!

.&$4 ! 01 !M64-P%)-! 6&$.33' ! (**%0@&>("$.6 ! d++n ! /$""$% ! *$%10%>(25$, ! ! N0>$"&>$'!

*$%10%>(25$=!.&8$!'&L$!(23!O0.(23=!30$'!>(""$%,

56958>A(6>Q(K:=L7?A:6L5=

N0>$"&>$'!604!'&>*.6!302;"!7(2"!*$0*.$!"0!/$!(/.$!"0!'$$!604%!3("(!"%(2'*(%$2".6P!H!

>$(2= !>(6/$!604;?$!<0" ! "#&' !%('#!"#(" !604!302;" !7(2" !*$0*.$ ! "0!8207!(/04", ! !b%!

>(6/$!"#$%$;'!'0>$"#&2<!604!Z4'"!7(2"!"0!10%<$"=!'0!604!#('#!&"!(23!2$?$%!70%%6!(/04"!

&"!(<(&2,!!Q0%42("$.6!10%!>$,,,$%=!H!>$(2!604,,,94/6!50>$'!'"058!7&"#!(!2$("!.&"".$!#('#!

.&/%(%6!(23!#('!(!<$>!"#("!5(2!/$!&2'"(..$3!"0!011$%!5%6*"0<%(*#6,

5#1"+,N

-#&28!01!#('#&2<!('!02$F7(6!$25%6*"&02P!#('#$'!(%$!$25%6*"$3!'"%&2<'!"#("!(%$!3$%&?$3!

1%0>!(!'"%$(>!01!3("(,! !-6*&5(.!4'$'!&25.43$!*(''70%3!?$%&1&5("&02!G&,$,=!604!'"0%$!"#$!

#('#!&2!"#$!3("(/('$=!"#$2!"$'"!4'$%!&2*4"!/6!#('#&2<!&"!(23!'$$&2<!&1!"#$!#('#$'!>("5#I!

(23!1&.$!?$%&1&5("&02!G&,$,=!"70!01!"#$!'(>$!1&.$!'#04.3!#(?$!"#$!'(>$!#('#I,!!94/6!011$%'!

"#$!"70!>0'"!50>>02!#('#!"6*$'=!K]W!(23!ND\FT=!('!/4&."F&2!>034.$',

E$%1(#(C+-3#37<!!!))"

Page 130: Humble Little Ruby Book

+FN! !K]W! &' ! "#$ !>0'" !7&3$.6 !4'$3 !5%6*"0<%(*#&5 !#('# ! 1425"&02 ! (%0423P ! &" !7('!

&2?$2"$3!&2!TUUS!('!(!'455$''0%!"0!K]S!/6!902(.3!9&?$'"=!(!*%01$''0%!("!KH-,! !H";'!

1(..$2!04"!01!>(&2.&2$!4'$!('!(!'$54%$!#('#!1425"&02!/$5(4'$!01!?4.2$%(/&.&"&$'!"#("!

#(?$ !/$$2! 10423= !/4" ! &";' ! '"&.. !4'$14. ! 10% !>("5#&2<!?(.4$' !(23!'45#, ! !94/6;' !K]W!

1425"&02(.&"6!&'2;"!f4&"$!('!$('6!('!'0>$"#&2<!.&8$!ODO!G&,$,=!),jFL$+"!(,646LGbI=!/4"!

&";'!'"&..!4'(/.$!(23!1%&$23.6!$204<#,

!-`"%!-(L,%=-24>),jL),j(E(M%=-24WWUMj/,%=-24FLV(861-(6(&%5-(1-24\LG

"!2�)F:!NZk:NZjZNmXkNZ[kNXZj"\NX[[Nmm:NX[X

),j(E(M%=-24WWUMj/8-',%=-24FLV(861-(6(&%5-(1-24\LG

"!kZj;[,X;Z:kX&l-#:k&kl,kjX:#[m:#X

-#$!K]W!5.(''!011$%'!"70!>$"#03'!10%!<$""&2<!(!#('#!3&<$'"P!"#$!1&%'"!&'!'&>*.6!"#$!

,%=-24! >$"#03,! !-#&'!%$"4%2'!(!*%$""6!42'(1$!/6"$!'"%$(>!01!"#$!#('#!3&<$'"P!H !'(6!

42'(1$!/$5(4'$!604!504.3!20"!$>/$3!"#&'!&2!'0>$"#&2<!.&8$!(2!eKX!0%!D-KX!G0%!

'0>$!3("(/('$'I!(23!$@*$5"!&"!"0!/$#(?$!*%0*$%.6,!!\!/$""$%!5#0&5$!10%!"#$'$!'&"4("&02'!

704.3!/$!"#$!8-',%=-24!>$"#03!G'$5023!$@(>*.$IP!"#&'!%42'!"#$!%$'4."'!01!"#$!#('#!

"#%04<#!(!/('$iS!#$@!(.<0%&"#>=!7#&5#!&'!1(256!"(.8!10%!(!>$"#03!"#("!>(8$'!&"!>0%$!

1%&$23.6,

&O</6!!-#$!ND\FT!#('#!(.<0%&"#>!&'!1(%!>0%$!'$54%$!"#(2!K]WP!"#04<#!'"&..!20"!"#$!

>0'"!'$54%$!G&,$,=!$@*.0&"'!%$*0%"$3.6!$@&'"!10%!&"I=!&"!'#04.3!70%8!10%!>0'"!'&"4("&02',!!H"!

&'!7&3$.6!4'$3!('!(!#('#&2<!(.<0%&"#>!&2!>(26!'$54%$!502"$@"'=!'45#!('!&2!*(58(<$'!

.&8$!-XN=!NNX=!OYO=!NND=!(23!HON$5,! !94/6!011$%'!"#$!'(>$!&2"$%1(5$!"0!"#$!ND\FT!

(.<0%&"#>!('!&"!30$'!"#$!K]W!(.<0%&"#>,

!-`"%!-(L,%=-24>286:L286:(E(M%=-24WW]AO:/,%=-24FLV(861-(6(&%5-(1-24\LG

"!NXXjrRRNXZZNmXjNXZ[NXkZNZ<<NmmZ�NXZZNZZ(o///p

286:(E(M%=-24WW]AO:/8-',%=-24FLV(861-(6(&%5-(1-24\LG

"!lj<6k#k#l#:jl-##-<mZj;l#,66;&l;:mmZ6X&#*

\'!604!5(2!'$$=!&"!1425"&02'!$@(5".6!"#$!'(>$!('!"#$!UMj!5.(''=!$@5$*"!604!<$"!(!'"%02<$%!

#('#,!![07!.$";'!<$"!(7(6!1%0>!#('#$'!(23!"(8$!(!.008!("!5%6*"0<%(*#6,

K3IT$.N3#T"I

94/6 ! 30$' ! 20" ! #(?$ ! 5%6*"0<%(*#&5 ! 5(*(/&.&"&$' ! /4&."F&2= ! '0 ! 604 ! #(?$ ! "0 ! %$'0%" ! "0!

&2'"(..&2<!(!<$>,!!H!<4$''!"$5#2&5(..6!"#&'!&'2;"!(!94/6!/4&."F&2!.&/%(%6=!/4"!&";'!&>*0%"(2"!

$204<# ! "0 ! 7(%%(2" ! ( ! '#0%" !>$2"&02, ! ! -#$ ! "#&%3F*(%"6 ! 5%6*" ! .&/%(%6 ! (?(&.(/.$ ! ("!

#""*C``5%6*",%4/610%<$,0%<! &'!(!*4%$!94/6!5%6*"0<%(*#6!.&/%(%6,! !:04!5(2!&2'"(..!&"!/6!

&''4&2<!"#$!<$>!&2'"(..!5%6*"!50>>(23!"0!&2'"(..!&"'!<$>P!.008!&2!\**$23&@!\!10%!(!.&28!

02!#07!"0!&2'"(..!(23!'$"4*!94/6Y$>'!&1!604%!94/6!&2'"(..("&02!30$'2;"!#(?$!"#$>!

(.%$(36,!!

-#$!5%6*"!.&/%(%6!011$%'!104%!$25%6*"&02!(.<0%&"#>'C!c.071&'#=!YbN-=!H]^\=!

(23!9&Z23($.,!!Q0%"42("$.6=!"#$!&2"$%1(5$!10%!$(5#!02!&'!%$.("&?$.6!"#$!'(>$,!!X$";'!"(8$!(!

.008!("!(2!$@(>*.$!4'&2<!"#$!c.071&'#!(.<0%&"#>!1%0>!"#$&%!3054>$2"("&02,

))#!!!E$%1(#(C+-3#37<

Page 131: Humble Little Ruby Book

!-`"%!-(L*!$34>#.+7&%28L(#.+7&%28(E(T!$34WWi.+7&%28/5-7F@O(?-$("3(4+(j[(#$4-2([email protected]%5i.+*?(E(@OiTM:XZ<@-5*!$34-,i.+*?(E(#.+7&%28/-5*!$34e#.+*?F3.6%5i.+*?G

"!NX[k~NZ<kNZZ:uNZ<<NX::NXjm,-*!$34-,i.+*?(E(#.+7&%28/,-*!$34e#.+*?F-5*!$34-,i.+*?G(

"!OiTM:XZ<

-#&'!&'!02$!01!"#$!$('&$'"!5%6*"0<%(*#6!.&/%(%&$'!04"!"#$%$P!'&>*.6!1$$3!&"!(!8$6!&2!"#$!

502'"%45"0%= ! 5(.. ! "#$ !-5*!$34e#.+*?! >$"#03 ! "0 ! $25%6*" ! "#$ ! 3("(= ! (23 ! "#$2!

,-*!$34e#.+*?! "0!3$5%6*"!&",! !N&25$!"#$!3$?$.0*$%'!7$2"!"0!<%$("!.$2<"#'!"0!8$$*!"#$!

\OH !/('&5(..6 ! "#$ ! '(>$! 10% !(.. ! "#$ !(.<0%&"#>'= ! 604 !5(2 ! '&>*.6 ! '4/'&"4"$ ! "#$ !0"#$%!

(.<0%&"#>!2(>$'!&2!*.(5$!01!c.071&'#!"0!<$"!"#$>!70%8&2<!G&,$,=!*4"!9&Z23($.!&2!*.(5$!

01!c.071&'#!(23!&"!'#04.3!70%8!Z4'"!"#$!'(>$I,! !-#$%$!(%$!0"#$%!%$'"%&5"&02'!02!8$6!

.$2<"#!(23!'45#=!(.02<!7&"#!0"#$%!>$"#03'!(23!1425"&02'!604!5(2!4'$,! !)#$58!04"!

#""*C``5%6*",%4/610%<$,0%<`!"0!.$(%2!>0%$,

;>87(7F978>A

-$'" !]%&?$2!]$?$.0*>$2"! &' ! "#$!2$7!#0"2$''= !$'*$5&(..6 ! &2 ! "#$!94/6!3$?$.0*>$2"!

70%.3,! !H;>!'4%$!"#$!94/6!50%$!"$(>!"008!"#&'!&2"0!(55042"!7#$2!"#$6!/4&." !( !42&"!

"$'"&2<!1%(>$70%8!&2"0!"#$!'"(23(%3!.&/%(%6!01!"#$!.(2<4(<$C(P-24WW{5%4/! !94/6;'!

42&"!"$'"&2<!1%(>$70%8!&'!$@5$..$2"!G(23!#('!/$$2!>(3$!/$""$%!(23`0%!%$*.(5$3!(23!

&>*%0?$3!/6!0"#$%!1%(>$70%8'I!6$"!?$%6!'&>*.$!"0!4'$,

-#$ !/('&5 !*%$>&'$ !01 ! "$'"&2< ! &' ! "0 !>(8$ ! '4%$ ! "#(" ! 604% ! 503$ ! &' !/$#(?&2<!

50%%$5".6 ! &2 !(' !>(26 !502"$@"' !(' !604 !5(2 !'&>4.("$ !*%0<%(>>("&5(..6, ! !-#&' !>&<#"!

'0423!'"4*&3=!/4"!"%4'"!>$C!604;..!5("5#!"7&5$!('!>(26!/4<'!4'&2<!(!42&"!"$'"!('!604!7&.. !

/6!Z4'"!*.(6&2<!(%0423!7&"#!604%!(**.&5("&02!/$5(4'$!604!8207!#07!&"!&'!'4**0'$3!"0!

0*$%("$ !/4" ! "#$ !50>*4"$% !30$'2;", ! ! H" !#(' !20!J3$?$.0*$%;' !3&'5%&>&2("&02J!7#$2! &"!

50>$'!"0!4'&2<!604%!(**.&5("&02,! !:04!8207!7#("!H;>!"(.8&2<!(/04"P!20!02$!7(2"'!

"#$&%!(**.&5("&02!"0!/%$(8=!'0!"#$6!42502'5&04'.6!"&*F"0$!(%0423!7#("!>&<#"!/$50>$!(!

/4<,!!H!30!&"!(..!"#$!"&>$,!!-#(";'!7#6!H!4'$!"$'"&2<,

94/6;' !42&" ! "$'"&2<!1%(>$70%8!*%0?&3$'!( !'&>*.$! &2"$%1(5$!10% !*$%10%>&2<!

"$'"', ! !X$";' !'(6 !604!7(2"$3!"0!"$'" !604%!5.(''! "#("!'"0%$' !K\)!(33%$''$' ! 10%!604%!

.05(..6!2$"70%8$3!5.&$2"!(**.&5("&02',!!

*.622(U6*O,,!((,-&(4+e2((((!-4"!5(y)6*e36!42/K+%5F@W@G((-5,

((,-&(%5%4%6.%9-F)6*G((((%&()6*/.-5=48(d(:k((((((&6%.(@UOT(%2(4++(28+!4b()6?-(2"!-(*+.+52(6!-(%5(3.6*-@((((-5,

((((y)6*e36!42(E()6*/23.%4FLWLG((-5,

((,-&(opF%5,-'G((((!-4"!5(y)6*e36!42o%5,-'p

E$%1(#(C+-3#37<!!!))$

Page 132: Humble Little Ruby Book

((-5,-5,

-#&'!'&>*.$!5.(''!#('!"#%$$!>$"#03'C!4+e2= !%54%4%6.%9-=!(23!(2!&23$@!>$"#03!GopI,!

-#$!502'"%45"0%= !%5%4%6.%9-= ! "(8$'!( !'"%&2<!7&"#!( !K\)!(33%$''! &2!&", ! ! H1 ! &" ! &' !"#$!

7%02<!.$2<"#=!(2!$@5$*"&02!&'!"#%072P!0"#$%7&'$!&";'!/%08$2!4*!02!"#$!50.02'!G*(%"!01!

"#$!'"(23(%3!K\)!20"("&02I!(23!*.(5$3!&2!(2!&2'"(25$!?(%&(/.$,! !-#$ !4+e2!>$"#03!

Z0&2'!"#&'!(%%(6!"0<$"#$%!7&"#!50.02'!(23!%$"4%2'!&",!!-#$!&23$@!>$"#03!GopI!7&..!%$"4%2!

"#$!%$f4$'"$3!&23$@!1%0>!"#$!K\)!(33%$''!(%%(6!Gy)6*e36!42I,! ![07!"#("!7$!#(?$!

'0>$"#&2<!"0!70%8!7&"#=!.$";'!/4&.3!'0>$!"$'"',

-$'"'!7&"#!-$'"CC_2&"!5$2"$%!(%0423!&2#$%&"&2<!1%0>!"#$!-$'"CC_2&"CC-$'")('$!

10%!$(5#!"$'"!5('$,! !N0=!&1!7$!7$%$!"0!5%$("$!(!"$'"!5('$!10%!04%!K\)!(33%$''!5.(''=!7$!

704.3!30!'0>$"#&2<!.&8$!"#$!10..07&2<,

!-`"%!-(L4-24>"5%4L

*.622(P-24U6*(d(P-24WW{5%4WWP-24T62--5,

N&>*.$!$204<#=!%&<#"A! ![07!"#("!604!#(?$!(!"$'"!5('$!5.(''=!604!2$$3!"0!1&..!&2!"$'"',!

-$'"'!504.3!/$!7%&""$2!('!(!/425#!01!4<.6!&1!'"("$>$2"'=!/4"!42&"!"$'"&2<!1%(>$70%8'!30!

"#$&%!/$'"!"0!<$"!(7(6!1%0>!"#("!/6!*%0?&3&2<!604!7&"# !(''$%"&02'! G&,$,=!7%(**$%'!10%!

"#0'$!5023&"&02(.!'"("$>$2"'!"#("!#008!&2"0!"#$!1%(>$70%8!&2!(!>$(2&2<14.!7(6I,!!-#$!

1&%'" ! "6*$ !01 ! (''$%"&02 !7$;.. ! .008 !(" ! (%$ ! "#$ !$f4(.&"6 ! "$'"', ! !-#$%$ !(%$ ! "70 !$f4(.&"6!

(''$%"&02'C !(''$%"p$f4(.!(23!(''$%"p20"p$f4(., ! !X$";'!5%$("$!(!504*.$!01!"#0'$!"$'"'!

207!&2!"#$!'(>$!1&.$!7$!5%$("$3!"#$!5.('',

!-`"%!-(L4-24>"5%4L

*.622(P-24U6*(d(P-24WW{5%4WWP-24T62-((,-&(4-24e4+2((((622-!4e-`"6.F@hhWhhWhhWhhWhhWhh@B((((((((U6*O,,!/5-7F@hhWhhWhhWhhWhhWhh@G/4+e2G((((622-!4e5+4e-`"6.F@hhWmmWhhWmmWhhWhh@B(((((((((U6*O,,!/5-7F@hhWhhWhhWhhWhhWhh@G/4+e2G((-5,-5,

B$;?$ !/('&5(..6 !5%$("$3 ! "70! "$'"', ! !-#$! 1&%'" !>(8$'!'4%$ ! "#(" ! &1 !7$!<&?$ ! &" !( !K\)!

(33%$''=!&" !7&.. !%$"4%2!&" !*%0*$%.6!7#$2!4'&2<!"0p',! !-#$!'$5023!02$!30$'!"#$!'(>$!

"#&2<=!/4"!&2!(2!&2?$%'$!5023&"&02(.=!7$!1$$3!&"!(!3&11$%$2"!?(.4$!"0!>(8$!'4%$!"#$6;%$!

20"!$f4(.,!!_*02!%422&2<!"#$!"$'"'=!7$!'#04.3!#0*$14..6!'$$!'455$'',

s+6,-,(2"%4-("5%4e4-24]46!4-,/h%5%28-,(%5(m/m(2-*+5,2/

:(4-242B(X(622-!4%+52B(m(&6%."!-2B(m(-!!+!2

\23 !7$ ! 30, ! ! ^@5$..$2", ! ![07 ! .$";' ! "(8$ ! ( ! .008 ! (" ! (20"#$% ! "6*$ ! 01 ! (''$%"&02C ! 2&.!

(''$%"&02', ! !-#$'$ !(''$%"&02'= !(''$%"p2&. ! (23 !(''$%"p20"p2&.= !30 !/('&5(..6 ! "#$ !'(>$!

"#&2< ! (' ! &1 ! 604 !3&3 ! (2 ! (''$%"p$f4(. ! (23 ! "$'"$3 ! 10% !2&., ! ! X$";' ! 5%$("$ ! ( ! "$'" ! 4'&2<!

(''$%"p20"p2&.,

))%!!!E$%1(#(C+-3#37<

Page 133: Humble Little Ruby Book

!-`"%!-(L4-24>"5%4L

*.622(P-24U6*(d(P-24WW{5%4WWP-24T62-((,-&(4-24e4+2((((622-!4e-`"6.F@hhWhhWhhWhhWhhWhh@B((((((((U6*O,,!/5-7F@hhWhhWhhWhhWhhWhh@G/4+e2G((((622-!4e5+4e-`"6.F@hhWmmWhhWmmWhhWhh@B(((((((((U6*O,,!/5-7F@hhWhhWhhWhhWhhWhh@G/4+e2G((((622-!4e5+4e5%.FU6*O,,!/5-7F@hhWOnWhmWm[WmjWZZ@GG((-5,-5,

\<(&2=!4*02!%422&2<!"#$!"$'"'=!7$!'#04.3!#0*$14..6!'$$!(!'455$''14.!%42!7&"#04"!(23!

$%%0%'!0%!1(&.4%$',

s+6,-,(2"%4-("5%4e4-24]46!4-,/h%5%28-,(%5(m/m(2-*+5,2/

:(4-242B(Z(622-!4%+52B(m(&6%."!-2B(m(-!!+!2

\23!7$!30, ! !Y%$("E ! ![07=! .$";' ! .008!(" !02$ !1&2(. ! "6*$!01 !(''$%"&02! "#(" !3$(.' !7&"#!

$@5$*"&02',! !94/6;'!"$'"&2<!1%(>$70%8!(..07'!604!20"!02.6!"0!"$'"!"#$!%$"4%2!?(.4$!01!

42&"'!01!503$=!/4"!(.'0!"0!"$'"!7#$"#$%!"#$6!%(&'$!$@5$*"&02'!0%!20",!!B$!"0.3!04%!5.(''!

"0!%(&'$!(2!$@5$*"&02!&1!"#$!K\)!(33%$''!&'2;"!"#$!%&<#"!.$2<"#=!'0!.$";'!7%&"$!(!"$'"!"0!

"$'"!"#(",

!-`"%!-(L4-24>"5%4L

*.622(P-24U6*(d(P-24WW{5%4WWP-24T62-((,-&(4-24e4+2((((622-!4e-`"6.F@hhWhhWhhWhhWhhWhh@B((((((((U6*O,,!/5-7F@hhWhhWhhWhhWhhWhh@G/4+e2G((((622-!4e5+4e-`"6.F@hhWmmWhhWmmWhhWhh@B(((((((((U6*O,,!/5-7F@hhWhhWhhWhhWhhWhh@G/4+e2G((((622-!4e5+4e5%.FU6*O,,!/5-7F@hhWOnWhmWm[WmjWZZ@GG((((622-!4e!6%2-(I"54%)-n!!+!(,+((((((U6*O,,!/5-7F@OOWhhWOOWhhWOOWhhWOOWhhWOO@G((((-5,((-5,-5,

[07=!&1!7$!%42!"#$'$!"$'"'!(<(&2=!7$;..!#0*$14..6!'$$!(20"#$%!7023$%14..6!'455$''14.!

%42,

s+6,-,(2"%4-("5%4e4-24]46!4-,hh%5%28-,(%5(m/m:j(2-*+5,2/

((:G(h6%."!-W4-24e4+2FP-24U6*G(o4-24X:/!#WXkpWdI"54%)-n!!+!q(-'*-34%+5(-'3-*4-,(#"4(5+5-(762(48!+75/

:(4-242B(<(622-!4%+52B(:(&6%."!-2B(m(-!!+!2

b0*'E!!H1!604!.008!("!04%!502'"%45"0%=!7$!>$%$.6!"$'"!&1!"#$!K\)!(33%$''!&'!"00!'#0%", !

X$";'!'7&"5#!"#("!w!"0!(!Eo!'0!"#("!&"!5("5#$'!&"!7#$"#$%!&";'!"00!'#0%"!0%!"00!.02<!(23!"%6!

"#$'$!"$'"'!(<(&2,

E$%1(#(C+-3#37<!!!))&

Page 134: Humble Little Ruby Book

s+6,-,(2"%4-("5%4e4-24]46!4-,/h%5%28-,(%5(m/m(2-*+5,2/

:(4-242B(<(622-!4%+52B(m(&6%."!-2B(m(-!!+!2

Y%$("E!!B$;?$!/4&."!(!'>(..!"$'"!'4&"$!10%!04%!5.('',!!b1!504%'$=!"#&'!&'!Z4'"!02$!5.(''!&2!(!

7#0.$!(**.&5("&02=!(23!$(5#!5.(''!'#04.3!#(?$!&"'!072!"$'"!'4&"$,!!\'!"$'"!'4&"$'!<%07=!

604;.. !&2$?&"(/.6!7(2"!"0!/%$(8!"#$>!&2"0!'$*(%("$!1&.$'=!'&25$!604!704.32;"!7(2"!"0!

8$$*!(..!T=R++!01!604%!"$'"!5('$'!10%!604%!/%$(83(25&2<!*(23(!'5%$$2!'(?$%!&2!02$!1&.$,!

Q0%"42("$.6= !-$'"CC_2&" ! &' ! '>(%" ! $204<# ! "0 !*&58 !4* !02 ! 24>$%04' ! "$'" ! 1&.$' ! /$&2<!

&25.43$3!&2"0!02$!"$'"!%42,! !-#&'!>$(2'!604!504.3!30!'0>$"#&2<!.&8$!"#$!10..07&2<!

7&"#04"!(26!*%0/.$>',!!

!-`"%!-(L4-24>"5%4L!-`"%!-(L365,64-24L!-`"%!-(L#!-6?,65*-4-24L!-`"%!-(L#!-6?,65*%5=365,64-24L!-`"%!-(L2+)-78643-!%38-!6.-.-)-5424-24L!-`"%!-(L2+)-78643-!%38-!6.-.-)-542#-24&!%-5,2"5*.-24-24L

H;?$!Z4'"!<&?$2!604!(!/('&5!%423072!01!"$'"&2<P!H;>!*%0?&3&2<!(!.&'"!01!.&28'!&2!\**$23&@!

\!"#("!5(2!"(8$!604!3$$*$%!&2"0!-$'"!]%&?$2!]$?$.0*>$2"!(23!"$'"&2<!7&"#!94/6,!!\.'0!

/$ ! '4%$ ! "0 ! 5#$58 ! 04" ! "#$ ! -$'"CC_2&" ! 3054>$2"("&02 ! (" !#""*C``777,%4/6F

305,0%<`'"3.&/`.&/305`"$'"`42&"`%305`5.(''$'`-$'"`_2&",#">.! "0 ! 1&23 ! (/04" ! 0"#$%!

(?(&.(/.$ ! (''$%"&02' ! G"#$%$ ! (%$ ! ( ! 1$7 ! H ! 302;" ! 50?$% ! #$%$ ! /$5(4'$ ! "#$6;%$ ! 20" ! ?$%6!

50>>02I,!!

))'!!!E$%1(#(C+-3#37<

Page 135: Humble Little Ruby Book

E$%1(#(C+-3#37<!!!))(

Page 136: Humble Little Ruby Book

)!*!!!E$%1(#(C+-3#37<

Page 137: Humble Little Ruby Book

!!LF:?:678?>!!!H!#0*$!604;?$!$2Z06$3!"#&'!Z04%2$6!"#%04<#!94/6!('!>45#!('!H!#(?$,

O.$('$!30!5#$58!04"!>6!9(&.'!/008!("!#""*C``777,%4/602%(&.'/008,50>`!(23!>6!/.0<!

("!#""*C``777,>%2$&<#/0%.6,50>`,!!Q$$.!1%$$!"0!3%0*!>$!(2!$F>(&.!0%!50>>$2"!"#$%$!

7&"#!(26!f4$'"&02'!0%!50>>$2"',

^2Z06!604%!2$710423!(?05("&02!7#&5#!7&..!#0*$14..6!"4%2!&2!(2!0554*("&02!10%!604!

%("#$%!"#(2!(2!$@('*$%("&02!0?$%!(26!'0%"!01!'2(<!0%!50>*.&5("&02!"#("!604!>(6!

$25042"$%!&2!"#$!504%'$!01!604%!(**.&5("&02!01!"#$!*%&25&*.$'!&2!"#&'!*4/.&5("&02,!!

-#("!%#6>$3!(!.0",!!-#$%$;'!(!%$('02!"#$6!5(..!>$!l&..!K('"(![$&<#/0%.6,!!Q0;!%&LL.$,

O$(5$!04"=

!"#$%&'()*+",-

E$%1(#(C+-3#37<!!!)!)

Page 138: Humble Little Ruby Book

)!!!!!E$%1(#(C+-3#37<

Page 139: Humble Little Ruby Book

())*+,-./(

@+,*1(#,B($"2(@+*2

75F(:;<=(@6>A;6AF

94/6!X(2<4(<$!>(&2!'&"$! #""*C``777,%4/6F.(2<,0%<`

!!!!D0&'94"+'7";&'/,%';0&'1$23'64+#$4#&L'#&;'5,.+6,457'4+5'"+/,%94;",+'0&%&

94/6Q0%<$ #""*C``777,%4/610%<$,0%<`

!!!!>,,?"+#'/,%'4'1$23'6"2%4%3',%'4886"<4;",+Y''J04+<&7'4%&'3,$'<4+'/"+5'";'0&%&:

94/6)0%2$% #""*C``777,%4/650%2$%,50>`

!!!!1$23'26,#'4##%&#4;,%L'26,#7'4%&'455&5'23';0&"%',.+&%7@'7,';0&%&'4%&'<$%%&+;63'=RRZ:

94/6!)$2"%(.! #""*C``777,%4/65$2"%(.,50>`

!!!!U4-"5'S64<?H7'&[<&66&+;'1$23',%#4+"\4;",+L'3,$'<4+'/"+5'"+/,%94;",+'4+5'6"+?7'0&%&:

O.(2$"94/6 #""*C``*.(2$"%4/6,+@SR,2$"`

!!!!*+,;0&%'1$23'26,#'4##%&#4;,%L'26,#7'4%&'7&6&<;&5'23';0&'7";&',.+&%:

Q?K;0F>7678?>

94/6]05 #""*C``777,%4/6>(24(.,0%<`

!!!!X,"+;7';,'4'+$92&%',/'1$23'5,<$9&+;4;",+'7,$%<&7@'"+<6$5"+#';0&'1$23'*XK'5,<7:

B#6;'!O0&<2(2"!Y4&3$!"0!94/6 #""*C``777,*0&<2(2"<4&3$,2$"`%4/6`

!!!!*+,;0&%'1$23'2,,?L'"/'3,$'/,$+5'93'.%";"+#';,,'5$66@'8&%0487';0"7'"7'9,%&'3,$%'/64-,%:

94/6K(24(. #""*C``777,%4/6>(24(.,0%<`

''''X]X'^4+$46'7;36&'5,<$9&+;4;",+';04;'466,.7'$7&%'<,99&+;7:

94/6Y$>'!H2'"(..("&02 #""*C``%4/6<$>',0%<`%$(3`5#(*"$%`V

!!!!*%;"<6&',+'0,.';,'"+7;466'4+5'7&;$8'1$23_&97

:FA;@6:(FDL:F998?>9

9$<4.(%!^@*%$''&02'!-4"0%&(.! #""*C``777,%$<4.(%F$@*%$''&02',&210`

!!!!D0&';$;,%"46'K'6&4%+&5'/%,9L'";H7'+,;';0&'2&7;'`/%,9'.04;'K'0&4%a'2$;'";'.,%?&5'/,%'9&:'

9$<4.(%!^@*%$''&02'!X&/%(%6! #""*C``777,%$<$@.&/,50>`

!!!!*'64%#&'6"2%4%3',/'$7&%b7$29";;&5'%&#&[&+';04;'5,'4+3;0"+#'3,$'<4+';0"+?',/:

B&8&*$3&(!\%"&5.$! #""*C``$2,7&8&*$3&(,0%<`7&8&`9$<$@

!!!!D0&'T"?"8&5"4'4%;"<6&'/,%'%&#$64%'&[8%&77",+7L'47'46.437@'8%&;;3'$7&/$6'"+/,%94;",+:

C+,*1(#,:($"2(C+*2!!!)!"

Page 140: Humble Little Ruby Book

;>8D(8>M?:0678?>

-#$!Q&.$'6'"$> !!!!!!!!!#""*C``777,42&@,0%<,4(`0%$..6`2$"70%8&2<`*4&'`5#+Wp+T,#">

!!!!c[<&66&+;'7,$%<&'/,%'"+/,%94;",+',+'dBKe'/"6&737;&97'4+5';0&"%'9&;454;4:

X&24@!]054>$2"("&02!O%0Z$5" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#""*C``777,".3*,0%<`

!!!!D0&'7,$%<&'/,%'>"+$['5,<$9&+;4;",+:

Y$2$%(.!X&24@!50>>(23!.&'"! !!!!!!!!!!#""*C``777,.&24@3$?5$2"$%,50>`.&24@`5>3`

!!!!]$#&'6"7;',/'>"+$['<,994+57L'$7&/$6'/,%';0,7&'937;&%3'<,994+57',%'/"+5"+#'+&.',+&7:

\!c$<&22$%;'!-4"0%&(.!10%!X&24@! !!!!!!!!!!!!!!!!!!!#""*C``777,.&24@F"4"0%&(.,&210`

!!!!F&%3'247"<'"+/,%94;",+'42,$;'>"+$[:

!F<(9F:P8KF9

94/6!B$/!N$%?&5$' #!!""*C``777,3$?@,50>`$2"$%*%&'$`\%"&5.$`RdT+T

!!!!_%&4;'4%;"<6&';04;'5"7<$77&7'2$"65"+#'.&2'7&%-"<&7'$7"+#'1$23:

N0(*S%!D0>$*(<$ !!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!#""*C``3$?,5"0%,0%<`'0(*S%`

''''D0&',//"<"46'0,9&84#&',/';0&',//"<"46'VW*X'<6"&+;'/,%'1$23:

@>.%*5S%!F!eKXF9O)!10%!94/6 !!!!!#""*C``777,1(2"('6F503$%',3$`%4/6`@>.%*5S%`

!!!!X%,-"5&7'4+'e^>b1XJ'7&%-&%'"+'1$23:

Q897:8<;7FQ(:;<=

]9/!9305' !!!!!!!!!!!!!!#""*C``777,%4/6F305,0%<`'"3.&/`.&/305`3%/`%305`&23$@,#">.

''''D0&',//"<"46'5,<$9&+;4;",+'/,%'U12:'

]9/!-4"0%&(. !!! !!!!!!!!!!!#""*C``777,5#(3107.$%,50>`%4/6`3%/,#">.

!!!!J045'!,.6&%H7'&[<&66&+;'U12';$;,%"46:

N$<>$2"j!]9/!O(<$ #""*C``'$<>$2"j,2$"`*%0Z$5"'`%4/6`3%/`

!!!!^,%&'U12'"+/,%94;",+'/%,9'V&#9&+;M:

Q676<69F9

b11&5&(.!]cH!7$/'&"$ !!!!!!!!!!!!!!!!!!!!#""*C``%4/6F3/&,%4/610%<$,0%<`

!!!!W//"<"46'0,9&84#&',/';0&'1$23'USK'84<?4#&

94/6!(23!"#$!>6NhX!*(58(<$!!!!!!!!#""*C``777,8&"$/&%3,50>`(%"&5.$'`%4/6F>6'f.,#">.

'''*';$;,%"46',+'$7"+#';0&'937f6'84<?4#&'4+5'1$23

\5"&?$9$50%3!]05'!!!!!!!!!!!!!!#""*C``(*&,%4/602%(&.',0%<`5.(''$'`\5"&?$9$50%3`c('$,#">.

!!!D0&',//"<"46'1$23',+'14"67'%5,<7'/,%'*<;"-&1&<,%5L'#,'0&%&'/,%'9,%&'"+/,',+'0,.';,'$7&'";

;>87(7F978>A

k$2-$'" !!!!#""*C``%4/610%<$,0%<`*%0Z$5"'`L$2"$'"`

!!!!D&7;"+#@',+'7;&%,"57:'K/'3,$'#&;'2,%&5'.";0'D&7;))d+";@'<0&<?';0"7',$;:

)!#!!!C+,*1(#,:($"2(C+*2

Page 141: Humble Little Ruby Book

B#6!(23!D07C!94/6!G(23!9(&.'I!_2&"!-$'"&2<

'''''#""*C``<.4,""020,4'`(%"&5.$'`R++W`T+`V+`7#6F(23F#07F%4/6F(23F%(&.'F42&"F"$'"&2<

'''''*+'&[<&66&+;'4%;"<6&'23'g&-"+'J64%?',+'$+";';&7;"+#'.";0'1$23'`4+5'14"67a:'

C+,*1(#,:($"2(C+*2!!!)!$

Page 142: Humble Little Ruby Book

())*+,-./0

5+N"(L23V.3H#,&2(:'-IC+$"(K\K]]

-#$%$!&'!(!.0"!01!"(.8!"#$'$!3(6'!(/04"!$@"$23&2<!94/6!7&"#!)!(23!)aa=!(23!#07!"#0'$!

$@"$2'&02'!5(2!<%$(".6!&>*%0?$!94/6;'!*$%10%>(25$,! ![0!*(58(<$!#('!302$!>0%$!"0!

*%0>0"$!"#&'!"#(2!94/6H2.&2$=!(!*0%"!01!O$%.`O6"#02`7#("$?$%!$.'$;'!&2.&2$!)!>034.$,

K(26!3$?$.0*$%'!f4$'"&02!(!>&23'$"!"#("!'(6'!J9$7%&"$!&"!&2!)J!&1!(!*(%"!01!(2!

(**.&5("&02!&'!"00!'.07!&2!"#$!54%%$2"!.(2<4(<$P!>(26!3$?$.0*$%'!1%0>!0"#$%!5(>*'!

1$$.!"#("!"#&'!422$5$''(%6!'"$*!&'!(!7$(82$''!01!94/6!(23!"#("!94/6!'#04.3!/$!1('"$%!

%("#$%!"#(2!#(?&2<!"0!4'$!)`)aa,!!H!302;"!'$$!&"!"#("!7(6,!!H!"#&28!94/6;'!2("4%$!(23!"#$!

(/&.&"6 ! 10% ! 3$?$.0*$%' ! "0 ! /$ ! (/.$ ! "0 !3&%$5".6 !7%&"$ !) ! 503$ ! &2.&2$ ! &' ! <%$(", ! ! -$..&2<!

3$?$.0*$%'!"0!%$7%&"$!&"!&2!)!10%!'*$$3!&'2;"!(26!3&11$%$2"!"#(2!7#("!>(26!.(2<4(<$!

&2"$%*%$"$%'!30,!!X008!("!O6"#02;'!&2"$%*%$"$%P!(26"#&2<!"#("!2$$3'!(26!3$<%$$!01!'*$$3!

#('!/$$2!%$7%&""$2!&2!)!%("#$%!"#(2!'0.&3!O6"#02,!!H";'!(!1(5"!01!362(>&5!.(2<4(<$'!"#("!

"#$6!7&..!055('&02(..6!2$$3!"#$'$!'*$$3!/00'"',

H;>!20"!<0&2<!"0!<0!&2"0!(!#4<$!'*&..!(/04"!94/6H2.&2$!0%!#07!"0!4'$!&"P!&";'!"00!

/&<!01!(!'4/Z$5",!!-#&'!&'!02$!01!"#0'$!"#&2<'!"#("!504.3!7(%%(2"!&"'!072!/008!&1!(2602$!

704.3!7%&"$!&",! !-#$%$!(%$!'0!>(26!(**.&5("&02'!10%!"#&'!"$5#20.0<6=!(23!*$0*.$!(%$!

/$<&22&2<!"0!"(8$!20"&5$,!!H!"6*&5(..6!704.32;"!7%&"$!(/04"!'4/Z$5"'!.&8$!"#&'=!'&25$!H!(>!

20"!(!)`)aa!>('"$%!GH!#(?$!$@*$%&$25$=!/4"!H!*%$1$%!"0!$2Z06!*%0<%(>>&2<!%("#$%!"#(2!

(/4'$!>6'$.1I=!/4"!&";'!/$50>&2<!(2!&25%$('&2<.6!&>*0%"(2"!'4/Z$5",

_'&2<!94/6H2.&2$ ! &' !>45#!$('&$% ! "#(2!"%6&2<!"0!7%&"$ !( !) !$@"$2'&02!1%0>!

'5%("5#,!!-#$!/('&5!*%$>&'$!01!"#$!*(58(<$!&'!"0!(..07!3$?$.0*$%'!"0!$>/$3!)`)aa!503$!

3&%$5".6! &2"0!"#$!94/6!503$!10% !"#$&%!(**.&5("&02= !7#&5#!7&.. !"#$2!/$!50>*&.$3!(23!

362(>&5(..6 ! $@$54"$3 ! (' ! "#$ ! (**.&5("&02 ! %42', ! ! -#$ ! &3$( ! &' ! "#(" ! 604 ! *%01&.$ ! 604%!

(**.&5("&02 ! 4'&2< ! '0>$"#&2< ! .&8$ ! "#$ ! 94/6 ! *%01&.$% ! (23 ! 1&<4%$ ! 04" ! 7#$%$ ! 604%!

/0"".$2$58' ! (%$, ! ! Q0% ! $@(>*.$= !O(" !^6.$% !7%0"$ ! (/04" ! %$7%&"&2< ! *(%"' ! 01 ! ( ! *%&>$!

24>/$%!5(.54.("0%!&2!)P!#$!4'$3!94/6!*%01&.$%!"0!1&<4%$!04"!"#("!(!/.058!01!503$!"#("!#$!

7('!*(''&2<!7('!5(4'&2<!(!>(''&?$!'.07!3072,! !:04!'#04.3!"#$2!"(8$!"#&'!3("(!(23!

1&<4%$!04"!7#("!604!504.3!%$7%&"$!&2!)=!(23!,+63'%&.%";&';04;'G"#$%$;'!20!%$('02!"0!<0!

)!%!!!=+D"(F23>.35#,&2(6'-7;+$"(GHGII

Page 143: Humble Little Ruby Book

24"' ! (23 ! %$7%&"$ ! ( ! .0" ! 01 ! 604% ! (**.&5("&02 ! &2 !) ! Z4'" ! "0 ! <$" ! '0>$ ! 1(.'$ ! &..4'&02 !01!

*$%10>(25$!(" !"#$!50'"!01!>(&2"(&2(/&.&"6!0%!%$(3(/&.&"6I, ! ! H2!>0'"!5('$'= !%$7%&"&2<!

"#$'$!.&"".$!*(%"'!>(8$!604%!*$%10%>(25$!24>/$%'!(2!0%3$%!01!>(<2&"43$!/$""$%,! !H";'!

%$(..6!(!2$("!5025$*"=!(23!&25%$3&/.6!#$.*14.!10%!(33&2<!(!'*$$3!"0!604%!(**.&5("&02,!!

[07=!.$";'!"(8$!(!.008!("!#07!"#&'!*.(6'!04"!7#$2!604!(5"4(..6!<$"!"0!4'&2<!&",!

H2'"(..!94/6H2.&2$!4'&2<!"#$!&2'"(..("&02!&2'"%45"&02'!02!k$2N*&3$%;'!94/6H2.&2$!*(<$!

("!#""*C``777,L$2'*&3$%,50>`kNN`O%0345"'`94/6H2.&2$`=!(23!.$";'!"(8$!(!.008!("!(2!

$@(>*.$!1%0>!"#$!#0>$!*(<$,

!-`"%!-(L%5.%5-L

*.622(U$P-24((%5.%5-FWTG(,+(x#"%.,-!x((((#"%.,-!/%5*.",-(Ld%+24!-6)qL((((#"%.,-!/6,,e*+)3%.-e&.6=2(L0'(*HHLB(L0.24,*HHL((((#"%.,-!/*(L

((((((1+%,(8-..+F%54(%G(R((((((((78%.-(F%00(q(mG(R((((((((((24,WW*+"4(dd(@8-..+@(dd(24,WW-5,.b((((((((S((((((SL((-5,-5,

4(E(U$P-24/5-7FG4/8-..+FZG

-#$!(/0?$!503$!7&.. !*%&2" !J#$..0J!"#%$$!"&>$', ! !-#&'! &'= !01 !504%'$= !( !?$%6 !502"%&?$3!

$@(>*.$=!/4"!H!*4"!&"!#$%$!"0!1&%'"!$@*.(&2!#07!94/6H2.&2$!70%8',!!\'!604!5(2!'$$=!604!

'&>*.6!0*$2!(!/.058!7&"#!"#$!%5.%5-!>$"#03!"0!/$<&2!"#$!*%05$''P!"#$ !WT!*(%(>$"$%!

&'2;"!%$f4&%$3!&1!604!(%$!4'&2<!)=!'&25$!"#("!&'!7#("!94/6H2.&2$!&'!3$'&<2$3!10%,! ![$@"=!

604!5(2!'$$!"#("!%+24!-6)!&'!&25.43$3!4'&2<!"#$!%5*.",-!>$"#03P!20"&5$!604!5(2!(.'0!

(33!50>*&.$!1.(<'!"0!"#$!50>>(23!.&2$!4'&2<!"#$!6,,e*+)3%.-e&.6=2!>$"#03,!!-#&'!&'!

4'$14.!&1!"#$%$!(%$!.&/%(%&$'!604!2$$3!"0!(33!G.&8$!24,*HH! &2!"#&'!$@(>*.$I,! ![$@"=!4'$!

"#$!*!>$"#03!(23!*%0?&3$!(!'"%&2<!01!)!503$,!!-#$!503$!*%0?&3$3!#$%$!7&..!/$!50>*&.$3!

(23!"#$2!5(2!/$!5(..$3!Z4'"!.&8$!(!94/6!>$"#03!G7#&5#!&'!3$>02'"%("$3!&2!04%!5(..!"0!

8-..+!&2!"#$!>(&2!.00*I,!!

H;.. ! .$(?$ !604 ! "0 ! 604% ! &>(<&2("&02 ! "0 ! '$$ !#07!604 !5(2 !4'$ ! "#&' ! .&/%(%6 ! "0!

&>*%0?$!*$%10%>(25$!&2!604%!072!(**.&5("&02',! !O08$!(%0423!"#$!%4/6F"(.8!>(&.&2<!

.&'" ! (23 ! Y00<.$ ! "0 ! <$" ! '0>$ ! <003 ! &3$('P ! "#$ ! 94/6H2.&2$ ! #0>$*(<$ ! #(' ! >0%$!

&210%>("&02=!"00=!&1!604;%$!&2"$%$'"$3!&2!*4""&2<!"#&'!.&/%(%6!"0!70%8,

@8>R9

94/6H2.&2$!#0>$*(<$

%%%0;;8)hh...:\&+78"5&%:<,9hiVVhX%,5$<;7h1$23K+6"+&h

O("!^6.$%;'!94/6H2.&2$!$@*$%&$25$

%%%0;;8)hh,+b%$23:26,#78,;:<,9h=RRjhRMh%$23"+6"+&b94?"+#b94?"+#b;0"+#7b/47;&%:0;96

=+D"(F23>.35#,&2(6'-7;+$"(GHGII!!!)!&

Page 144: Humble Little Ruby Book

)!'!!!=+D"(F23>.35#,&2(6'-7;+$"(GHGII

Page 145: Humble Little Ruby Book
Page 146: Humble Little Ruby Book

!"#$%&'()*%"+,-.'/!""#$$%&'()*'+,,,,,,,,,,,,,,,,,,,,01

!")-.#/#"'*0,,,,,,,,,,,,,,,,,,,,,,23

!/12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,45

!*-)34#)-"%56#*7)'*$,,,,,,,,, 56

!**78,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 57

7$$#*)-'($,,,,,,,,,,,,,,,,,,,,,,,,,561

!))*-9:)#$,,,,,,,,,,,,,,,,,,,,,,,,,,, 04

;-<(:4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 2

;+'"=$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 71

"7$#%>)7)#4#(),,,,,,,,,,,,,,,,,,, 31

"+7$$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 00

&+7$$%>"'6#0%59?#")$,,,,,,,,, 02

"+7$$#$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 00

&'++#")-'($,,,,,,,,,,,,,,,,,,,,,,,,, 55

&'(0-)-'(7+%@-(=%56#*7)'*$38

&'(0-)-'(7+%@''6$%,,,,,,,,,,,,, 96

&'(0-)-'(7+%56#*7)'*$,,,,,,,,38

&'(0-)-'(7+$,,,,,,,,,,,,,,,,,,,,,,,39

&*86)'<*7638,,,,,,,,,,,,,,,,,,,568

A7)797$#,,,,,,,,,,,,,,,,,,,,,,,,,,,, 20

A7)#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 567

A7)#BC-4#,,,,,,,,,,,,,,,,,,,,,,,,567

A7)#C-4#,,,,,,,,,,,,,,,,,,,,,,,,, 569

A;D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 20

A#E-(-(<%&+7$$#$,,,,,,,,,,,,,,,,,09

A#E-(-(<%F#)3'0$,,,,,,,,,,,,,, 79

A-$)*-9:)#0%/:98,,,,,,,,,,,,,,,,27

A/9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 27

#($:*#%"+7:$#,,,,,,,,,,,,,,,,,,,,,,94

G(.-*'(4#()%.7*-79+#$,,,,,,, 46

G$"76#%>#H:#("#$,,,,,,,,,,,,,,,, 1

GI"#6)-'($,,,,,,,,,,,,,,,,,,,,,,,,, 99

#I#",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, JK

L-+#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 85

L-+#%!""#$$%F'0#$,,,,,,,,,,,,,, 89

L-+#$8$)#4%D()#*7")-'(,,,,,,,,85

L-I(:4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2

E'*%+''6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,97

LCM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 14

N7$3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,54

N7$3-(<,,,,,,,,,,,,,,,,,,,,,,,,,,, 569

NCCM%O#)P'*=-(<,,,,,,,,,,,,, 13

-E%$)7)#4#(),,,,,,,,,,,,,,,,,,,,,,,, 39

DF!M,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12

D46+-"-)%;+'"=%Q$7<#%%,,,,,,,,,07

DOD%E-+#$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 47

D($)7++-(<%'(%@-(:I,,,,,,,,,,,,,,, 3

D($)7++-(<%'(%F7"%5>%R,,,,,,,, 0

D($)7++-(<%'(%S-(0'P$%,,,,,,,,,0

D()#*6*#)#0%,,,,,,,,,,,,,,,,,,,,,,,,,, 7

D()#*6*#)#0%+7(<:7<#,,,,,,,,,,,, 7

D5,6'6#(,,,,,,,,,,,,,,,,,,,,,,,,,,,, JK

D)#*7)-(<%@''6$,,,,,,,,,,,,,,,,,,,95

@''6$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 96

F7)$:4')'T%U:=-3-*',,,,,,,,,,,5

FAV,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,568

F#)3'0$,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 73

F'0:+#$,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 35

F:+)-WM7*70-<4%,,,,,,,,,,,,,,,,,,,7

F8>X@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 20

O#)P'*=-(<,,,,,,,,,,,,,,,,,,,,,,,,16

O:49#*$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 2

'9?#")W'*-#()#0%+7(<:7<#,,,,,,8

5@G%!:)'47)-'(,,,,,,,,,,,,,,,,48

56#(%>':*"#,,,,,,,,,,,,,,,,,,,,,,,, 5

5/F%Y59?#")%/#+7)-'(7+%

F766-(<Z,,,,,,,,,,,,,,,,,,,,,,,,,,, 23

M5M,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 12

6'6#(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, JK

M'$)<*#>X@,,,,,,,,,,,,,,,,,,,,,,, 20

M*'"%59?#")$,,,,,,,,,,,,,,,,,,,,,,,71

M*'"#$$#$,,,,,,,,,,,,,,,,,,,,,,,,,,,,JK

6:)$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 4

/7(<#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,55

*#E#*#("#$,,,,,,,,,,,,,,,,,,,,,,,,,,,76

/#<-$)*8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,43

*#<-$)*8%)86#%"'($)7()$,,,,,,,,49

/#<:+7*%GI6*#$$-'($,,,,,,,, 566

*#$":#%9+'"=,,,,,,,,,,,,,,,,,,,,,,,,98

Page 147: Humble Little Ruby Book

/#$":#%>)7)#4#()%F'0-E-#* 94

/#)*8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 94

/:98D(+-(#,,,,,,,,,,,,,,,,,,,,,,, 553

>#67*7)-(<%"'0#%-()'%E-+#$,,, 30

>N!W[%,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 568

$+##6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,88

>FCM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,11

>5!M,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 25

$'76\*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 25

>'"=#),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 16

>X@-)#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20

>)7)#4#()%F'0-E-#*$%,,,,,,,,,,34

>)*-(<%F7(-6:+7)-'(,,,,,,,,,,,24

>)*-(<$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 4

$8$)#4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, JK

C&M>#*.#*,,,,,,,,,,,,,,,,,,,,,,,,,,15

C&M>'"=#),,,,,,,,,,,,,,,,,,,,,,,,, 17

C#*(7*8%56#*7)'*,,,,,,,,,,,,,,, 34

C#$)%A*-.#(%A#.#+'64#(),564

C#$)]]Q(-),,,,,,,,,,,,,,,,,,,,,,,,,564

)3*#70,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,89

C3*'P%7(0%&7)"3,,,,,,,,,,,,,,,,92

C-4#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,560

C86#$%-(%/:98,,,,,,,,,,,,,,,,,,,,,,,4

Q(-)%)#$)-(<,,,,,,,,,,,,,,,,,,,,,, 564

Q(+#$$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 34

:()-+%+''6,,,,,,,,,,,,,,,,,,,,,,,,,,,,96

27*-79+#$,,,,,,,,,,,,,,,,,,,,,,,,,,,, 52

S#9%>#*.-"#$,,,,,,,,,,,,,,,,,,,,,,26

SG;*-"=,,,,,,,,,,,,,,,,,,,,,,,,,,,, 13

P3-+#%+''6,,,,,,,,,,,,,,,,,,,,,,,,,,,96

S-(^_,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 47

S-(0'P$,,,,,,,,,,,,,,,,,,,,,,,,,,,,47

S-(0'P$%!MD,,,,,,,,,,,,,,,,,,,,, 47

SFD,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 41

RF@W/M&,,,,,,,,,,,,,,,,,,,,,,,,,,26

U:=-3-*'%`F7)a`%F7)$:4')'5

%O#)]]NCCM,,,,,,,,,,,,,,,,,,,,,,,,,19