On 2020-05-27 07:27, Brad Gilbert wrote:
The point was that 「say」 will print undefined values without complaining.

Really debug statements should be more like:

    $*STDERR.put: 「%CommandLine<backup_path> = 」, %CommandLine<backup_path>;

Or more succinctly:

    dd %CommandLine<backup_path>;



Which does bring to the forefront, why a duplicate
copy and paste of the same say line, one on
top of the other, first delivered a value from
another variable and the second one gave the correct
value.

I have converted to this say free sort of stuff;

   if  %Options< Debug >  {
      print "   ParentDir = <$ParentDir>\n";
      print "   NumBackups <$NumBackups>  Rotates %Options< Rotates >\n";
      print "   Sorted List   = [" ~ @Sorted_List ~ "]\n";
      print "   Ordered List  = [" ~ @Ordered_List ~ "]\n";
      print "   Rotated List  = [" ~ @Rotated_List ~ "]\n";
      print "   Reverse List  = [" ~ @Reverse_Pruned_List ~ "]\n";
      print "   Reverse_Pruned List = [" ~ @Reverse_Pruned_List ~ "]\n";
      print "   Number of backup directories is $NumBackups\n\n";
   }


I like dd if I am interested in the structure of a variable
but avoid it if only the value is of interest.

And I could never in a million years be able to
duplicate this issue for the developers

Reply via email to