-
-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Description
The current format function only support single-valued inputs. The below permits it to take arrays as inputs:
For ft/ft/functions.py:
@register("format")
@typed(None, T_STRING)
def format(format_str, inp):
try:
if type(inp) == list:
args = list(map(lambda v: v.value, inp))
return format_str.value.format(*args)
else:
return format_str.value.format(inp)
except ValueError:
panic("Incorrect format string '{}' for input '{}'.".format(format_str.value, inp))
except IndexError:
if type(inp) == list:
count = len(inp)
else:
count = 1
panic("Not enough arguments (only {} given) for format string '{}'.".format(count, format_str.value))
Example:
> echo -e '1\tone' | map format "'{}' is spelled '{}'"
'1' is spelled 'one'
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels