Code Monkey home page Code Monkey logo

8-0-javascript-on-your-machine-lab's Introduction

JavaScript on Your Machine Lab

In this lab, you'll be building a small calculator function. Don't worry, your calculator will only need to add up numbers or subtract numbers. But, it will be doing it all from the command line!

Getting started

  1. Fork and clone this repository.

  2. Navigate to the cloned repository's directory on your command line. Then, run the following command:

    npm install
    

    This will install the libraries needed to run the tests.

  3. Open up the repository in VSCode. Follow the instructions below to complete the Lab.

Instructions

Complete the calculator() function in the index.js file. This function will have no parameters -- instead, make use of process.argv to take in arguments from the command line. Use the tests, the JSDoc syntax, and the examples below to learn more about how the function should work.

Tests

To run the tests, you can run the following command from the command line. You will need to be in the root directory of your repository.

npm test

This will run the test output once.

Run file

If you want to manually test out your file, you can do so by running the following command.

node run.js

Add any arguments you want to test after the filename. For example:

node run.js plus 10 9 8

The output will be printed to your terminal.

Test watcher

If you'd like, you can have the tests run constantly. This means that each time you save your file, your tests will re-run. To do so, you can run the following:

npm run watch

Follow the on-screen prompts to exit out of the constant runner.

Testing syntax

In order to simulate the command line, you'll see the following lines in the tests:

const command = "plus";
const numbers = ["5", "10"];
process.argv.push(command, ...numbers);

This is similar to running the following on the command line.

node index.js plus 5 10

Examples

The following are examples of what should happen when running the code from the command line.

Example 1

Command line

node index.js plus 1 2 3 4 5

Result

15;

Example 2

Command line

node index.js minus 10 5 1

Result

4;

Example 3

Command line

node index.js divide 10 2

Result

"Invalid operation: divide";

Example 4

Command line

node index.js minus

Result

"No numbers provided...";

Example 5

Command line

node index.js

Result

"No operation provided...";

Tips

  • Remember that the first and second elements of process.argv are always the path to the node program and the filepath.
  • Remember that each argument from the command line will be read in as a string. You will need some way to convert the inputs from strings to numbers.
  • Because you don't know how many numbers will be passed in, you may need to iterate over the numbers.

8-0-javascript-on-your-machine-lab's People

Contributors

bwreid avatar meera-ramesh19 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.