我正在编写一个Scala应用程序,要部署在Google App Engine上。我已尝试按照here说明使用数据存储区中的实体,但代码无法编译。
import java.util.Date;
import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
// ...
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
这在最后一行给出了一个错误,上面写着:
"Expected class or object definition"
我是否应该使用不同的代码,因为我在Scala中写作?
答案 0 :(得分:1)
是的,您应该在Scala中编写不同的代码。
例如,要创建值为42的整数对象,您可以编写:
var theNum = 42
或者
val theNum = 42
请注意,您的长语句不包含var
或val
。
另外,你可以省去许多用Java编写的东西。我希望如果你简单地写一下它会起作用:
val datastore = DatastoreServiceFactory.getDatastoreService
Scala编译器将推断它是DataStoreService。除了函数/方法定义之外,只是浪费时间来编写它。编译器还会在大多数行的末尾推断出分号。我不确定编译器是否会在方法调用中推断()
但是为什么不尝试它并查看它是否存在。这是一种新语言,你需要习惯于以不同的方式写作。