summaryrefslogtreecommitdiffhomepage
path: root/ruby.html.markdown
diff options
context:
space:
mode:
authorZachary Ferguson <zfergus2@users.noreply.github.com>2015-10-15 14:48:59 -0400
committerZachary Ferguson <zfergus2@users.noreply.github.com>2015-10-15 14:48:59 -0400
commit65bb71f4bde383a4d0b8cd6fd49901bb6e2cfa5f (patch)
tree03802f50ac31b295ace0585ccb6bc1ea6ef9b612 /ruby.html.markdown
parenta4ea3961744c3c1ee6fcf654f011caa8dbadf56e (diff)
parent68953bd9d97328b8660dad06edd8acb8ff330ede (diff)
Merge remote-tracking branch 'refs/remotes/adambard/master'
Conflicts: c.html.markdown
Diffstat (limited to 'ruby.html.markdown')
-rw-r--r--ruby.html.markdown32
1 files changed, 30 insertions, 2 deletions
diff --git a/ruby.html.markdown b/ruby.html.markdown
index 8f23b2e6..0e798706 100644
--- a/ruby.html.markdown
+++ b/ruby.html.markdown
@@ -12,7 +12,7 @@ contributors:
- ["Dzianis Dashkevich", "https://github.com/dskecse"]
- ["Levi Bostian", "https://github.com/levibostian"]
- ["Rahil Momin", "https://github.com/iamrahil"]
-
+ - ["Gabriel Halley", https://github.com/ghalley"]
---
```ruby
@@ -39,6 +39,7 @@ You shouldn't either
10 * 2 #=> 20
35 / 5 #=> 7
2**5 #=> 32
+5 % 3 #=> 2
# Arithmetic is just syntactic sugar
# for calling a method on an object
@@ -106,8 +107,14 @@ placeholder = 'use string interpolation'
'hello ' + 3 #=> TypeError: can't convert Fixnum into String
'hello ' + 3.to_s #=> "hello 3"
-# print to the output
+# print to the output with a newline at the end
puts "I'm printing!"
+#=> I'm printing!
+#=> nil
+
+# print to the output without a newline
+print "I'm printing!"
+#=> I'm printing! => nill
# Variables
x = 25 #=> 25
@@ -154,6 +161,7 @@ array = [1, 2, 3, 4, 5] #=> [1, 2, 3, 4, 5]
# Arrays can be indexed
# From the front
array[0] #=> 1
+array.first #=> 1
array[12] #=> nil
# Like arithmetic, [var] access
@@ -164,6 +172,7 @@ array.[] 12 #=> nil
# From the end
array[-1] #=> 5
+array.last #=> 5
# With a start index and length
array[2, 3] #=> [3, 4, 5]
@@ -258,6 +267,12 @@ 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
+# variable
+array.each_with_index do |element, index|
+ puts "#{element} is number #{index} in the array"
+end
+
counter = 1
while counter <= 5 do
puts "iteration #{counter}"
@@ -269,6 +284,19 @@ end
#=> iteration 4
#=> iteration 5
+# There are a bunch of other helpful looping functions in Ruby,
+# for example "map", "reduce", "inject", the list goes on. Map,
+# for instance, takes the array it's looping over, does something
+# to it as defined in your block, and returns an entirely new array.
+array = [1,2,3,4,5]
+doubled = array.map do |element|
+ element * 2
+end
+puts doubled
+#=> [2,4,6,8,10]
+puts array
+#=> [1,2,3,4,5]
+
grade = 'B'
case grade