sml в списке параметров функций рекурсивных
Список & целое число n. Функция должна добавить n-й элемент списка и вернуть оставшийся список. Например
insertnth ([5,6,7],2,9); вывод: [5,9,6,7]
п 2,9 это то, что я добавляю вторую строку
1 ответ
Серьезно, луцловер. Вам нужно прочитать учебник или введение в SML. Например, см. Страницу литературы SML/NJ.
По сути, у вас есть два способа решения этой проблемы. Учитывая функцию insertnth(xs, pos, n)
то уродливый нефункциональный способ - разделить список на позиции pos
, а затем вернуться left @ n :: right
где left
а также right
являются левой и правой частью раскола. Или более функциональный способ, с рекурсивной функцией, которая проходит через список xs
поэлементно, уменьшая pos
переменная каждый раз, а затем, когда вы достигнете позиции 1, а затем вернуть n
добавлен в оставшийся список, чтобы остановить рекурсию.