["apple", "banana", "cherry"]
(square brackets mean "please go create an array object now")
(and put these 3 other objects inside it)
Try this in IRB:
fruits = ["apple", "banana", "cherry"]
fruits[1]
Did you get the result you expected?
Why or why not?
When counting,
humans start at one,
but computers start at zero.
So the first item in an array is number zero, not number one.
Try this:
fruits[99]
Did you get the result you expected?
Why or why not?
by returning nil, the computer is answering the question
"What is the 99th item?"
with the answer
"There is no 99th item."
fruits.last
fruits.first
fruits.reverse
fruits.shuffle
fruits.join
fruits.join(" and ")
Note that to_s
doesn't work right on arrays:
fruits.to_s
puts fruits.to_s
fruits.each do |fruit|
puts fruit
end
each
is like while
for arraysfruits.each do
means "for each item inside this array, do this"|fruit|
means "put the current item into a variable named fruit
"puts fruit
means "print out the value of this variable"end
means "we're done with the loop now" :-)Given this array:
fruits = ["apple", "banana", "cherry"]
write a program that prints:
yrrehc
ananab
elppa
The []
operator works for assignment as well.
fruits[0] = "Apricot"
fruits[1] = "Blueberry"
puts fruits.first
The include?
method checks if an object is inside an array or not.
fruits.include? "apple"
true
fruits.include? "pizza"
false
Remember, here we are sending a message to an array, asking if it includes a certain string.
Refactoring is changing existing code so that it works the same, but is cleaner and easier to read.
In your old hello.rb
program you had an if
statement to check if someone is your enemy. Something like:
if name == "darth" or name == "voldemort" or name == "sauron" then
I'd like you to refactor your old hello.rb
program to use the include?
method to check if someone is your enemy. Is it possible to make that if
statement cleaner and easier to read?
/