diff options
author | User <bnewbold@daemon.robocracy.org> | 2009-10-13 02:52:09 +0000 |
---|---|---|
committer | User <bnewbold@daemon.robocracy.org> | 2009-10-13 02:52:09 +0000 |
commit | f61026119df4700f69eb73e95620bc5928ca0fcb (patch) | |
tree | f17127cff9fec40f4207d9fa449b9692644ce6db /software/ruby | |
parent | 9d431740a3e6a7caa09a57504856b5d1a4710a14 (diff) | |
download | knowledge-f61026119df4700f69eb73e95620bc5928ca0fcb.tar.gz knowledge-f61026119df4700f69eb73e95620bc5928ca0fcb.zip |
Grand rename for gitit transfer
Diffstat (limited to 'software/ruby')
-rw-r--r-- | software/ruby | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/software/ruby b/software/ruby deleted file mode 100644 index e64f73e..0000000 --- a/software/ruby +++ /dev/null @@ -1,67 +0,0 @@ -================== -Ruby -================== - -.. note:: This information is very rough, it's mostly my notes about what is - different about Ruby syntax compared to similar modern interpreted - pan-paradigm languages like Python. - -A unique intro to ruby is `"Why's Poignant Guide to Ruby"`__, a web-comic-y -short free online book by why the luck stiff. The more serious reference is -the "pickax" book. - -__ http://poignantguide.net/ - -Blocks ---------- -Blocks of code can be passed to functions, making ruby code more of a first -order data type. - -Ranges ----------- - ->>> 2..7 # => 2..7 ->>> (2..7).to_a # => [2, 3, 4, 5, 6, 7] ->>> (2...7).to_a # => [2, 3, 4, 5, 6] ->>> ('e'..'h').to_a # => ["e", "f", "g", "h"] - -Control Structures --------------------- -Can use ``if`` after a statement:: - ->>> a = c if c > b - -Along with the usual ``break`` and ``next``, there is ``redo`` which redoes -the current loop (initial conditions may have been changed). - - -Boolean Operators --------------------- -Anything that is not ``nill`` or ``false`` is true. To force interpretation -as boolean, use ``!!`` (not not):: - ->>> !!(nil) # => false ->>> !!(true) # => true ->>> !!('') # => true ->>> !!(0) # => true ->>> !!({}) # => true - - -Misc ----------------- -Can use nasty Perl style regular expression stuff:: - ->>> re1 = /\d+/ ->>> "There are 5 kilos of chunky bacon on the table!" =~ re1 # => 10, the index ->>> $~ # => #<MatchData:0xb7c36754> ->>> $~.pre_hash # => "There are " - -Also $1, $2, etc. - -The "splat operator", '*', either collects or expands extra arguments depending -on syntax (I think this is kind of icky):: - ->>> a, b = 1, 2, 3, 4 # a=1, b=2 ->>> a, *b = 1, 2, 3, 4 # a=1, b=[2,3,4] ->>> c, d = 5, [6, 7, 8] # c=5, d=[6,7,8] ->>> c, d = 5, *[6, 7, 8] # c=5, b=6 |