Last active
February 19, 2017 16:46
-
-
Save bmikol/c80f56d4ec62fb50b7c500a89d2e7d78 to your computer and use it in GitHub Desktop.
CareerFoundry Ex 3.4
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
| class Cat | |
| attr_reader :color, :breed # Be able to read these instance variables outside of the instance | |
| attr_accessor :name # Be able to both read & write this instance variable outside of the instance | |
| def initialize(color, breed) # Initialize instance variables | |
| @color = color | |
| @breed = breed | |
| @hungry = true | |
| end | |
| def feed(food) | |
| puts "Mmmm, " + food + "!" | |
| @hungry = false | |
| end | |
| def hungry? | |
| if @hungry | |
| puts "I'm hungry!" | |
| else | |
| puts "I'm full!" | |
| end | |
| @hungry | |
| end | |
| def speak | |
| puts "Meow!" | |
| end | |
| end | |
| kitty = Cat.new("grey", "Persian") | |
| puts "Let's inspect our new cat:" | |
| puts kitty.inspect | |
| puts "What class does our new cat belong to?" | |
| puts kitty.class | |
| puts "Is our new cat an object?" | |
| puts kitty.is_a?(Object) | |
| puts "What color is our cat?" | |
| puts kitty.color | |
| puts "Let's give our new cat a name." | |
| kitty.name = "Maceo" | |
| puts kitty.name | |
| puts "Is #{kitty.name} hungry now?" # Added string interpolation because it's weird to keep referring to "our cat" after naming it. | |
| kitty.hungry? | |
| puts "Let's feed #{kitty.name}." | |
| kitty.feed("tuna") | |
| puts "Is #{kitty.name} hungry now?" | |
| kitty.hungry? | |
| puts "#{kitty.name} can make some noise." | |
| kitty.speak |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment