2008/03/10


追記
都合上、キーを「g」から「z」に変更させて頂いています。
以下読み替えて頂く様お願い致します。
LDRで全文取得表示するグリモン便利だなぁ。
LDR Full Feed 0.0.6
gをぺちって押してLDRで全部全文読んじゃおう。
「g」押すだけなんて!!!
でもLDR使ってない!!!

って事で、Google Readerにサクサクっと移植してみました。
そんなに大きな変更してません。SITEINFOも同じ場所を使っています。
オリジナル作者様、もし同じSITEINFOを見る事に問題があれば、ご連絡下さい。
即効でグリモン毎、削除させて頂きます。


操作は同じく、[G]のアイコンが付いてたら「g」を押下で全文取得。
とりあえず、dankogai氏のサイトでチェックして問題なさげ。

ライセンスはLDR Full Feedに委ねます。

ダウンロード:googlereaderfullfeed.user.js

googlereaderfullfeed
dankogai氏のサイトの全文です。dankogai氏問題があればご連絡下さい。
キャプチャを削除させて頂きます。
Posted at by



2008/03/07


追記1
おもいっきり間違ってる。
後で直します。
追記2
直した。

vimも負けません。
そろそろ FizzBuzz に飽きた - にぽたん研究所
Lingua::JA::Numbers無いなら作ります。
もちろんHiraganaだけですが...
scriptencoding utf-8

silent! unlet s:ndg
let s:ndg = [
  \ {0: ''},
  \ {0: 'じゅう'},
  \ {0: 'ひゃく', 3: 'ぴゃく', 6: 'ぴゃく', 8: 'ぴゃく'},
  \ {0: 'せん', 3: 'ぜん'},
\ ]

silent! unlet s:dig
let s:dig = [
  \ {0: ''},
  \ {0: 'まん'},
  \ {0: 'おく'},
  \ {0: 'ちょう'},
  \ {0: 'けい'},
  \ {0: 'がい'},
  \ {0: 'じょ'},
  \ {0: 'じょう'},
  \ {0: 'こう'},
  \ {0: 'かん'},
  \ {0: 'せい'},
  \ {0: 'さい'},
  \ {0: 'ごく'},
  \ {0: 'こうがしゃ'},
  \ {0: 'あそうぎ'},
  \ {0: 'なゆた'},
  \ {0: 'ふかしぎ'},
  \ {0: 'むりょうたいすう'}
\ ]

silent! unlet s:num
let s:num = [
  \ {0: 'ぜろ'},
  \ {0: 'いち'},
  \ {0: 'に'},
  \ {0: 'さん'},
  \ {0: 'よん'},
  \ {0: 'ご'},
  \ {0: 'ろく', 3: 'ろっ'},
  \ {0: 'なな'},
  \ {0: 'はち', 3: 'はっ', 4: 'はっ'},
  \ {0: 'きゅう'}
\ ]

" return japanese numeric string from 'num'
function! s:num2ja(num)
  let str = "" . a:num
  let len = len(str)
  if str == 0
    return s:num[0][0]
  endif
  if len >= 17*4+1
    return s:dig[17][0]
  endif
  let n = 0
  let ret = ""
  while n < len
    if str[n] != 0 && (str[n] != 1 || (len-n)%4 == 1)
      let ret .= has_key(s:num[str[n]], len-n) ?
        \ s:num[str[n]][len-n] : s:num[str[n]][0]
    endif
    if str[n] != 0
      let ret .= has_key(s:ndg[(len-n-1)%4], str[n]) ?
        \ s:ndg[(len-n-1)%4][str[n]] : s:ndg[(len-n-1)%4][0]
      let ret .= has_key(s:dig[(len-n-1)/4], str[n]) ?
        \ s:dig[(len-n-1)/4][str[n]] : s:dig[(len-n-1)/4][0]
    endif
    "echo ret
    let n = n + 1
  endwhile
  return ret
endfunction

" generate array from 'start' to 'end'
function! s:gen_array(start, end)
  let ret = []
  let n = a:start
  while n <= a:end
    call add(ret, n)
    let n = n + 1
  endwhile
  return ret
endfunction

for n in s:gen_array(1, 40)
  echo (!(n % 3) || n =~ '3') ? s:num2ja(n) : n
endfor
期待する結果:

:so NabeAtzz.vim
1
2
さん
4
5
ろく
7
8
きゅう
10
11
じゅうに
じゅうさん
14
じゅうご
16
17
じゅうはち
19
20
にじゅういち
22
にじゅうさん
にじゅうよん
25
26
にじゅうなな
28
29
さんじゅう
さんじゅういち
さんじゅうに
さんじゅうさん
さんじゅうよん
さんじゅうご
さんじゅうろく
さんじゅうなな
さんじゅうはち
さんじゅうきゅう
40

dankogai++ nipotan++ bram++
Posted at by



2008/03/05


RPC-XML-Parser-LibXML をつくってみた - TokuLog 改め だまってコードを書けよハゲ
http://svn.coderepos.org/share/lang/perl/RPC-XML-Parser-Lite/

RPC::XML::Parser というのがあり、これは expat ベース。RPC::XML::Parser::XS というのがあるのだが、これは libxml を直接つかった XS なのだ。

さらにRPC::XML::Parser::LibXML も要コンパイルなのだ。

というわけで、ためしに XML::Parser::Lite::Tree と XML::Parser:Lite::Tree::XPath をつかったものを作ってみた。機能的には一緒 & インターフェースもいっしょにしてみた。

ただ、perlへたっぴなので誰か添削ぷりーず

※要は、id:tokuhirom のパクリなのだ。

Posted at by