/
ch-2.js
80 lines (67 loc) · 1.48 KB
/
ch-2.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
"use strict";
let name = get_name(process.argv);
name_game(name);
function name_game(name) {
name = name.toLowerCase();
if ( name === 'chuck' ) {
throw 'Name not allowed'
}
let lyrics = function () {
/*
NAME, NAME, bo-BY
Bonanna-fanna fo-FY
Fee fi mo-MY
NAME!
*/
}
.toString()
.split(/\/\*/)[1]
.split(/\*\//)[0];
let Name = ucfirst(name);
let i = Name.substr(0, 1);
let inits = Name.match(/^([^AEIOUaeiou]+)/);
let y = Name.replace(/^([^AEIOUaeiou]+)/, "");
let by = "B" + y;
let fy = "F" + y;
let my = "M" + y;
let vowels = {
A: 1,
E: 1,
I: 1,
O: 1,
U: 1,
};
if (0) {
} else if (i === "B") {
by = ucfirst(y);
} else if (i === "F") {
by = ucfirst(y);
} else if (i === "M") {
by = ucfirst(y);
} else if (vowels[i]) {
console.log("VOWEL");
by = "B" + name;
fy = "F" + name;
my = "M" + name;
}
lyrics = lyrics.replace(/NAME/g, Name);
lyrics = lyrics.replace(/BY/, by);
lyrics = lyrics.replace(/FY/, fy);
lyrics = lyrics.replace(/MY/, my);
console.log(lyrics);
}
function get_name(argv) {
let path = require("path");
let programName = path.basename(__filename);
let re = new RegExp(programName, "g");
let name = argv.pop();
if (name.match(re) ? 1 : 0) {
name = "Dave";
}
return name;
}
function ucfirst(str) {
str = str.toLowerCase();
var firstLetter = str.substr(0, 1);
return firstLetter.toUpperCase() + str.substr(1);
}