Pyrint
Print like a Pythoneer: a &pyrint
subroutine with sep
and end
keyword arguments which otherwise behaves as &say
use Pyrint;
# Arguments are separated by a space by default
say 3, 4, 5; # 345\n
pyrint 3, 4, 5; # 3 4 5\n
# Can specify how to separate them
pyrint "Id", "Date", "Value", sep => ", "; # Id, Date, Value\n
# Also what to put at the end (newline by default)
pyrint "Tab", "after", "these", end => "\t"; # Tab after these\t
.WHY, .WHAT
I sometimes find myself frustrated when the arguments to &say
are printed by concatenating them together, with no space in between (same applies for &put
and &print
too). Less often occurs is to customize what to print after the arguments, which is newline by default but I remember needing, e.g., tabs instead. So, to this end, we mimic Python's print
built-in with its sep
and end
keyword arguments to customize separation and ending in printing.
Only one subroutine is exported: &pyrint
, with signature (*@args, :$sep = " ", :$end = "\n")
. It is imported by default, i.e., available with use Pyrint;
but if wanted, can also specify with a tag, i.e., use Pyrint :pyrint;
to better see in a large program what comes from where. It calls .gist
on the arguments to print like the built-in &say
.
Installation
Using pakku:
pakku add Pyrint