diff --git a/README.md b/README.md index fdbcf36..1ae5e5b 100755 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ import ( var ( text = "Hello world, Helloworld. Winter is coming! 你好世界." - new = gse.New("zh,testdata/test_dict3.txt", "alpha") + new, _ = gse.New("zh,testdata/test_dict3.txt", "alpha") seg gse.Segmenter posSeg pos.Segmenter diff --git a/README_zh.md b/README_zh.md index 3766c37..03e20c1 100644 --- a/README_zh.md +++ b/README_zh.md @@ -51,7 +51,7 @@ var ( seg gse.Segmenter posSeg pos.Segmenter - new = gse.New("zh,testdata/test_dict3.txt", "alpha") + new, _ = gse.New("zh,testdata/test_dict3.txt", "alpha") text = "你好世界, Hello world, Helloworld." ) diff --git a/examples/dict/main.go b/examples/dict/main.go index 8d91d78..9fb04aa 100644 --- a/examples/dict/main.go +++ b/examples/dict/main.go @@ -7,8 +7,8 @@ import ( ) var ( - text = "旧金山湾金门大桥" - new = gse.New("zh,../../testdata/test_dict.txt") + text = "旧金山湾金门大桥" + new, _ = gse.New("zh,../../testdata/test_dict.txt") seg gse.Segmenter ) diff --git a/examples/en/main.go b/examples/en/main.go index 8864173..576311c 100644 --- a/examples/en/main.go +++ b/examples/en/main.go @@ -7,7 +7,8 @@ import ( ) func main() { - seg := gse.New("zh,../../testdata/test_dict3.txt", "alpha") + seg, err := gse.New("zh,../../testdata/test_dict3.txt", "alpha") + fmt.Println("new gse error: ", err) // var seg gse.Segmenter // seg.AlphaNum = true // seg.LoadDict("zh, ../../testdata/test_dict3.txt") diff --git a/gse.go b/gse.go index 72734d3..10d6de1 100644 --- a/gse.go +++ b/gse.go @@ -24,7 +24,7 @@ import ( const ( // Version get the gse version - Version = "v0.62.1.510, Green Lake!" + Version = "v0.69.1.593, Green Lake!" // minTokenFrequency = 2 // 仅从字典文件中读取大于等于此频率的分词 ) @@ -44,14 +44,13 @@ type Prob struct { } // New return new gse segmenter -func New(files ...string) Segmenter { - var seg Segmenter +func New(files ...string) (seg Segmenter, err error) { if len(files) > 1 && files[1] == "alpha" { seg.AlphaNum = true } - seg.LoadDict(files...) - return seg + err = seg.LoadDict(files...) + return } // Cut cuts a str into words using accurate mode. diff --git a/gse_test.go b/gse_test.go index 5b11a57..367b35b 100644 --- a/gse_test.go +++ b/gse_test.go @@ -238,7 +238,9 @@ func TestStop(t *testing.T) { } func TestNum(t *testing.T) { - seg := New("./testdata/test_dict3.txt") + seg, err := New("./testdata/test_dict3.txt") + tt.Nil(t, err) + seg.Num = true text := "t123test123 num123-1" s := seg.Cut(text) @@ -253,7 +255,8 @@ func TestNum(t *testing.T) { } func TestUrl(t *testing.T) { - seg := New("./testdata/test_dict3.txt") + seg, err := New("./testdata/test_dict3.txt") + tt.Nil(t, err) s1 := seg.CutUrls("https://www.g.com/search?q=test%m11.42&ie=UTF-8") tt.Equal(t, "https www g com search q test m 11 42 ie utf 8", s1) diff --git a/hmm/idf/idf_test.go b/hmm/idf/idf_test.go index a621292..12a0d6c 100644 --- a/hmm/idf/idf_test.go +++ b/hmm/idf/idf_test.go @@ -9,8 +9,8 @@ import ( ) var ( - segs = gse.New() - text = "那里湖面总是澄清, 那里空气充满宁静" + segs, _ = gse.New() + text = "那里湖面总是澄清, 那里空气充满宁静" ) func TestExtAndRank(t *testing.T) { diff --git a/segmenter_test.go b/segmenter_test.go index c724f39..6dec997 100755 --- a/segmenter_test.go +++ b/segmenter_test.go @@ -225,7 +225,8 @@ func TestInAlphaNum(t *testing.T) { // // AlphaNum = true // ToLower = true - seg := New("zh,./testdata/test_dict3.txt", "alpha") + seg, err := New("zh,./testdata/test_dict3.txt", "alpha") + tt.Nil(t, err) freq, ok := seg.Find("hello") tt.Equal(t, 20, freq) diff --git a/testdata/test_dict3.txt b/testdata/test_dict3.txt index 004e167..4b2450e 100644 --- a/testdata/test_dict3.txt +++ b/testdata/test_dict3.txt @@ -1,3 +1,3 @@ hi 32 hello 20 -world 20 +world 20 n