gpt4 book ai didi

haskell - 在 Haskell 中创建交互式程序

转载 作者:行者123 更新时间:2023-12-02 10:38:39 27 4
gpt4 key购买 nike

我必须编写 3 个函数:一个将华氏温度转换为摄氏度,一个将摄氏温度转换为开尔文,第三个使用前两个函数将华氏温度转换为开尔文。

我以前从未使用过 Haskell,所以这花了我相对较长的时间,尽管现在我发现它非常简单。

无论如何,我需要为前两个函数创建交互式 Haskell 程序,并使用它们通过管道进行组合和可执行,以获得与第三个函数相同的功能。我一直在阅读有关管道的内容,看起来很简单。我的主要问题似乎是使功能具有交互性。

非常感谢任何帮助、提示和资源!

最佳答案

interact函数在解决你的问题时应该非常有用。由于 UNIX 约定是进程应使用文本(而不是数字,如温度)进行通信,这意味着 interact 函数包装了采用 String 并返回 的函数>字符串。这意味着您必须将华氏/摄氏函数包装在新函数中,该函数接受并返回字符串而不是数字。

作为入门示例,该程序将给定的所有字符串大写:

module Main (main) where

import Data.Char (toUpper)

main :: IO ()
main = interact upperCase

upperCase :: String -> String
upperCase = map toUpper

您可以使用以下命令进行编译:

ghc uppercase.hs

...然后您可以通过执行以下操作来使用它(在 Linux 上):

echo "bla" | ./uppercase
# Result: "BLA"

关于haskell - 在 Haskell 中创建交互式程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11492976/

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