F#,Haskell,Scala和Visual Basic或其他函数式编程语言中两个数字文件i/o的简单总和

Teo*_*oae 2 vb.net f# haskell scala sum

我正在为算法竞赛做在线评判.我想包括对许多编程语言的支持,但我不知道所有这些语言.我必须制作测试源,但我不知道所有这些语言.

我想要相当于这段代码:

#include <stdio.h>

int main () {
    int a, b;

    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);

    scanf("%d%d", &a, &b);
    printf("%d", a + b);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在这种编程语言中.

我想从文件input.txt读取两个数字,每个数字在一行,并将它们的总和写入输出文件output.txt

谢谢.

编辑请不要告诉我Visual Basic .NET不是一种函数式语言.我知道.

luq*_*qui 9

哈斯克尔:

main = do
    [astr, bstr] <- fmap lines (readFile "input.txt")
    writeFile "output.txt" $ show (read astr + read bstr)
Run Code Online (Sandbox Code Playgroud)

或者总结所有行:

main = writeFile "output.txt" . show . sum . map read . lines =<< readFile "input.txt"
Run Code Online (Sandbox Code Playgroud)


Jon*_*rop 5

在F#中:

System.IO.File.ReadAllLines "input.txt" |> Seq.sumBy int |> string
|> fun s -> System.IO.File.WriteAllText("output.txt", s)
Run Code Online (Sandbox Code Playgroud)