gpt4 book ai didi

haskell - Haskell 中的类型转换

转载 作者:行者123 更新时间:2023-12-03 06:28:17 25 4
gpt4 key购买 nike

a) 我需要在 haskell 中从 String 转换为 int。我有一个函数可以将句子中的第三个单词作为字符串获取,但是我所有句子中的第三个单词都是数字(int),我如何从字符串转换为int,以便之后我可以使用数字来执行类似的操作添加还是乘法?

getThirdWord :: String -> String
getThirdWord = head . tail . tail . words

b) 我正在使用 Visual Haskell Studio。如何在 Visual Haskell Studio 中使用 mapzip 等函数?我的录像带中是否需要包含任何插件才能使其正常工作?

提前非常感谢您!

最佳答案

Yacoby's answer当然是正确的。我先说两点:

  1. read很一般。它不仅将 String 转换为 Int。它的返回类型取决于上下文。在本例中,getThirdWord 被定义为 String -> Int,因此 read 知道要做什么。情况并非总是如此,因此如果您在使用 read 时遇到编译错误,请记住这一点:您可能需要帮助 Haskell 找出返回类型。
  2. 当前您使用 head 。尾部 。 tail 获取第三个列表元素。如果您想要第 23 个元素怎么办?更易于维护和可读的解决方案是使用 (!!) :这样您可以在任何索引处检索列表元素。因此:

    thirdWordAsInt :: String -> Int 
    thirdWordAsInt = read . (!! 2) . words

    (请注意 2 而不是 3,因为索引是 0 索引的。)

关于haskell - Haskell 中的类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1803750/

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