Skip to content

Instantly share code, notes, and snippets.

@aleksxor
Created November 8, 2016 11:21
Show Gist options
  • Save aleksxor/820698620a7603020855f5bd9d41bb82 to your computer and use it in GitHub Desktop.
Save aleksxor/820698620a7603020855f5bd9d41bb82 to your computer and use it in GitHub Desktop.
pipe demo
#!/usr/bin/env node
let data = '';
const args = process.argv.slice(2);
if (args.length) {
console.log(sum(args));
process.exit(0);
}
process.stdin.resume();
process.stdin.setEncoding('utf-8');
process.stdin.on('data', (chunk) => data = data + chunk);
process.stdin.on('end', () => {
console.log(sum(data.split(' ')));
process.exit(0);
})
function sum(arr) {
return arr
.map(n => parseInt(n, 10))
.reduce((acc, n) => acc + n, 0);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment