使用CMD中的参数调用函数

时间:2013-01-23 16:55:26

标签: scala

我是scala的新手,我一直在寻找如何找到如何构建我用我的函数编写文件的文件。此外,如何从cmd调用该函数。我正在尝试编写一个简单的函数,就像了解如何开始编写程序一样。像下面这样简单的东西会很有用。

def test (n : Int){ println(n + n) }

请记住我在Notepadd ++中写这个。我的第一个任务是格雷码。所以我的最终目标是弄清楚如何运行文件和调用函数。下面的灰色代码有很多解决方案是1。

def gray(n: Int) ={
def gray(n: Int, res: List[String]): List[String] = {
     val nRes = res.map("0" + _) ::: res.reverse.map("1" + _)
         if(n == 1) nRes
           else gray(n-1, nRes);
    }
   gray(n, List(""))
}

我尝试过的事情是创建一个目标文件并运行它并解析args以传递给函数。

object test1 {
   def main(args: String) {
     n = args.toInt
  test(n);
}
def test(n: Int){
    println( n + n)
    }
}

2 个答案:

答案 0 :(得分:3)

test1缺少val的{​​{1}}声明。添加它会给下面的代码编译好。

n = args.toInt

将其加载到REPL中将显示object test1 { def main(args: String) { val n = args.toInt test(n); } def test(n: Int){ println( n + n) } } 。然后,您可以拨打defined module test1,拨打test1.main("1")并打印2.如果您不熟悉REPL,请参阅此link

test

答案 1 :(得分:0)

我实际上在玩完它之后想出来了。解决方案就像Console.readInt一样简单。这抓住了用户输入控制台的价值。

object project1{
def main(args: Array[String]) {
println("Hello World")
println("Enter a number")

val x = Console.readInt

test(x);
 // println(x)
}
def test(x: Int){
    println( x + x)
    }
}

在控制台上,您只需键入scale project1.scala,此时函数就会运行,就像您使用java或C ++一样,输入密钥时会从屏幕上获取值。

所以上面的控制台看起来像。

桌面/> scala helloWorld.scala

Hello World
输入数字
3
6