首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有演示如何在Scala中像这样使用占位符?

有没有演示如何在Scala中像这样使用占位符?
EN

Stack Overflow用户
提问于 2012-06-04 10:10:26
回答 1查看 117关注 0票数 1

我发现在Scala中占位符的“奇怪”用法:在precompiler-in-scala中。

代码语言:javascript
复制
class Precompiler {
  var sources = Array[File]()
  var workingDirectory: File = _
  var targetDirectory:File = _
  var templates = Array[String]()
  var info:{def apply(v1:String):Unit} = (value:String)=>println(value)
  var contextClass:String = _
  var bootClassName:String = _
  // ...
}

这是partial函数吗?或者别的什么?有没有像这样展示占位符用法的演示?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-04 10:31:05

实际上,不,这只是一个无聊的老null。从Scala Language Spec

变量定义var x:t=_只能作为模板的成员出现。它引入了一个类型为T的可变字段和一个默认初始值。默认值取决于类型T,如下所示:

如果T是Int或其子范围类型之一,则为0;如果T为Long,则为0L;如果T为Float,则为0.0f;如果T为Double,则为0.0d;如果T为布尔值,则为false;如果T为Unit,则为();对于所有其他类型T,则为null。

在这些情况下,编写null可能会更清楚。我猜_可能看起来更像Scala-y。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10875606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档