gpt4 book ai didi

Purescript 教程 : unknown value logShow

转载 作者:行者123 更新时间:2023-12-03 23:32:44 29 4
gpt4 key购买 nike

我学习 PureScript 大约需要一个小时,但我在浏览 PureScript by Example Tutorial 时遇到了障碍。 PureScript 在他们的网站上推荐的。 (特别是我在第 2.10 节)。我已经设法安装了所有东西,我正在尝试使用 logShow他们在教程中描述的方法。我收到了 Unknown value logShow运行此代码时出错:

module Main where

import Prelude
import Control.Monad.Eff (Eff)
import Control.Monad.Eff.Console (CONSOLE, log)
import Math (sqrt)

main :: forall e. Eff (console :: CONSOLE | e) Unit
main = logShow (diagonal 3.0 4.0)

diagonal w h = sqrt(w * w + h * h)

我假设 logShow是一种用于记录整数的方法,因为实际 log方法只接受字符串。这个方法是在哪里定义的?我导入失败了吗?我的安装不正确吗?或者教程跳过了什么?

提前致谢!

最佳答案

您快到了。

注意这一行:

import Control.Monad.Eff.Console (CONSOLE, log)
Control.Monad.Eff.Console提供两者 loglogShow .要解决您的特定问题,您只需更换 loglogShow 的括号之间(在 ( 之后的第一个名称, CONSOLE 是 Effect 的名称)。

以防万一——两者的区别可以通过类型看出:
log     :: forall eff.        String -> Eff (console :: CONSOLE | eff) Unit
logShow :: forall a eff. Show a => a -> Eff (console :: CONSOLE | eff) Unit

暂时忽略影响...
log ::                    String -> Unit
logShow :: forall a. Show a => a -> Unit
log只打印字符串,而 logShow打印任何具有 Show 的内容实例。

实际上,是的;意思是 logShow就是 (log <<< show) .如果我们去看看源... We can find it's indeed the case .

关于Purescript 教程 : unknown value logShow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39214950/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com