2006-01-01から1年間の記事一覧
またしても IE のバグです document.createElement('html').style.backgroundColor = 'red'; たったこれだけで IE が落ちる。 IE6、 IE7 ともに落ちました。 検証用 http://sample.ecmascript.jp/iecrash.html IE でクリックするとブラウザが落ちます。
このエントリの続きです。 d:id:amachang:20061220:1166630932 ActionScript では Object.prototype を書き換えていいので・・・、 実際に便利な関数を作ってみた _def 関数 この関数は、 DontEnum な(for in で繰り返されない)プロバティを作る Object.prot…
Object 汚染とは 簡単に言うと Object.prototype を拡張したときに、すべての for in に影響を与えてしまって、いろんなことが困る。という問題である。 DontEnum という内部属性をスクリプトから与える手段がないために発生する。 Object.prototype.hoge = …
知り合いが作ったんですが ブログバトラーというブログパーツが結構おもしろいです。 http://blogbattler.com/ どうやら、キーワードを抽出してコマンドを作るみたいで、 僕だと、「コンパイル」などの魔法が使えます。 ブログバトラーを使っている人がいま…
有罪が出たそうだ http://japan.cnet.com/news/biz/story/0,2000056020,20338740,00.htm うーん。難しいことはよく分からない。 とにかく 自由にプログラムを書けなくなるのは、(*>□<) 僕みたいなプログラマから、プログラムを書く自由を奪ったらただのニ…
注釈 まだまだ、Haskell 歴 5 日なので、多少間違っててても許してください。 do は これを main = getChar >>= (\a -> ( getChar >>= (\b -> putChar b)) >> ( putChar a)) これにしている main = do a <- getChar b <- getChar putChar b putChar a do の…
そんな設定あったのね><!
ほんのちょっとけ分かったかも 環境という引数を省略する形なのかな? 環境が変われば値も変わる。 環境という値を引数として与えているならば、毎回値が変わるのも参照透過と言い切れる。 本来はこういうもの? f :: a -> Env -> Envでも、これだと Env だ…
これがモナド main = putStrLn $ unlines $ do v1 <- [1, 2, 3] v2 <- f v1 v3 <- g v2 f v3 f :: Integer -> [String] f x = [show x, show x] g :: String -> [Integer] g x = [read x, read x] よくわからん。 なんか、もうすこしで分かりそうなんだが。…
コンパイルしようとすると以下のようなエラーが出る場合がある ghc ... <built-in>:0:1: lexical error そういうときはこうしてやればおk LANG=C ghc ...</built-in>
以下の例はダメ main = putStrLn $ unlines $ map show $ f f = g 0 f g n (x:xs) = n : g (x + 1) xs (x:xs) → ~(x:xs) なら OK main = putStrLn $ unlines $ map show $ f f = g 0 f g n ~(x:xs) = n : g (x + 1) xs その心は 一番最初に (x:xs) のパター…
再帰が難しいので練習として色んな数列を作ってみた main = do putStrLn $ j $ take 8 $ s1 0 1 putStrLn $ j $ take 8 $ s2 1 2 putStrLn $ j $ take 8 $ s3 putStrLn $ j $ take 8 $ s4 0 (+1) putStrLn $ j $ take 8 $ s4 1 (*2) putStrLn $ j $ take 8 $…
このエントリはきっと嘘だらけだと思います Haskell を使ってみて自分が感じたイメージを文章にしてみただけです。 Haskell の遅延評価について自分の脳内を整理 Haskell は変数がない。 変数っぽくみえるシンボルは全部(?)関数だ。 だから、副作用(IOとか)…
遅延評価は分かったけど 具体的に使ってみないことには「便利!!」と感動できないので。 毎日ちょっとだけ暇見つけて Haskell を勉強してみよう はじめてのプログラミング 僕は、初めてプログラムを書くとき、閏年を考慮した月の日数計算をするプログラムを…
たたみたたみ 会社の畳で仕事してます
低速版 function fib(i) { if(i == 0 || i == 1) return i; return fib(i-1) + fib(i-2); } 高速版 function fib(i) { return (function(i) { if(i == 0) return [0, 1]; return (function(a){ return [a[1], a[1] + a[0]] })(arguments.callee(i-1)); })(i)…
ぶっちゃけ 僕は遅延評価のことたぶんあんまり理解してないと思います。 でも、とりあえずこんなの作ってみた function l(a) { return typeof a == 'function' ? a() : a } // lazy の l こうやって使う function add(i, j) { return l(i) + l(j) } var coun…
グローバル領域に以下の一行を書く <script> var currentScript = (function (e) { if(e.nodeName.toLowerCase() == 'script') return e; return arguments.callee(e.lastChild) })(document); alert(currentScript); </script>こうすることで、currentScript はこの script …
このイベント見にいきます ^^ http://www.osss.cs.tsukuba.ac.jp/kato/wiki/kato/index.php?OpenCollege4会場で見かけたら、是非声掛けてください ^^
どーでもいいことですが JavaScript のことを Java と言われると、なんか皮膚の一センチ奥のあたりが「むずむずかゆーく」なるんです。 でも エンジニア以外の人からすれば、一般的に Java というと JavaScript を想像する人が多いらしい。 ところで ジャワ…
関数を非同期化する関数を作ってみた。 Function.prototype.asynchronize = function() { var f = this; return function() { var resultcb = function() {}; var failcb = function(e) { throw e }; if (typeof arguments[arguments.length - 1] == 'functi…
こういう感じ var global = (function(){return this})(); だから JavaScript で SandBox を作るのは結構難しい
まず、すべてのページが対応する CSS を読み込むように設定 $ vim /path/to/project/templates/site_css.cs @import url(/site
モバイルファクトリー様と弊社との勉強会がありました。 残念ながら身内に不幸があって、出席できなかったのですが。 id:ZIGOROuさんに代打で発表してもらいました。ありがとうございます。 資料を公開します http://usrb.in/svn/amachang/presentation/2006…
海外記事から引用 It seems that Microsoft has started flagging Gmail as a virus in their virus scanning software Windows Live OneCare. Many people are reporting that every time they open Gmail, a warning is displayed telling the user they a…
最近は JavaScript 2.0 周りの動きがすごい ActionScript 3.0 の VM が Mozilla に提供された ActionScript 3.0 は ECMAScript 4th Edition(=JavaScript 2.0) 準拠 提供された VM を Firefox 3 に乗せるために Tamarin (たまりん) プロジェクト発足 たまりん…
先に言っておきますが。Firefox 専用です。。。。 自分用に作ったんですが、なかなか便利なので公開します。 このブックマークレットを実行し、そのページ内の英単語をダブルクリックすると自動で英英辞典を検索してくれます。 javascript:document.addEvent…
JavaScript では単体の + 演算で数値化が行われる これを利用して数値っぽいか判定する関数を作ってみた。 このオブジェクト数値っぽい? function isNumber(a) { return +a == a } こんな感じで使う isNumber(true); // true (true は 1 として扱うことがで…
Perl を書いていて、ひさしぶりに JavaScript をやろうとすると 頭の中で do を求めてしまう。こんな感じで書きたいよぅって sub hoge { my ($self, $arg) = @_; $arg ||= do { # なんか処理 1; # 最後に評価した値が do の値になる }; # 関数の中身 } JavaS…
この机すごすぎる。。。