我是C ++的新手
我有以下课程:
class User
{
public:
User(const string& username) {
m_username = username;
}
string username() const {
return m_username;
}
void setUsername(const string &username) {
m_username = username;
}
private:
string m_username;
};
Run Code Online (Sandbox Code Playgroud)
这是main.cpp代码
User *createUser() {
string username = "someUser";
User *u = new User(username);
return u;
}
int main(int argc, char *argv[])
{
User *u2 = createUser();
cout << u2->username() << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在函数中,createUser()我正在创建局部变量username,并将其通过引用传递给User class构造函数。函数结束时,变量username超出范围,因此应删除m_username …
在我的method1中,我需要异步调用另一个method2,它返回Option(result1)。那么,如果 result1 为空,我需要异步调用另一个 method3,但如果 result1 不为空,我只需要返回它。
方法如下:
def signIn(username: String): Future[User] = {
for {
foundUser <- userService.findByUsername(username) // this method returns Future[Option[User]],
// foundUser is Option[User]
user <- if (foundUser.isEmpty) {
val newUser = User(username = "User123")
userService.create(newUser).map(Some(_)) // this method returns Future[Option[User]]
}
else
// Here I want to return just foundUser, of course, it is not possible.
// IS THIS APPROACH CORRECT?? DOES THIS LINE CREATE ASYNCHRONOUS CALL?
Future.successful(foundUser)
} yield user
}
Run Code Online (Sandbox Code Playgroud)
问题是:
Future.successful(foundUser)- 上面的代码中这种方法正确吗?此行是否创建异步调用?如果是这样,如何避免呢?我已经异步获取了 …
在许多有关 DDD 的 java 教程中,实体是可变对象。
class Product {
private String status;
public void prepare() {
this.status = "Prepearing";
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,prepare方法会改变对象的内部状态。
但在 scala 中,我希望我的实体是不可变的:
case class Product(status: String) {
def prepare: Product = {
this.copy(status = "Prepearing");
}
}
Run Code Online (Sandbox Code Playgroud)
因此,我没有改变对象,而是返回一个新实体。
就 DDD 而言,拥有不可变实体和上述实现是否可以?
或者您能推荐更好的方法吗?
我有带有受保护静态方法的java类:
package parent;
public class Parent {
protected static void parentMethod() {
System.out.println("I'm in parent static method");
}
}
Run Code Online (Sandbox Code Playgroud)
在Scala 2.12.4(2.12.3)之前,我可以从另一个包中调用此方法,如下所示:
package child
import parent.Parent
class Child extends Parent {
def childMethod = {
println("I'm in child method and calling parentMethod")
Parent.parentMethod()
}
}
Run Code Online (Sandbox Code Playgroud)
但Scala 2.12.4不编译此代码.我收到错误:
错误:(9,12)在对象父类的方法parentMethod不能在对象parent.Parent访问访问到受保护的方法parentMethod不允许的,因为前缀类型parent.Parent.type不符合在包孩子在那里访问发生家长反对孩子.parentMethod()
这种访问模式对我来说非常重要,因为JOOQ代码生成使用它.
发生了什么?
这是数据类:
data class CreateCommentRequest(
@field:NotNull
@field:NotEmpty
val comment: String,
@field:NotNull
val postId: Long
)
Run Code Online (Sandbox Code Playgroud)
如果我省略comment字段,验证将正确失败。
但如果我没有通过postId,就像这样:
{
"comment": "hello"
}
Run Code Online (Sandbox Code Playgroud)
验证通过。
如果postId未通过,如何使验证失败?
PS我使用带有com.fasterxml.jackson.module:jackson-module-kotlin模块的spring boot 2.0.1 ,kotlin版本:1.2.20
例如,我有表用户(id,用户名,电子邮件).
以下查询之间有什么区别吗?(也许是表演,或其他任何事情)
SELECT id, username, email FROM users
Run Code Online (Sandbox Code Playgroud)
和
SELECT id, email, username FROM users
Run Code Online (Sandbox Code Playgroud)
通常,列顺序是否影响创建PostgreSQL表?
我是斯卡拉的新手.以下语法是什么意思?
case class User(val id: Long)(val username: String)
Run Code Online (Sandbox Code Playgroud)
我已经读过关于scala的currying,但请解释一下它与上面的构造有关(如果相关).谢谢.
我在我的play 2 app中有以下代码:
控制器:
...
def getUserById(id: Long) = Action.async {
try {
userService.findById(id)
.map(u => Ok(Json.toJson(u))
.recover {
case e: Exception => Ok("Exception got")
}
}
}
...
Run Code Online (Sandbox Code Playgroud)
服务:
...
override def findAll: Future[Seq[User]] = {
throw new Exception("Error 1")
}
...
Run Code Online (Sandbox Code Playgroud)
但是在控制器中我无法捕获服务中抛出的异常(以某种方式忽略了恢复块).而是显示标准错误页面,并显示异常"错误1".
我究竟做错了什么?
我需要测试一些报告,这些报告具有复杂的数据结构和大量数据影响,因此为此目的创建固定装置将是非常繁琐的工作。我想使用现有的数据库(实际上是数据库的副本)来测试报告。
我如何在cakephp 3测试中实现这一目标?是否可以从cakephp 3中的数据库加载灯具的记录(不是表的结构)?
对于我的测试(Play Framework 2.6 应用程序),我想使用不同的配置文件。
为此,我将以下行添加到build.sbt
javaOptions in Test += "-Dconfig.file=conf/application.test.conf"
当我从 sbt ( sbt test) 运行测试时,它工作正常,读取自定义配置文件。
但是当从 IntelliJ IDEA 运行测试时,它会忽略此设置并使用application.conffile.
如何强制 IntelliJ 使用此 sbt 设置?
scala ×5
future ×2
testing ×2
asynchronous ×1
c++ ×1
cakephp ×1
cakephp-3.0 ×1
immutability ×1
kotlin ×1
php ×1
postgresql ×1
sbt ×1
spring-boot ×1
validation ×1