server.pm

来自「network programming with perl源代码」· PM 代码 · 共 44 行

PM
44
字号
package Chatbot::Eliza::Server;use Chatbot::Eliza;# file: Chatbot/Eliza/Server.pm# Figure 11.2: The Chatbot::Eliza::Server class@ISA = 'Chatbot::Eliza';sub command_interface {  my $self = shift;  my $in   = shift || \*STDIN;  my $out  = shift || \*STDOUT;  my ($user_input, $previous_user_input, $reply);  $self->botprompt($self->name . ":\t");  # Set Eliza's prompt   $self->userprompt("you:\t");           # Set user's prompt  # Print an initial greeting  print $out $self->botprompt,             $self->{initial}->[ int rand scalar @{ $self->{initial} } ],             "\n";  while (1) {    print $out $self->userprompt;    $previous_user_input = $user_input;    chomp( $user_input = <$in> );     last unless $user_input;    # User wants to quit    if ($self->_testquit($user_input) ) {      $reply = $self->{final}->[ int rand scalar @{ $self->{final} } ];      print $out $self->botprompt,$reply,"\n";      last;    }     # Invoke the transform method to generate a reply.    $reply = $self->transform( $user_input );    # Print the actual reply    print $out $self->botprompt,$reply,"\n";  }}1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?