diff options
author | ven <vendethiel@hotmail.fr> | 2016-01-26 09:14:52 +0100 |
---|---|---|
committer | ven <vendethiel@hotmail.fr> | 2016-01-26 09:14:52 +0100 |
commit | 22a747d45f6338ccb009e599a81ecfaf76ba53fe (patch) | |
tree | 9eaf7d167aecb78e85386506c4713961025d1a26 | |
parent | b673b64b50ee8b9ba16348444b8d43adb70c3913 (diff) | |
parent | 236cc1c14c71e561d9ab715079f6974a86fad271 (diff) |
Merge pull request #2115 from ryanplant-au/master
[Ruby] Naming conventions and destructuring assignment
-rw-r--r-- | ruby.html.markdown | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/ruby.html.markdown b/ruby.html.markdown index 3eed2d3c..adf5ce81 100644 --- a/ruby.html.markdown +++ b/ruby.html.markdown @@ -285,7 +285,7 @@ hash.each do |key, value| puts "#{key} is #{value}" end -# If you still need and index you can use "each_with_index" and define an index +# If you still need an index you can use "each_with_index" and define an index # variable array.each_with_index do |element, index| puts "#{element} is number #{index} in the array" @@ -411,6 +411,28 @@ def guests(*array) array.each { |guest| puts guest } end +# If a method returns an array, you can use destructuring assignment +def foods + ['pancake', 'sandwich', 'quesadilla'] +end +breakfast, lunch, dinner = foods +breakfast #=> 'pancake' +dinner #=> 'quesadilla' + +# By convention, all methods that return booleans end with a question mark +5.even? # false +5.odd? # true + +# And if a method ends with an exclamation mark, it does something destructive +# like mutate the receiver. Many methods have a ! version to make a change, and +# a non-! version to just return a new changed version +company_name = "Dunder Mifflin" +company_name.upcase #=> "DUNDER MIFFLIN" +company_name #=> "Dunder Mifflin" +company_name.upcase! # we're mutating company_name this time! +company_name #=> "DUNDER MIFFLIN" + + # Define a class with the class keyword class Human |