2007年4月13日 星期五
變數的宣告
JavaScript 的區域性變數通常是在函數中宣告,必須使用 var 宣告之;全域性變數則無須使用 var 宣告。
- 區域性變數僅於所在函數中有效。
- 全域性變數於該文件的所有 <script> 標籤中均有效。
範例:
<script> var arms = 2 //arms是全域變數 legs = 2 //legs是全域變數 function init() { var heads = 1 //heads是區域變數 eyes = heads * 2 //eyes是全域變數 } init() document.write("手臂有",arms,"隻<BR>") document.write("腿有"+legs+"條<BR>") document.write("頭有",heads,"個<BR>") document.write("眼睛有"+eyes+"粒<BR>") </script>
上例只會印出:
手臂有2隻 腿有2條
因為當執行到「頭有 1 個」的時候,JavaScript 會發生錯誤,而無法繼續執行下去!
- 在函數外宣告的變數,無論是否使用保留字 var 宣告,均稱為全域變數。
- 在函數內宣告的變數,如使用 var 宣告,則為區域變數;未使用 var 宣告,則仍視為全域變數。
function 定義
function 為結構化程式設計的基礎,定義的 function 代表一段副程式。利用關鍵字 function 宣告函式名稱。
function 函式名稱(引數)
{敘述}
若有多個引數(argument),須用逗號隔開。引數的個數可以用以下變數來取得:
函數名稱.arguments.length
引數的值可以用以下變數取得:
函數名稱.arguments[x]
2007年2月10日 星期六
CKIP Auto Tagger
說明
依據 CKIP 標準製作的 POS tagger。
安裝方法和注意事項
- 解壓縮 CKIP_AutoTagger。要注意的是,該目錄路徑中不能包含有空白字元。如 D:\Tools\CKIP_AutoTagger\CKIPAT
- 環境變數 PATH 中加入解壓縮後的目錄。如:SET PATH=%PATH%;D:\Tools\CKIP_AutoTagger\CKIPAT
- 接著在下載 Utility.dll 檔,並將之加入到專案的參考中
- 在程式中可以以如下的方式呼叫:
Token[] segments = Utility.CKIPSeg.Instance().Segment(input); |
每個 Token 物件的 PartOfSpeech 屬性即為其 POS。
注意
AutoTag 會掉字元!比如:
- “
- ”
將不會產生對應的 POS。另外,下列字元會被轉換(原字元:轉換輸出為):
- —:-
2007年1月18日 星期四
如何在 .NET 環境下編譯 CRF++
請依照下列的步驟:
- 將原始碼匯入後,在 project property settting 內設定: C/C++ → Precompiled Header → Create/Use Precompiled Header,將其設定為“Not Using Precompiled Header”
- 定義下列的標頭(自行 include 建立的標頭檔,或是將該標頭檔命名為 config.h,並加入 HAVE_CONFIG_H 的前處理器定義):
- #define VERSION "0.43"
- #define PACKAGE "crf++"
- 定義前處理器定義(Preprocessor Definitions):
- HAVE_WINDOWS_H
- _WIN32
- 最後,對於 crf_test 而言,若是你的程式碼遇到了 CreateFile 失敗的錯誤訊息,請在 mmap.h 原始碼中加上如下的轉換(約在 117 行):
// add by hongjie to convert char* string to LPCWSTR int len = strlen(filename) + 1; wchar_t *ucString = new wchar_t[len]; mbstowcs(ucString, filename, len); hFile = CreateFile(ucString, mode1, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); // marked by hongjie /*hFile = CreateFile(filename, mode1, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);*/
64 位元?
編譯成 64 bit 時,若是產生 << 錯誤,請開啟 common.h 檔,並加入:
string_buffer& operator<<(size_t _n) { _UITOA(_n); }
當掉的原因列表
- 首先,請嘗試在產生的 feature file 尾端,加上三行空白,再去 train
- 檢查是否是記憶體不足的問題。
- 若是在 64 位元電腦,請參考這篇文章
- 若是在 32 位元的電腦上,且用的記憶體超過 2G,則必須在編譯時的 linker 選項中,加上 Enable Large Addresses 支援!另外要在開機選項中加上:
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /3GB
訂閱:
文章 (Atom)