nodejs learnyounode pass 官方 An…
来源:互联网 发布:内裤淘宝 编辑:程序博客网 时间:2024/05/17 01:02
1. HELLO WORLD
console.log("HELLO WORLD")
2. BABY STEPS
var result =0
for (var i =2; i < process.argv.length; i++)
result += Number(process.argv[i])
console.log(result)
3. MY FIRST I/O
var fs =require('fs')
var contents= fs.readFileSync(process.argv[2])
var lines =contents.toString().split('\n').length - 1
console.log(lines)
// note youcan avoid the .toString() by passing 'utf8' as the
// secondargument to readFileSync, then you'll get a String!
//
//fs.readFileSync(process.argv[2], 'utf8').split('\n').length -1
4. MY FIRST ASYNC I/O
var fs =require('fs')
var file =process.argv[2]
fs.readFile(file, function (err, contents) {
// fs.readFile(file, 'utf8', callback) can also be used
var lines = contents.toString().split('\n').length - 1
console.log(lines)
})
5. FILTERED LS
var fs =require('fs')
var path =require('path')
fs.readdir(process.argv[2], function (err, list) {
list.forEach(function (file) {
if (path.extname(file) === '.' + process.argv[3])
console.log(file)
})
})
6. MAKE IT MODULAR
solution.js:
var filterFn= require('./solution_filter.js')
var dir =process.argv[2]
varfilterStr = process.argv[3]
filterFn(dir, filterStr, function (err, list) {
if (err)
return console.error('There was an error:', err)
list.forEach(function (file) {
console.log(file)
})
})
solution_filter.js:
var fs =require('fs')
var path =require('path')
module.exports = function (dir, filterStr, callback) {
fs.readdir(dir, function (err, list) {
if (err)
return callback(err)
list = list.filter(function (file) {
return path.extname(file) === '.' + filterStr
})
callback(null, list)
})
console.log("HELLO WORLD")
2. BABY STEPS
3. MY FIRST I/O
4. MY FIRST ASYNC I/O
5. FILTERED LS
6. MAKE IT MODULAR
solution.js:
solution_filter.js: