В io.write_list(List(integer), ",", OutputPred, !IO), что такое OutputPred? Я пытаюсь отобразить список целочисленного типа. Список изначально никогда не бывает пустым.
Как отобразить список длинных целых чисел? (Язык Меркурия)
Ответы (2)
io.write_list(MyList, ",", io.write, !IO), где MyList — это список целочисленного типа, приведет к печати/отображению членов MyList. Каждый элемент имеет следующий формат отображения i(1, [integer_value]), так что это неудобный вывод, но он правильный. Пустой список ничего не печатает и не приводит к ошибке.
Альтернативой является io.write(MyList, !IO) и дает тот же результат.
Ответ на вопрос, что такое OutputPred, — io.write. io.print тоже работает.
Эта информация была получена с сайта Mercury.org.
Следующий код Mercury отобразит/распечатает список типа Integer в более распространенной форме: [10, 9, 8,..., 2, 1].
io.write_string(string.join_list(" ,", map(integer.to_string, My_List)), !IO).
Квадратные скобки должны быть добавлены отдельно, и их можно получить с помощью предшествующей и завершающей команд io.write_string.
Оно работает. My_List — это список элементов целочисленного типа.
Эта информация была получена с сайта Mercury.org.