我是 Scala 环境的新手,并尝试使用“scalikejdbc”进行 SQL 集成来构建一个测试项目。这是我的 build.sbt,遵循http://scalikejdbc.org/documentation/playframework-support.html上的文档
name := """run"""
organization := "com.example"
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
scalaVersion := "2.13.10"
libraryDependencies ++= Seq(
guice,
"org.scalatestplus.play" %% "scalatestplus-play" % "5.0.0" % Test,
"com.h2database" % "h2" % "1.4.200", // your jdbc driver here
"org.scalikejdbc" %% "scalikejdbc" % "4.0.0",
"org.scalikejdbc" %% "scalikejdbc-config" % "4.0.0",
"org.scalikejdbc" %% "scalikejdbc-play-initializer" % "2.8.0-scalikejdbc-3.5",
"com.typesafe.play" %% "play-ws" % "2.3.1"
)
dependencyOverrides += "org.fluentlenium" % "fluentlenium-core" % "0.10.3"
// Adds additional packages …Run Code Online (Sandbox Code Playgroud) 使用 Scala 2.13.10 的本地解释器我运行以下代码
scala> val it = Iterator("a", "number", "of", "words")
val it: Iterator[String] = <iterator>
scala> it.size
val res0: Int = 4
scala> it.next()
val res14: String = a
Run Code Online (Sandbox Code Playgroud)
我假设运行命令 it.size 将遍历迭代器,并且 it.next() 将失败,正如 Scala 文档中所述
it.size 它返回的元素数量。注意:此操作结束!
https://docs.scala-lang.org/overviews/collections-2.13/iterators.html
我在这里缺少什么?
我是 scala 新手,我将一些代码从 scala 2.12 迁移到 13。我有以下代码
override def transformSchema(schema: StructType): StructType = {
StructType(schema.fields ++ this.getOutputCols.map[StructField, Array[StructField]]( col => StructField(col, StringType)))
}
Run Code Online (Sandbox Code Playgroud)
我面临以下错误:
wrong number of type parameters for method map: [B](f: String => B)(implicit ct: scala.reflect.ClassTag[B]): Array[B]
[ERROR] StructType(schema.fields ++ this.getOutputCols.map[StructField, Array[StructField]]( col => StructField(col, StringType)))
Run Code Online (Sandbox Code Playgroud)
你能解释一下为什么scala 2.13有这个问题吗,我没有找到与文档相关的东西map方法尝试转换数组,应该没问题
我在java中创建一个简单的登录程序.这是我到目前为止的代码.
import java.util.Scanner;
import java.io.*;
import java.util.Arrays;
public class PasswordProgram {
public static String user;
public String password;
public static boolean part1Finish = false;
public File file = new File("D:/file.txt");
public FileWriter UsernameWrite;
public char[] user1;
public void part1() {
System.out.println("Please create an account: ");
Scanner input = new Scanner(System. in );
System.out.println("Type in a username: ");
String user = input.next();
System.out.println("Type in a Password: ");
String password = input.next();
try {
UsernameWrite = new FileWriter(file);
UsernameWrite.write(user);
UsernameWrite.write(password);
System.out.println(user);
UsernameWrite.close(); …Run Code Online (Sandbox Code Playgroud) package com.company;
import java.text.NumberFormat;
public class Main {
public static void main(String[] args) {
NumberFormat currency = NumberFormat.getCurrencyInstance();
String result = currency.format(number: 1234837.343);
System.out.println(result);
}
}
Run Code Online (Sandbox Code Playgroud) 第一种方法:
public void Calculate (int a, int b) {
int sum =a+b;
}
Run Code Online (Sandbox Code Playgroud)
第二种方法:
public int getResult(){
return sum ;
}
Run Code Online (Sandbox Code Playgroud)