我正在记录 foldl
的 a
和 b
值。
words = ["mate", "bro", "bruv"]
sum2 = List.foldl
(\a b ->
Debug.log(toString <| a)
Debug.log(toString <| b)
a
) "guv" words
它按预期工作,但我无法理解输出:
"mate": <function>
"guv": "mate"
"bro": <function>
"mate": "bro"
"bruv": <function>
"bro": "bruv"
为什么它将a
输出为<function>
,并将b
输出为a:b
?
Debug.log "Value of a: " a
没有logA =
就无法工作。 - RichDebug.log
是该规则的例外之一,因此您仍然需要欺骗Elm编译器。通常,当您仅记录单个值时,使用_
而不是logA
来表示它是一个可抛弃的变量。 - dontexist_
表示两个含义,它实际上表示对编译器的丢弃,而不仅仅是一个被命名为_
的值(请参见 https://ellie-app.com/Swtbcn7wNpa1/0 的示例)。 - bdukes