ASUS Eee Pad Transformer TF101のドライバをインストール

インストーラーがついてるわけじゃないのでちょっと迷った。

  • 公式サイトよりドライバをダウンロード

http://www.asus.com/Eee/Eee_Pad/Eee_Pad_Transformer_TF101/#download

  • バイスマネージャ等でドライバのインストールに失敗しているEee Pad Transformerがあるはずなので、解凍して出てきたフォルダをドライバのインストール元に指定してインストール

JS,Ruby,Haskellで1〜100の間の奇数からなる配列の作り方

CodeEvalの問題なんだけど、JSで普通に解くとこうなる。

var a = [];
for(var i=0;i<50;i++)a.push(2*i+1);

なんていうか、面白くない(><)
処理の効率とか可読性とか置いておいて、このfor文で使っている変数iを消し去りたい。

JavaScript1.7では内包表記が使えるのでこう書けるらしい。

function range(b,e){
  for(let i = b;i<=e;i++)yield i;
}
var a = [2*x+1 for each (x in range(0,49))];       

配列aの定義部分はとてもすっきりして素敵!これで後はrange(1,100)の部分が(1..100)とか書けて関数rangeがなくなればいいんだけど、無理っぽい。

次のようにrangeを無名関数にして内包表記の中に突っ込んでしまえばrangeも消えるけど、これは消えるだけで美味しくない。

var a = [2*x+1 for each (x in (function(b,e){ for(let i = b;i<=e;i++)yield i;})(0,49))];

Rubyで書くと

a =  (0..49).map{|i|2*i+1}

JSも配列を1..100とか書ければ楽なんだけどな。

//こう書ければいいのに(><)
var a = [0..49].map(function(x)2*x+1);

Haskellすごい

こう書くだけで自動で奇数だけを列挙してくれる。

let a = [1,3..99]

こ、これはすごいシンタックスシュガーだ。

sudo npm installすると怒られる

ちゃんとインストール出来たかを試そうとexpressをインストールしてみる。

npm install express

が、「Permissionでない」と怒られたのでsudoを付けてみる。

sudo npm install express

今度はnpm okと出てインストールは出来たようなんだけど、途中で

npm ERR! sudon't! 
npm ERR! sudon't! Running npm as root is not recommended!
npm ERR! sudon't! Seriously, don't do this!
npm ERR! sudon't!

「sudoするんじゃないよ(迫真」と怒られていた。これはどうすればいいんだろう。npmでインストールされるパッケージが置かれるディレクトリを~/以下とかにすればいいんだろうけど、どう設定すればいいの(><)

npmのインストールでエラー

http://npmjs.org/
Node Package Managerの公式にあるワンライナー的な次のコマンドで楽々インストールだよ!(><)

curl http://npmjs.org/install.sh | sh 

が、エラー。何やらCould not find stream moduleとか怒られてIt failed。ぷんすか!!しょうがないからソースからビルドする方法を試すよ!

まず、gitが入ってなかったのでgitをインストールだよ

sudo apt-get install git-core

gitコマンドが使えるようになったらここにあるようにしてビルドするよ

git clone git://github.com/isaacs/npm.git ./npm
cd npm
git checkout origin/0.2
make dev

make devのあと何だかんだでnpm okとか出たのでsudo make installしてインストール完了!!動くか分からないけど取り敢えず出来た!ばんざーい