顯示具有 perl 標籤的文章。 顯示所有文章
顯示具有 perl 標籤的文章。 顯示所有文章

星期日, 5月 30, 2010

新版 ydict ! update: 2013/07/10


最近 yahoo 的字典改版了, 害 4$ 改寫的 ydict 不能用了, 只好重新寫 parser ...
這邊是我重寫的 ydict, 配色和版面都參考之前的 ydict, 但是 parser 整個重新寫了, 以 MIT licence 釋出:

最新的版本可到這邊下載:
https://github.com/freehaha/ydict/releases


歡迎自由抓取修改, 但是使用後果自行負責!
-------------------------------
6/23 更新:
yahoo 字典的音標位置有點變, 造成音標抓不到, 改過來了
-------------------------------
6/27 更新:
改了一下切割英/中 example 的 regexp, 稍微改善一點排版

由於新版的 yahoo 字典的例句中英沒有明顯的分隔, 目前我只能由找到的第一個非英文字來分割中英文,還是有點瑕疵不過還算堪用啦 XD

-------------------------------
2012/12/07 更新
前幾天有發現 ydict 不能用了,但沒有特別注意,今天學長說不能用了我才發現還有人在用 ydict, 決定來改一改. 這個版本除了原本的功能還加上了變化型和同義字。可能還有些 bugs, 歡迎大家回報(雖然我可能不會馬上改就是了^^|||)。
-------------------------------
2013/04/02 更新
修正部份字詞 (colour, children) 會漏抓解釋的問題。
-------------------------------
2013/07/10
想說怎麼都查不到字, 結果是 yahoo 字典又改版了! 已更新.
另外開了 github 的 repo: https://github.com/freehaha/ydict, 歡迎任何 pull request.
-------------------------------
2013/07/25
yahoo 又改回之前的版本, 請到上面 github 的連結去下載最新的版本(其實是 20130402 的 版本, 上面前兩個連結將不會繼續更新, 以後請到 github 下載. 有問題的話也可以在那邊發 issue 給我.
-------------------------------
2013/08/14
後續就不在這邊更新了, 可以到以上 github 連結看 README 跟 release. 有問題還是歡迎在這邊留言, 或是到 github 發 issue ticket.

星期五, 4月 30, 2010

perl threads encoding

上一篇 講到了讓 DBI::SQLite 自動為 string 加上 utf-8 flag,其實是因為我最近在寫 gtk 的時候需要用到額外的 thread,但是 encoding (perl 內建的 package) 不是 thread-safe 而且只要一用,threading 就一定以 segmentation fault 收場。
我目前是沒有找到什麼解法,但是如果是使用不同編碼來寫 perl 那可能只能暫時用 package Encode 的 decode 或 encode 來把每個字串包起來吧 Orz. 天阿,好險我都用 utf-8

星期日, 8月 09, 2009

perl xsub compiling warning: unused variable 'items'

在compile xsub 的時候,perl 會自動生成 bootstrap function, 執行時透過呼叫這個bootstrap 把其他 subroutine 生出來. 但是由於 perl 的機制,會在產生出來的bootstrap 裡面加上 item 這個變數卻又不用他,當開發時打開 -Wall 就會覺得很惱人。上網找了一下,在 DBI 的原始碼裡面看到了用這樣的方法:

BOOT:
items = items; /* avoid 'unused variable' warning */

只要在 .xs 裡面加入這兩行,在xsubpp 轉換出來的 bootstrap 裡面就會有 items = items; 的 statement,compile 以後也就不會有 warning 了。