【问题标题】:F# - Seq.iter (type error)F# - Seq.iter(类型错误)
【发布时间】:2012-02-21 12:47:57
【问题描述】:

我有多个输入的跟随功能

let blackscholes strike assetPrice standarddev riskfreerate days2expiration c_p =

我想对它进行 Seq.iter 处理,以便针对资产价格的多个值对其进行评估,同时保持其他所有内容不变。我想知道语法,我是否必须创建一个只接受一个参数的函数的中间版本?即

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

当我尝试那样做时

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

我收到错误“类型不匹配。期望一个浮点数 -> 单位但给定一个浮点数 -> 浮点类型 'unit' 与类型 'float' 不匹配”

【问题讨论】:

    标签: types f#


    【解决方案1】:

    您想使用Seq.map 而不是Seq.iter,因为Seq.map 返回结果序列,而Seq.iter 不返回结果列表

    【讨论】:

    • 感谢您解决了问题。必须了解如何正确使用 Seq.iter、Seq.map 和 Seq.choose。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 2016-10-30
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    相关资源
    最近更新 更多