2012-02-21 4 views
0

У меня есть функция следовать с несколькими входамиF # - Seq.iter (ошибка типа)

let blackscholes strike assetPrice standarddev riskfreerate days2expiration c_p = 

И я хотел бы Seq.iter его так, чтобы оно вычисляется для нескольких значений assetPrice, держа все иначе константа. Мне интересно о синтаксисе, мне нужно создать промежуточную версию функции, которая принимает только один аргумент? т.е.

let blackscholesTemp assetPrice = blackscholes 100. assetPrice 0.2 0.05 60 'c' = 

Когда я пытаюсь таким образом, и сделать

printf "Results:" 
Seq.iter (blackscholesTemp) (seq {0.0..10.0..100.0}) 

я получил ошибку «Несоответствие типов Ожидая поплавок -.> единицы, но данный поплавок -> Поплавок„единицы“типа не соответствовать типу «поплавок»»

ответ

4

Вы хотите использовать Seq.map вместо Seq.iter, как Seq.map возвращает последовательность результатов в то время как Seq.iter не возвращает список результатов

+0

Спасибо, что решает проблему. Должен узнать, как правильно использовать Seq.iter, Seq.map и Seq.choose. – user1222538

Смежные вопросы