Forum archive 2000-2006

Michael Gage - std_print_q -- plugin method used in List.pm type objects

Michael Gage - std_print_q -- plugin method used in List.pm type objects

by Arnold Pizer -
Number of replies: 0
inactiveTopicstd_print_q -- plugin method used in List.pm type objects topic started 8/28/2001; 1:30:36 AM
last post 8/28/2001; 1:30:36 AM
userMichael Gage - std_print_q -- plugin method used in List.pm type objects  blueArrow
8/28/2001; 1:30:36 AM (reads: 1770, responses: 0)

std_print_q -- plugin method used in "List.pm" type objects

Description
This is a method ( i.e. a subroutine whose first argument is a reference to a parent object ) which defines how the list of questions is printed from a List.pm object.It formats a string containing the questions vertically in an ordered list, indexed by numbers with each question preceeded by an answer blank. The string is returned.

Syntax

std_print_q( $self, @array)

Params

$self is a reference to the parent list object and can be used to reference preferences stored there.
@array is the list of questions to be displayed.

Returns

A string, containing the questions, properly formatted.

Examples


$ml = new_match_list();
$ml->rf_print_a(~~&std_print_a); # set the answer format to use the std_print_a method
$ml->rf_print_q(~~&std_print_q); # set the question format to use the std_print_q method
$ml->ans_rule_len(20); # make the answer rules 20 characters long for each question. (Default is 4).
# enter three questions and their answers
$ml->qa( "What color is a rose?",
"Red",
"What color is the sky?",
"Blue",
"What color is the sea?",
"Green"
);
# choose two of these questions, ordered at random,
# which will be printed in the problem.
$ml->choose(2);
BEGIN_TEXT
Match the answers below with these questions:$BR
\{$ml->print_q\} Print the questions$BR
Answers:
\{$ml->print_a \} Print the answers

END_TEXT

ANS( $ml->ra_correct_ans() ); #submit the correct answers

Notes

This method is defined in PGchoicemacros.pl. Note that reversing

$ml->rf_print_a(~~&std_print_q);

$ml->rf_print_q(~~&std_print_a);



would result in the list of questions being labeled with letters and the list of answers being labeled with numbers.
The code in these two methods is a good basis for writing subroutines which provide different formats for listing questions or answers.

See Also

std_print_a, pop_up_list_print_q, Match.pm", "Select.pm", "List.pm", "PGchoicemacros.pl"

 

<| Post or View Comments |>