2008-10-8勉強メモ
昼間わかったことのオレオレメモです。。(記憶で書くのでこのとおりいかないかも)
ちなみに今、プロジェクト内部でのBTSの整備とかをやってます。
その過程でjQueryとかrubyを触ってみたかんじをつれづれにメモします。
IEの動作(1): 配列とかの最後の「,」
前にamachangのS6をいじったとき、IEでだけ動かなくてハマったのと同じ件にまた引っかかった。
いくつかの言語では、配列などの並びがこんな感じになってる。(インチキBNF)
ary_literal := '[' ary_elems ']' ary_elems := elem ( ',' elem )* [',']
FireFoxで以下を試すと両方いけるが、IE6だとyはしくじる。
var x = [1,2,3]; var y = [1,2,3,];
IEの動作(2): String#split()の怪
Perl
join(':', split(/,/, '0,1,,3,4')) #=> "0:1::3:4"
Ruby
'0,1,,3,4'.split(/,/).join(':') #=>"0:1::3:4"
Java
JAVA長いよ。(commons langを使えばいいんだけど。)
private static String joinArray() { String[] ary = "0,1,,3,4".split(","); StringBuilder buf = new StringBuilder(ary[0]); for (int i = 1; i < ary.length; i++) { buf.append(':'); buf.append(ary[i]); } return buf.toString(); //=> "0:1::3:4" }
JavaScript(FireFox3)
'0,1,,3,4'.split(/,/).join(':') //=> "0:1::3:4"
JScript(IE6)
'0,1,,3,4'.split(/,/).join(':') //=> "0:1:3:4" ← JScriptでだけ、要素2が消えている!