是scala语言的新手,我正在尝试编写一个简单的函数来打印2表的乘法。并且它不会在scala中显示任何结果。
def multab(tblnum: Int) = {
var tab = 0
for (i <-(1 to 10)) { tab += table }
println(tab)
}
答案 0 :(得分:0)
是的,首先你要在tab中添加一个表,你甚至没有声明什么是表? 你只需要使用tblnum代替表。
def multab(tblnum: Int) = {
var tab = 0
for (i <-(1 to 10)) { tab += tblnum
println(tab)
}}
scala> multab(2)
2
4
6
8
10
12
14
16
18
20
除此之外,尽量避免可变性。喜欢可变风格的不可变风格。印刷乘法的功能方式。
scala> def mulTab(num: Int) = {
| (1 to 10).foreach{e =>
| println(num * e)
| }
| }
mulTab: (num: Int)Unit
scala> mulTab(2)
2
4
6
8
10
12
14
16
18
20
正如你在课堂上询问如何写同样的东西一样,
scala> class Table{
| def multab(tblnum: Int) = {
| var tab = 0
| for (i <-(1 to 10)) { tab += tblnum
| println(tab)
| }}
| }
defined class Table
scala> val table = new Table
table: Table = Table@6f95cd51
scala> table.multab(3)
3
6
9
12
15
18
21
24
27
30
我们使用singleton来创建类的对象并从那里运行应用程序。 Singleton就像java中的静态块。
scala> object Main extends App {
| val table = new Table
| table.multab(3)
| }
defined object Main
如果您在任何IDE中编写上述单例,它将为您提供运行该应用程序的选项。您可以从here
了解更多信息