Scala:如果没有定义类,是否有默认类?
发布时间:2020-12-16 09:16:45 所属栏目:安全 来源:网络整理
导读:根据 this,Scala方法属于一个类.但是,如果我在REPL或脚本中定义一个方法,然后我使用scala执行,该方法属于哪个类? scala def hoho(str:String) = {println("hoho " + str)}hoho: (str: String)Unitscala hoho("rahul")hoho rahul 在这个例子中,该方法属于什
根据
this,Scala方法属于一个类.但是,如果我在REPL或脚本中定义一个方法,然后我使用scala执行,该方法属于哪个类?
scala> def hoho(str:String) = {println("hoho " + str)} hoho: (str: String)Unit scala> hoho("rahul") hoho rahul 在这个例子中,该方法属于什么类? 解决方法
REPL将所有语句(实际上重写您的语句)自动包含在对象中.如果您使用-Xprint:typer选项打印中间代码,则可以看到它有效:
scala> def hoho(str:String) = {println("hoho " + str)} [[syntax trees at end of typer]]// Scala source: <console> package $line1 { final object $read extends java.lang.Object with ScalaObject { def this(): object $line1.$read = { $read.super.this(); () }; final object $iw extends java.lang.Object with ScalaObject { def this(): object $line1.$read.$iw = { $iw.super.this(); () }; final object $iw extends java.lang.Object with ScalaObject { def this(): object $line1.$read.$iw.$iw = { $iw.super.this(); () }; def hoho(str: String): Unit = scala.this.Predef.println("hoho ".+(str)) } } } } 所以你的方法hoho真的是$line1.$read.$iw.$iw.hoho.然后,当您稍后使用hoho(“foo”)时,它将重写以添加包和外部对象. 附加说明:对于脚本,-Xprint:typer(-Xprint:parser)显示代码被包装在主对象(args:Array [String])中的代码块中.您可以以args或argv方式访问参数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Angular2等价于$document.ready()
- WebServices身份认证
- angularjs – 量角器在中继器内找到元素
- angularjs – ui-bootstrap分页复位当前页面初始化
- 你能在Scala中返回一个可赋值的左值吗?
- shell – 带有zcat和grep的s3cmd计数行
- bootstrap datepicker Uncaught TypeError: Cannot call me
- 由SOAP说开去 - - 谈谈WebServices、RMI、RPC、SOA、REST、
- 【代码审计】MIPCMS 远程写入配置文件Getshell
- docker – 在向主机Kafka服务器生成消息时出现容器化的Kaf