2013-04-25 30 views
0

我是相對較新的序言,我想要做的是創建一個列表,但我似乎遇到一個錯誤,我不太清楚爲什麼。序言:追加列表失敗,並不太確定爲什麼

以下是更詳細的展望的跟蹤,這是自然語言分析器的一部分。

退出:(75,513)adj(女性)?蠕變

調用:(75,513)列表:append(_G5921885,[adj(womens)],_G5921887)?蠕變

退出:(75,513)列表:append([],[adj(womens)],[adj(womens)])?蠕變

打電話:(75,513)np2([七項全能,獲勝者,是,一名運動員],_G5921869,_G5921887,[],[adj(女子)])?

所以......起初每一個是OK和被添加到列表中,但是當它試圖第二項添加到這種情況列表....

電話:(75,514)ADJ(七項全能) ?蠕變

退出:(75,514)adj(七項全能)?蠕變

調用:(75,514)列表:append([],[adj(heptathlon)],[adj(womens)])?蠕變

失敗:(75,514)列表:append([],[adj(heptathlon)],[adj(womens)])?蠕變

下面是追加列表的代碼:

追加(列表,[ADJ(H)],TARGETLIST)

NP2(T,休息,REM,列表,TARGETLIST)。

如果任何人都可以分享我錯誤的地方以及如何解決這個問題,那將會很棒。

回答

2

就在這裏:

Call: (75,514) lists:append([], [adj(heptathlon)], [adj(womens)]) 

這能不能成功,因爲append/3定義矛盾吧。

追加(列表1列表2List1AndList2???):

List1AndList2列表1的級聯列表2

在你case,List1是空列表[],所以List1andList2應該與列表2相同,但事實並非如此。我並不真正瞭解您的計劃的邏輯以進一步提供幫助。如果你要使用append/3追加列表1列表2(而不是例如分裂List1andList2),你應該確保List1andList2是在調用append/3時的非實例變量。