diff options
Diffstat (limited to 'ruby.html.markdown')
| -rw-r--r-- | ruby.html.markdown | 25 | 
1 files changed, 24 insertions, 1 deletions
| diff --git a/ruby.html.markdown b/ruby.html.markdown index b7f8b4a1..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 @@ -594,3 +616,4 @@ Something.new.qux # => 'qux'  - [Ruby from other languages](https://www.ruby-lang.org/en/documentation/ruby-from-other-languages/)  - [Programming Ruby](http://www.amazon.com/Programming-Ruby-1-9-2-0-Programmers/dp/1937785491/) - An older [free edition](http://ruby-doc.com/docs/ProgrammingRuby/) is available online.  - [Ruby Style Guide](https://github.com/bbatsov/ruby-style-guide) - A community-driven Ruby coding style guide. +- [Try Ruby](http://tryruby.org) - Learn the basic of Ruby programming language, interactive in the browser. | 
