9

UNIXシェルスクリプトでhaskell関数を使用する可能性はありますか?

例えば:

#!/bin/bash

...
var1=value
...

# use haskell function with input from shell variable var1
# and store the result into another shell variable var2

var2=haskellFunction $var1

...

シェルスクリプトで引数や haskell 関数の結果として変数を使いたい

前もって感謝します。

ジミー

4

2 に答える 2

10

への-eスイッチをghc使用します。

var2=$(ghc -e "let f x = x*x + x/2 in f $var1")

文字列処理の場合、 Haskell のinteract文字列と bash のヒア文字列を組み合わせて使用​​するのが最適です。

var2=$(ghc -e 'interact reverse' <<<$var1)
于 2012-11-04T19:40:43.840 に答える
2

また、次を使用してスクリプトを作成することもできます。スクリプトの最初の行にghciシバンを配置して、実行可能にします。このようなスクリプトは、通常どおりスクリプト#!/usr/bin/env runhaskellから呼び出すことができます。sh/bash/ksh/csh/whatever

例えば

$ cat > hello.hsh
#!/usr/bin/env runhaskell

main = putStrLn "Hello world!"

$ chmod +x hello.hsh
$ ./hello.hsh
Hello world!
$
于 2012-11-05T14:10:14.060 に答える