2013-05-25 10 views
0

AI::ExpertSystem::Advanced을 사용해 보았습니다. 나는 다른 시청자를 사용할 수있는 문서를 읽었습니다. 당신이 그것을 볼 수 있습니다AI에서 다른 뷰어를 사용하는 방법 :: ExpertSystem :: Advanced

뷰어
객체 AI :: ExpertSystem :: 고급 무슨 일이 일어나고 인쇄 및 사용자와의 상호 작용을 위해 사용하는 것입니다 (예 : asked_facts 요청 등) .

AI :: ExpertSystem :: Advanced :: Viewer :: Factory에서 제공하는 이 아닌 뷰어 개체를 사용하려는 경우이 방법이 유용합니다.

뷰어 클래스
뷰어의 클래스 이름입니다. 뷰어 AI :: ExpertSystem :: Advanced :: Viewer :: Factory 제공, 이 경우 개체 또는 좋아하는 뷰어의 이름 만 전달할 수 있습니다.

또는이 모듈

나는이 찾기 : 사용자가 단말기를 통해 또는 친숙한 사용자 인터페이스와 전문가 시스템 과 상호 작용할 수 있도록

는 다른보기를 제공합니다. 소스의

예입니다 : 내 브라우저 또는 일부 CGI 인터페이스 viewer_class로

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

사용할 수 ??? 예 예 그것을 사용할 때 ??? 나는 어떤 예를 찾지 못했습니다.

+0

[AI :: ExpertSystem :: Advanced의 다른 뷰어 클래스 사용법 (http://stackoverflow.com/questions/16656369/how-to-use-other-viewer-class-than)의 복제본 -terminal-in-aiexpertsystemadvanced) – innaM

+1

이 질문을 계속하기 위해 얼마나 오랫동안 계획하고 계십니까? 끔찍한 진실은 당신을 도울 수 없다는 것입니다. 어쩌면 당신은 마침내 그 모듈의 저자에게 연락하고 그런 식으로 전문가의 조언을 구해야합니다. – 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 :: 고급 :: 뷰어 :: 기본 -> 새(); 내 $ AI = AI :: ExpertSystem :: 고급 -> 새 ( viewer_class => $ 뷰어, knowledge_db => $ yaml_kdb, initial_facts => $ 텍스트, 자세한 => 1 ); –

+0

또는 whats 매개 변수가 새로운 뷰어 :: Base에 있어야합니다. –

+1

Viewer :: Base :: new에 전달해야하는 매개 변수가 없으므로 해당 메서드를 호출 할 필요가 없습니다. 내 업데이트 답변을 참조하십시오. – innaM