{ $s = $this->reduce(create_function('$s, $item', 'return array($s[0] . $s[1] . str($item), ", ");'), array('', '')); return 'LinkedList{' . $s[0] . '}'; } /** * Main program. * * @param array $args Command-line arguments. * @return integer Zero on success; non-zero on failure. */ public static function main($args) { printf("LinkedList main program.\n"); $status = 0; $l1 = new LinkedList(); $l1->append(57); $l1->append('hello'); $l1->append(NULL); printf("%s\n", str($l1)); printf("isEmpty returns %s\n", str($l1->isEmpty())); printf("Using reduce\n"); $l1->reduce(create_function('$sum, $item', 'printf("%s\\n", str($item));'), ''); printf("Purging\n"); $l1->purge(); printf("%s\n", str($l1)); return $status; } } if (realpath($argv[0]) == realpath(__FILE__)) { exit(LinkedList::main(array_slice($argv, 1))); }