В некоторых случаях может быть желательно избегать «прихлебывания» объектов, так как для этого требуется больше памяти, чем необходимо.
В любом случае, чтобы выполнить задачу экономно, используйте -n вместе с inputs
следующим образом:
reduce inputs as $i ({}; . + $i)
sigma / 1
Если вы неИмейте в виду, что sigma(empty)
оценивается как null
, вы можете определить полиморфный sigma
следующим образом:
def sigma(s): reduce s as $x (null; . +$x);
Это работает с потоками чисел, потоками объектов, потоками массивов и потокамистроки и т. д. подойдут для вашей стандартной библиотеки.
В любом случае, с этим определением для текущей задачи вы можете написать: simga(inputs)
.