WebFund 2016W: Tutorial 1: Difference between revisions

From Soma-notes
Created page with "'''This tutorial is not yet finalized.''' ==Code== ===simplegrep_sync.js=== <code lang="javascript"> var fs = require('fs'); if (process.argv.length < 4) { console.er..."
 
Line 6: Line 6:
===simplegrep_sync.js===
===simplegrep_sync.js===


<code lang="javascript">
<lstlisting lang="javascript">
var fs = require('fs');
var fs = require('fs');


Line 26: Line 26:
     }
     }
}
}
</code>
</lstlisting>
 


===simplegrep_async.js===
===simplegrep_async.js===

Revision as of 02:38, 11 January 2016

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