首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Shelly:将字符串转换为Shelly FilePath

Shelly:将字符串转换为Shelly FilePath
EN

Stack Overflow用户
提问于 2014-02-11 23:55:04
回答 2查看 666关注 0票数 3

我需要从cp_r库执行雪莱函数,以便将a复制到b

然而,

代码语言:javascript
复制
import Shelly
main = do cp_r "a" "b"

收益率

代码语言:javascript
复制
Couldn't match expected type `Shelly.FilePath'
            with actual type `[Char]'
In the first argument of `cp_r', namely `"a"'
In the expression: cp_r "a" "b"
In an equation for `it': it = cp_r "a" "b"

用于cp_r的第一个和第二个参数。

如何使用String (FilePath定义为在我所知道的任何平台上的字符串)作为cp_r的参数

注意:这个问题没有表现出任何研究的努力,因为它被回答了问答式.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-11 23:55:04

有关详细的官方描述,请参阅关于黑客的文本与FilePath之间的转换部分。

让我们首先看看如何使用Text来完成它

代码语言:javascript
复制
{-# LANGUAGE OverloadedStrings #-}
import Shelly

cp_r (fromText "a") (fromText "b")

从现在开始,我们只需使用Text.pack将此方法应用于字符串。

代码语言:javascript
复制
{-# LANGUAGE OverloadedStrings #-}
import Shelly
import Data.Text

cp_r (fromText $ pack "a") (fromText $ pack "b")

请注意,如果您还需要在模块中使用来自FilePathPrelude,则需要使用

代码语言:javascript
复制
import Shelly hiding (FilePath)

为了避免冲突(或者可以使用Prelude.FilePathShelly.FilePath)。

票数 1
EN

Stack Overflow用户

发布于 2014-02-12 07:04:32

我同意@Uli Kohler -以下是这种用法的一个例子:

https://github.com/haroldcarr/make-mp3-copies/blob/master/MakeMP3Copies.hs

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

https://stackoverflow.com/questions/21715781

复制
相关文章

相似问题

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