Created
June 28, 2018 03:07
-
-
Save rodloboz/a130402b8b3f37aab94885f3c1e1e34b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Ranges | |
range_1 = (1..10).to_a # includes the last element | |
p range_1 | |
range_2 = (1...10).to_a # excludes the last element | |
p range_2 | |
# Arrays | |
# index 0 1 2 3 | |
surfers = [ "Kelly Slater", "Mick Fanning", "John Florence", "Gabriel Medina"] | |
p surfers | |
# alternative syntax | |
# %w(Kelly\ Slater) | |
puts surfers.size | |
# Array#length / Array#count | |
puts surfers[1] | |
# surfers.push("Hugo Collado") | |
surfers << "Hugo Collado" | |
p surfers | |
# Reading | |
puts surfers[4] | |
# Updating | |
surfers[4] = "Hugo C. Centurion" | |
p surfers | |
# surfers.last or surfers[-1] | |
# insert at specific index | |
surfers.insert(2, "Julian Leopold") | |
p surfers | |
# Iterating over indexes with for | |
for index in (0...surfers.length) | |
surfer = surfers[index] | |
puts "#{index + 1} - #{surfer}" | |
end | |
# Iterating over elements | |
for surfer in surfers | |
puts "Watching #{surfer}" | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def big_sort | |
(0..1000000).sort | |
end | |
def timer | |
start_time = Time.now | |
big_sort | |
yield # calls the block | |
# once it's done executing the block | |
# it resumes the timer execution | |
end_time = Time.now | |
end_time - start_time | |
end | |
time = timer do | |
(0..1000000).sort | |
end | |
puts time | |
def greet(name) | |
capitalized_name = name.capitalize | |
# passes capitalized_name into the | |
# block as an argument | |
yield(capitalized_name) | |
puts "[DEBUG] Block completed!" | |
end | |
greet("emma") do |capitalized_name| | |
puts "Hello, #{capitalized_name}" | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
surfers = [ "Kelly Slater", "Mick Fanning", "John Florence", "Gabriel Medina"] | |
surfers.each do |surfer| | |
puts "Hello, #{surfer}!" | |
end | |
# do end | |
surfers.each { |surfer| puts "Hello, #{surfer}" } | |
# each_with_index : value, index | |
surfers.each_with_index do |surfer, index| | |
puts "#{index + 1} - #{surfer}" | |
end | |
# map | |
upcased_surfers = surfers.map do |surfer| | |
surfer.upcase | |
end | |
p surfers | |
p upcased_surfers | |
surfers_first_names = surfers.map do |surfer| | |
first_name = surfer.split[0] | |
end | |
p surfers_first_names | |
# count will count element when return value is true | |
# return an integer | |
f_surfers_count = surfers.count do |surfer| | |
last_name = surfer.split[1].downcase | |
last_name.start_with?('f') # true | |
end | |
p f_surfers_count | |
# select => returns an array | |
surfers_with_last_name_f = surfers.select do |surfer| | |
last_name = surfer.split[1].downcase | |
last_name.start_with?('f') # true | |
end | |
p surfers_with_last_name_f | |
# find => returns the first element | |
# that evaluates to true | |
mistery_surfer = surfers.find do |surfer| | |
last_name = surfer.split[1].downcase | |
last_name.start_with?('f') # true | |
end | |
p mistery_surfer |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment