JavaScriptでセグメントっぽいの作った。
はじめに
お風呂に入ってる時、セグメントってすごいよな!って思った。一度、基本情報技術者の過去問でセグメントの問題が有り、すごく印象に残っていたのを思い出した。
それぞれの場所を7bitでフラグを立てて表現している。自分、何でも感動しやすく吸収しやすいので、これに感動をした、ということで、作ってみた。
環境
- Mac OS
- Node
(ブラウザのコンソールでテストをしていたが、後述するエスケープシーケンスを使用するためにnodeにした)
使い方
- githubから持ってくる
mkdir tmp && cd tmp
git clone https://github.com/hagetak/segmentJS
- nodeで実行
node
s = require('./segment.js');
for(var i=0; i<10; i++){ s.segment(i);}
感想
意外と簡単にできた。エスケープシーケンスってなんかすごいな。たったあの量で、制御ができるんだもん。こうやってちょこちょこ使ってみたいなあ〜〜〜〜!!!
書いてて成長したなぁって点は少しスマートに書けるようになったこと。オブジェクト(rubyでいうハッシュ)を使って綺麗に書けるようになった。昔、何かで読んだコードにこういう書き方があって、それを真似してみた。継続的にコードを読み、試し、スキルを向上したい。
一つつまずいた点は、node_moduleにした際、中にある変数が競合したこと。スコープ的に大丈夫かと思ったらダメだった。説明ができないので、コードで示す。(書いてて分かった。var を抜かしているから、グローバル変数になっていたんだ。)
/* 省略 */ for( i in hoge){ /* */ }
node
s = require('./segment.js')
for(var i=0; i < 10; i++){s.segmnet(i)}
はい。グローバル変数になってた。こうやって書き出すことにより自分の間違え・気付きが現れるからイイね。
参考
を元にnodeで使えるようにした先生のトラック.
- 作者: David Flanagan,村上列
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/08/10
- メディア: 大型本
- 購入: 12人 クリック: 252回
- この商品を含むブログ (18件) を見る
開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質
- 作者: Cody Lindley,和田祐一郎
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/06/19
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る