2013-05-25 49 views
0

我試圖使用AI::ExpertSystem::Advanced。我在文檔中看過我可以使用其他觀衆。您可以在那裏看到:如何在AI :: ExpertSystem :: Advanced中使用另一個查看器

觀衆
是對象AI :: ExpertSystem ::高級將使用 印刷所發生的事情和與用戶交互(如 要求asked_facts) 。

如果您想使用AI :: ExpertSystem :: Advanced :: Viewer :: Factory提供的不是 的查看器對象,這很實用。

viewer_class
是查看器的類名稱。 使用觀衆AI :: ExpertSystem :: Advanced :: Viewer :: Factory的優惠, 在這種情況下,您可以傳遞對象或只有您的名字 最喜歡的觀衆。

或在此模塊中,我覺得這一點:

提供了不同的看法,所以用戶可以通過終端或與友好的用戶界面與專家系統 交互。來源

例子是:

my $ai = AI::ExpertSystem::Advanced->new(
        viewer_class => 'terminal', 
        knowledge_db => $yaml_kdb, 
        initial_facts => ['I'], 
        verbose => 1); 

我可以爲我的viewer_class瀏覽器或一些CGI接口使用???當是的如何使用它?我沒有找到任何例子。

+0

[如何在AI :: ExpertSystem :: Advanced中使用其他查看器類而不是終端]的可能副本(http://stackoverflow.com/questions/16656369/how-to-use-other-viewer-class-than -terminal-in-aiexpertsystemadvanced) – innaM

+1

你打算不斷問這個問題多久了?也許可怕的事實是,SO不能幫助你。也許你應該最終嘗試聯繫該模塊的作者,並以這種方式得到一些專家建議。 – innaM

+0

我刪除它。它有較少的信息 –

回答

1

您將不得不編寫自己的「查看器」類。創建一個新的模塊,該模塊從AI::ExpertSystem::Advanced::Viewer::Base開始並實現每個在該基類中都有一個存根的方法。 `AI::ExpertSystem::Advanced::Viewer::Base'的來源和文檔將證明對此任務有幫助。

更新

要編寫自己的瀏覽器類,創建一個看起來是這樣的文件:

package My::AI::Viewer; 
use Moose; 
extends 'AI::ExpertSystem::Advanced::Viewer::Base'; 

sub debug { 
    # your implementation goes here 
} 

... 當您正在使用類來完成,我想你可以將其名稱傳遞給viewer_class項下專家系統模塊的構造函數。

+0

這樣的事情? my $ viewer = AI :: ExpertSystem :: Advanced :: Viewer :: Base-> new(); 我$ AI = AI :: ExpertSystem ::高級 - >新的( viewer_class => $觀察者, knowledge_db => $ yaml_kdb, initial_facts => $文本, 冗長=> 1 ); –

+0

或什麼參數應該在新的瀏覽器::基地? –

+1

您不需要傳遞給Viewer :: Base :: new的參數,因爲您不會調用該方法。看到我更新的答案。 – innaM

相關問題