2011-09-09 50 views
1

當使用詞法掃描儀GScanner時,我想添加我自己的符號來掃描。在查找信息時,我只能找到API文檔以及像Gimp這樣的其他人的源代碼。沒有任何解釋範圍的作用,除非我錯過了明顯的東西。g_scanner_scope_add_symbol中的scope_id參數代表什麼?

我可以使用g_scanner_add_symbol並忽略問題,但不推薦使用g_scanner_add_symbol,而只使用g_scanner_scope_add_symbol。我知道如何使用此函數向我的自定義掃描器中添加符號,但我仍然不知道參數scope_id的用途。我可以將它設置爲零,而不用擔心。問題是我不喜歡奧祕,並且覺得scope_id可能非常有用。我想知道如何有用。

GScanner中的scope_id代表什麼,我該如何利用它?

回答

1

我想你可以使用範圍有不同的符號集。事情是這樣的:

... 
g_scanner_set_scope (scanner, first_scope); 
g_scanner_scope_add_symbol (scanner, first_scope, "ONE", GINT_TO_POINTER(1)); 
... 
g_scanner_set_scope (scanner, second_scope); 
g_scanner_scope_add_symbol (scanner, second_scope, "TWO", GINT_TO_POINTER(2)); 
// The scanner wont find the symbol "ONE" now 

我不完全知道這一點,但是這是我的想法是範圍爲。不過,您可以輕鬆測試它。

+0

是的,自從我上次嘗試使用GScanner以來已經有一段時間了。有可能我已經嘗試過了,但我會嘗試一下。謝謝。 –

相關問題