タグ

ブックマーク / shugo.net (2)

  • Journal InTime - to_jsonのSafari対策

    _ to_jsonのSafari対策 この間のコードだと、Safariで文字化けしてしまった。 やっぱり\u記法を使わないといけないようだ。 class String JSON_ESCAPED = { "\010" => '\b', "\f" => '\f', "\n" => '\n', "\r" => '\r', "\t" => '\t', '"' => '\"', '\\' => '\\\\' } def to_json return '"' + gsub(/[\010\f\n\r\t"\\]/) { |s| JSON_ESCAPED[s] }.gsub(/([\xC0-\xDF][\x80-\xBF]| [\xE0-\xEF][\x80-\xBF]{2}| [\xF0-\xF7][\x80-\xBF]{3})+/ux) { |s| s.unpack("U*").pack("n*").

    walf443
    walf443 2006/08/13
    to_jsonの速い実装
  • String#succ - Journal InTime(2006-05-02)

    _ String#succ 現実逃避。 あぁっ、String#succ が 引数回数分 succ してくれたら! [ξ;゜⊿゜)ξ { 遅レス。 - String#succより引用] メソッド定義せずにすませるならこんなんかなあ。 s = "a" n = 10 p (1..n).inject(s) {|x,| x.succ} injectよりしっくりくるメソッドは思いつかず。 何かありそうな気がするけど。

    walf443
    walf443 2006/05/02
    なるほど。
  • 1