Я играю с итерируемыми и понимания в Джулию и пытались закодировать простую задачу: найти все пары чисел меньше 10, произведение которых меньше 10. Это была моя первая попытка:фильтр коллекцию кортежей
solution = filter((a,b)->a*b<10, product(1:10, 1:10))
collect(solution)
но я получил ошибку «неправильное количество аргументов». Это отчасти ожидается, потому что анонимная функция внутри фильтра ожидает два аргумента, но получает один кортеж. Я знаю, что могу сделать
solution = filter(p->p[1]*p[2]<10, product(1:10, 1:10))
, но это не выглядит хорошо, как выше. Есть ли способ, которым я могу сказать, что (a, b) является аргументом типа tuple и использовать в первом примере что-то похожее на синтаксис?
Для этого конкретного примера вы также можете настроить тело функции: 'a -> prod (a) <10', но пример' @ tup' - довольно аккуратная идея. – jverzani