Open jdhedden opened 2 years ago
The current format function only support single-valued inputs. The below permits it to take arrays as inputs:
format
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'
Great idea. Note that I'm not using this project myself anymore, so I'm not really actively maintaining it. I'd be happy to merge a PR with proper tests though.
The current
format
function only support single-valued inputs. The below permits it to take arrays as inputs:For ft/ft/functions.py:
Example: