首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Debug.log中强制进行价值评估

如何在Debug.log中强制进行价值评估
EN

Stack Overflow用户
提问于 2016-06-09 14:54:00
回答 1查看 89关注 0票数 1

使用Elm 0.17,我有时希望看到在计算过程中所采取的步骤,例如:

代码语言:javascript
复制
let
    names = Debug.log "accounts"
        List.map (\x -> x.name) accounts

    sortedNames = Debug.log "sorted accounts"
        List.sortBy String.toLower names

    options =
        List.map (viewAccountOption selectedName) sortedNames
in
    [ viewEmptyOption ] ++ options

这将记录如下:

代码语言:javascript
复制
accounts: <function>
sorted accounts: <function:sortBy>

我知道Elm很懒,当实际需要这些值时,就会对这些块进行评估。

我在forcestrict函数中找不到榆树芯基,也找不到包中的其他地方。

是否有办法强制评估某一价值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-09 15:02:27

您可以通过使用括号来做到这一点:

代码语言:javascript
复制
Debug.log "accounts"
    (List.map (\x -> x.name) accounts)

或使用<|运算符

代码语言:javascript
复制
Debug.log "accounts" <|
    List.map (\x -> x.name) accounts

编辑:

原因是Debug.log是以List.map (一个函数)作为第二个参数进行计算的,然后返回该参数以与行的其余部分组合。你只需要给埃尔姆一点暗示你的论点优先顺序是什么

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37729430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档