WebFund 2016W: Tutorial 1: Difference between revisions
Line 32: | Line 32: | ||
===simplegrep_async.js=== | ===simplegrep_async.js=== | ||
[http://homeostasis.scs.carleton.ca/~soma/webfund-2016w/code/simplegrep_async.js Downloadable version]. | |||
<source line lang="javascript"> | <source line lang="javascript"> |
Revision as of 02:41, 11 January 2016
This tutorial is not yet finalized.
Code
simplegrep_sync.js
var fs = require('fs');
if (process.argv.length < 4) {
console.error('Not enough parameters given. Try this: ' +
'"node findinfile_sync term filename.txt"');
process.exit(1);
}
var searchterm = process.argv[2];
var filename = process.argv[3];
var rawContents = fs.readFileSync(filename, 'utf-8');
var lines = rawContents.split('\n');
for (i = 0; i < lines.length; i++) {
if (lines[i].indexOf(searchterm) > -1) {
console.log(lines[i]);
}
}
simplegrep_async.js
var fs = require('fs');
if (process.argv.length < 4) {
console.error('Not enough parameters given. Try this: ' +
'"node findinfile_sync term filename.txt"');
process.exit(1);
}
var searchterm = process.argv[2];
var filename = process.argv[3];
var returnMatches = function(err, rawContents) {
var lines = rawContents.split('\n');
lines.forEach(function(theLine) {
if (theLine.indexOf(searchterm) > -1) {
console.log(theLine);
}
});
}
fs.readFile(filename, 'utf-8', returnMatches);