Я новичок в F #, и мне интересно, как я собираюсь сгладить список.F # - Сгладить список/диапазон
По существу в базе данных я храню запись с диапазоном min_age и max_age (для краткости это фиктивный пример - я не против!). Мои поля выглядеть следующим образом:
идентификатор, стоимость, сбережения, min_age, max_age
Я по существу есть F # класс, который действует как отображение один к одному с этой таблицей - т.е. все свойства отображаются точно в поля базы данных.
Что я хотел бы сделать, это сплющить этот диапазон. Таким образом, вместо того, чтобы список, содержащий элементы, как это:
saving_id = 1, cost = 100, savings = 20, min_age = 20, max_age = 26
saving_id = 2, cost = 110, savings = 10, min_age = 27, max_age = 31
Я хотел бы список, содержащий элементы, как это:
saving_id = 1, cost = 100, savings = 20, age = 20
saving_id = 1, cost = 100, savings = 20, age = 21
etc.
saving_id = 2, cost = 110, savings = 10, age = 27
saving_id = 2, cost = 110, savings = 10, age = 28
etc.
Есть ли встроенный механизм для выравнивания списка таким образом, и/или кто-нибудь знает, как достичь этого? Спасибо заранее,
JP
Хороший ответ. Я предполагаю, что OP запрашивает «встроенный механизм», который действительно работает только в том случае, если не было каких-либо пользовательских типов записей, но поскольку это решение выглядит так же элегантно, как и получается. –
Выражение последовательности может быть общим элегантным однострочным слоем: 'let flatten seqOfSeq = seq {для seq в seqOfSeq do yield! сл} '. – MasterMastic