summaryrefslogtreecommitdiffhomepage
path: root/ruby.html.markdown
diff options
context:
space:
mode:
authorBohdan Shtepan <winsatana@ya.ru>2016-04-05 20:27:09 +0300
committerBohdan Shtepan <winsatana@ya.ru>2016-04-05 20:27:09 +0300
commit8abfffd183d34c6b76dd117351a879e8b093f8c1 (patch)
tree2ded23445aff1b22c53078e13efc7054ce8fddde /ruby.html.markdown
parentaad2d2b6f2e44f7647d0512dea263029c1d4d1fa (diff)
parent8ddf7b5178524ab84f9e59b3e9d48343805d8ca0 (diff)
Merge remote-tracking branch 'adambard/master'
Diffstat (limited to 'ruby.html.markdown')
-rw-r--r--ruby.html.markdown25
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.