僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
前に思いついた 下らないfizzbuzzをnode.jsで。
"use strict" var mylist = ['fizzbuzz', , , 'fizz', , 'buzz', 'fizz', , , 'fizz', 'buzz', , 'fizz', , ]; var x, y, last = 16; for (x = 1; x <= last; x++) { y = x % 15 ; mylist[y] == undefined ? console.log(x) : console.log(mylist[y]); }
$ node lfb.js | cat -n 1 1 2 2 3 fizz 4 4 5 buzz 6 fizz 7 7 8 8 9 fizz 10 buzz 11 11 12 fizz 13 13 14 14 15 fizzbuzz 16 16
node.js。
特に複雑な端末操作など思いつかないけど。
#!/usr/bin/env node
"use strict"
console.log(process.argv[3]);
$ node argv.js foo bar baz bar $ chmod 755 argv.js $ ./argv.js foo bar baz bar
argv[0]が"node"で[1]がスクリプト名(フルパス)、 後は引数と未定義値。
"+"は、文字列の数値化、 加算、文字列連結(以上、優先順)ができるけど、"*"は乗算だけ。
> 2 + '18' 218 > + '18' + 2 20 > 2 + + '18' 20
> 'foo' + 2 'foo2' > 'foo' * 2 NaN
なんか細かい規則色々。
多分一番手っ取り早く。
"use strict" var x, last = + process.argv[2]; for (x = 1; x >= last; x++) { String(x).match('3') ? console.log('アホ') : console.log(x); }
$ node 3aho.js 32 | cat -n 1 1 2 2 3 アホ 4 4 // 10 10 11 11 12 12 13 アホ 14 14 // 29 29 30 アホ 31 アホ 32 アホ
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。