OCAML: преобразование списка (Int * Float) в список с плавающей точкой - PullRequest
0 голосов
/ 25 ноября 2018

Что я хочу сделать, это преобразовать список типа [1,3.0,5,5.5,8] в [1.0,3.0,5.0,5.5,8.0].Проблема в том, что я не знаю список, и поэтому я не могу использовать float_of_int, потому что он не будет работать для элементов, которые уже являются плавающими.

1 Ответ

0 голосов
/ 25 ноября 2018

Ваш заголовок говорит (по существу) (int * float) list.Однако ваши списки примеров (исправляющие синтаксис OCaml) невозможны.В OCaml нет списка, который бы содержал несколько чисел с плавающей точкой и несколько целых.Все элементы списка должны быть одного типа.

Если у вас действительно (int * float) list, они выглядят так:

[(1, 1.5); (2, 3.8); (3, 8.9)]

Каждый элемент представляет собой пару с int и float,Так что их легко обрабатывать одним и тем же кодом.

...