week1 gr01-02
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules
|
||||
jspm_packages
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
Usage: person [options]
|
||||
|
||||
Options:
|
||||
|
||||
-h, --help output usage information
|
||||
-V, --version output the version number
|
||||
-n, --name [string] Name of the person to match
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "person",
|
||||
"version": "1.0.0",
|
||||
"description": "select person from database",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "gauthier",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"commander": "^2.9.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
file: person.js
|
||||
desc: simple script that matches incoming arguments (--name)
|
||||
with a simple database
|
||||
author: gauthier
|
||||
date: 03/11/16
|
||||
*/
|
||||
|
||||
// import 'commander' (https://www.npmjs.com/package/commander)
|
||||
var program = require('commander');
|
||||
|
||||
// database of persons
|
||||
var person1_name = "James";
|
||||
var person1_age = 25;
|
||||
var person1_lan = "english";
|
||||
|
||||
var person2_name = "Rita";
|
||||
var person2_age = 7;
|
||||
var person2_lan = "danish";
|
||||
|
||||
var person3_name = "Geert";
|
||||
var person3_age = 51;
|
||||
var person3_lan = "dutch";
|
||||
|
||||
// initialise program (aka commander)
|
||||
program
|
||||
.version('0.1')
|
||||
.option('-n, --name [string]', 'Name of the person to match', 'empty') // add option --name with default value "empty"
|
||||
.parse(process.argv);
|
||||
|
||||
// check what the value of name is regardless of if it matches or not
|
||||
console.log(program.name); // this line can be commented out
|
||||
|
||||
// match value of input's "name" argument
|
||||
switch(program.name)
|
||||
{
|
||||
case person1_name:
|
||||
// input match person1
|
||||
console.log(person1_name); // print name
|
||||
console.log(person1_age); // print age
|
||||
console.log(person1_lan); // print language
|
||||
break;
|
||||
case person2_name:
|
||||
// input match person2
|
||||
console.log(person2_name);
|
||||
console.log(person2_age);
|
||||
console.log(person2_lan);
|
||||
break;
|
||||
case person3_name:
|
||||
// input match person3
|
||||
console.log(person3_name);
|
||||
console.log(person3_age);
|
||||
console.log(person3_lan);
|
||||
break;
|
||||
default:
|
||||
// default message if no match
|
||||
console.log('...');
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user