Giter Site home page Giter Site logo

instance-methods-lab-ruby-dumbo-web-82619's Introduction

Instance Methods Lab Ruby

Learning Goals

  • Define a class.
  • Build instance methods for the class.

Overview

In this lab, we will practice defining classes and building instance methods inside them. Specifically, you are going to be adding 2 instance methods to a Dog and Person class.

Instructions

Open this lab with learn open and run your tests with learn.

1. Define Dog in lib/dog.rb

Open lib/dog.rb and add a class definition for a Dog class.

2. Define #bark in Dog

Add an instance method #bark to your Dog class in lib/dog.rb that will puts "Woof!"

3. Define #sit in Dog

Add an instance method #sit to your Dog class in lib/dog.rb that will puts "The Dog is sitting".

4. Define a Person in lib/person.rb

Open lib/person.rb and add a class definition for a Person class.

5. Define #talk in Person

Add an instance method #talk to your Person class in lib/person.rb that will puts "Hello World!"

6. Define #walk in Person

Add an instance method #walk to your Person class in lib/person.rb that will puts "The Person is walking".

When you're done, submit the lab with learn submit.

Conclusion

With all tests passing, you have successfully written multiple instance methods and two different classes!

Additional Note on Lab Testing

In this lab, we asked that you code your two classes in separate dog.rb and person.rb files. You could, in theory, code both classes in the same file, or even code them in opposite files and still pass all tests. Why do you think that is?

...

...

When the tests are run in this lab, RSpec loads both the dog.rb and person.rb files (this happens in the first to lines of spec/spec_helper.rb using require_relative). As long as you place your classes in one of the files that RSpec loads, the tests will have access to them.

While it isn't enforced, we do encourage you to separate classes into individual, accurately named files. In a larger application, you might not always need to load the Dog class when loading the Person class. As classes get larger, it also becomes easier to manage your code if you know each file contains one class. Keeping to these conventions makes it easier in the future to go back and read code you've previously written.

View Instance Methods Lab Ruby on Learn.co and start learning to code for free.

instance-methods-lab-ruby-dumbo-web-82619's People

Contributors

maxwellbenton avatar aviflombaum avatar markdenardo avatar doobee46 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.