# Java
for(int i = 0; i < 5; i++)
# Ruby
5.times do
Try out some calculator functions
3 + 4
2 * 4
6 - 2
4 / 2
4 /* 2
=> SyntaxError: (irb):10:syntax error, unexpected *
irb> hi
NameError: undefined local variable or method `hi' for main:Object
# Everything after this pound sign will not be evaluated.
# These are called comments and I will use them to annotate code
age = 50
days_in_year = 365
days_alive = age * days_in_year
=> 18250
age = 50
_age = 50
_my_age = 50
# create and assign in one line
age = 0
# access the value in age
age
# replace value in age
age = 40
# good
occupation = "software engineer"
# bad
occupation_i_always_dreamed_of_having_in_austin = "software engineer"
o = "software engineer"
1st_occupation = "software engineer"
# error
name
name = "Heather"
defined?(name)
Built-in: Numbers, Strings, Symbols, Booleans, Regular Expressions, Arrays, Ranges & Hashes
irb> 1.class
=> Fixnum
irb> "Hello".class
=> String
irb> 1.0022.class
=> Float
irb> [1,2,3].class
=> Array
Strings are characters inside double or single quotes.
a = 'Hello '
b = "World"
c = a + b
c.reverse
=> "dlroW olleH"
a = "Spam "
b = a * 4
# Here multiplying a by 4 concatenates (links) four strings together
=>"Spam Spam Spam Spam "
"Heather".upcase
"Heather".downcase
"heather".capitalize
"Hello".reverse
"Heather".length
"Heather Moore".swapcase
"".empty?
What is the reverse of your name?
How many characters long is your name?
Can you repeat the word hello 100 times?
Numeric data comes in two types: Integers and Floats
Integers are either Fixnum or Bignum. They do not have decimals.
irb> 1_000_000_000_000_000_000.class
=> Fixnum
irb> 1_000_000_000_000_000_000_000.class
=> Bignum
Floats are numbers with at least one number to the left of a decimal point.
irb> 1.001.class
=> Float
7/8
7.0/8.0
3.14.to_s
3.14.to_i
1 + "2"
1 + "2".to_i
(1 + 2) * 3
1 + (2 * 3)
How many seconds are in an hour?
How many minutes are in a week?
How many years old are you if you've been alive 1 million seconds?
You can think of symbols as lightweight Strings.
It's good to know these exist, but don't worry about them too much for now.
# string
"hello"
# symbol
:hello
This is another Object that we will learn about later.
For now, when you hear Boolean, think TRUE and FALSE.
# NOT true
!true
=> false
# NOT false
!false
=> true
We will also leave these data types for the next class
Examples of what they will look like:
# Arrays are used to hold sets of data.
irb> array_of_numbers = [1,2,3]
irb> array_of_numbers.first
=> 1
# Ranges are used to express a sequence.
irb> range_of_numbers = (1..5)
irb> range_of_numbers.include?(4)
=> true
# Hashes are like dictionaries. You can look up a value by a key.
irb> hash_of_key_to_value =
{
"Apple" => "A fruit.",
"Cucumber" => "A vegetable."
}
irb> puts "hello"
hello
=> nil
irb> "2".to_i
=> 2
irb> 2.to_s
=> "2"
irb> "2" / 5
NoMethodError: undefined method `/' for "2":String
Put the code below in a file and save it as name.rb
puts 'Hello there, and what\'s your name?'
name = gets
puts 'Your name is ' + name.chomp! + '? What a lovely name!'
puts 'Pleased to meet you, ' + name + '. :)'
Run your program from the command line:
ruby name.rb
#1 dog year = 7 human years
user_age = gets.to_i
# YOU ARE 5 YEARS OLD IN DOG YEARS
# YOU ARE 5 YEARS OLD IN DOG YEARS (32 characters)
Write a command line program that asks the user for the year they were born, then calculates their age in years, days, and seconds. Tell the user how old they are in these different formats. (Note: you'll be using 'gets' and 'puts' in this program, along with some math)