我想知道如何从表单的控制台获取输入:
M146599在nemerle。在C#中,我通过以下方式做到这一点:
string[] input = System.Console.ReadLine().Split(' ');
ch = System.Char.Parse(input[0]);
a = System.Int32.Parse(input[1]);
d = System.Int32.Parse(input[2]);
m = System.Int32.Parse(input[3]);但这在内梅尔是行不通的。请建议我如何在Nemerle中做到这一点。
发布于 2009-09-13 10:30:55
class Test
{
public static Main () : void
{
def input = System.Console.ReadLine ().Split (' ');
def ch = System.Char.Parse (input[0]);
def a = System.Int32.Parse (input[1]);
def d = System.Int32.Parse (input[2]);
def m = System.Int32.Parse (input[3]);
System.Console.WriteLine ("ch:{0} a:{1} d:{2} m:{3}", ch, a, d, m);
}
}发布于 2009-11-04 06:42:28
您还可以使用IO宏:
using Nemerle.IO;
using System;
mutable ch, a, d, m;
try
{
scanf("%c %d %d %d", ch, a, d, m);
printf("%c %d %d %d\n", ch, a, d, m);
}
catch
{
| _ is InvalidInput => Console.WriteLine("Invalid input")
}注意,与C++不同的是,Nemerle版本的printf和scanf是安全的。只有在传递正确类型的参数时,它们才会被编译。在上面的示例中,甚至可以从用法中推断出正确的类型。
https://stackoverflow.com/questions/1416577
复制相似问题