WebFund 2016W: Tutorial 1

From Soma-notes
Jump to navigation Jump to search

This tutorial is not yet finalized.


Code

simplegrep_sync.js

<lstlisting lang="javascript"> 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]);
   }

} </lstlisting>

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);