小编x80*_*486的帖子

"模式匹配"对Int子句(分支)不起作用

我在Kotlin(我开始学习)中有这段代码:

package io.shido.learning

import java.time.Instant

fun typeCheck(any: Any): Any = when (any) {
  (any is Int && any < 10) -> "(small) integer"
  is Int -> "integer"
  is Double -> "double"
  is String -> "string"
  else -> "another Any"
}

fun main(args: Array<String>) {
  println("type check for: 5 (${typeCheck(5)})")
  println("type check for: 20 (${typeCheck(20)})")
  println("type check for: 56.0 (${typeCheck(56.0)})")
  println("type check for: \"a string\" (${typeCheck("a string")})")
  println("type check for: Instant (${typeCheck(Instant.now())})")
}
Run Code Online (Sandbox Code Playgroud)

...所以我期待那typeCheck(5)回归,(small) integer而不是integer像目前那样. …

kotlin

3
推荐指数
1
解决办法
153
查看次数

确定Erlang二进制文件大小的复杂性

我知道,对于列表,我们必须遍历整个列表然后确定它的大小?

在Erlang中确定二进制文件大小的复杂性是多少?

erlang complexity-theory

3
推荐指数
1
解决办法
245
查看次数

@RequestMapping如何在Spring Boot中内部工作?

@RestController
@RequestMapping("/employee")
public class Employee {
  @RequestMapping("/save")
  public void saveEmployee() {
    // saving employee
  }
}
Run Code Online (Sandbox Code Playgroud)

@RequestMapping内部如何将请求映射到saveEmployee方法?

spring spring-boot spring-restcontroller request-mapping

3
推荐指数
1
解决办法
1801
查看次数

Docker — 无法连接到位于 unix:///var/run/docker.sock 的 Docker 守护进程

我在 Ubuntu 中17.12.0-ce通过NixLinux uplink 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux安装了 Docker ( ),但是每次我尝试执行任何 Docker 命令时,它总是告诉我:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

\n\n

这就是我所做的:

\n\n
$ nix-env --install --prebuilt-only docker-17.12.0-ce\n\n$ nix-env -q\ndocker-17.12.0-ce\ngo-1.9.4\nhugo-0.32.2\nkotlin-1.2.21\nnix-1.11.16\nnodejs-8.9.4\nopenjdk-8u172b02\nopenjdk-9.0.4-b11\n\n$ docker version\nClient:\n Version:   17.12.0-ce\n API version:   1.35\n Go version:    go1.9.4\n Git commit:    486a48d2701493bb65385788a291e36febb44ec1\n Built: Thu Feb 15 13:56:40 2018\n OS/Arch:   linux/amd64\n Experimental:  false\nCannot connect to the Docker daemon at …
Run Code Online (Sandbox Code Playgroud)

docker nix nixpkgs

3
推荐指数
1
解决办法
2300
查看次数

当handle_call返回noreply时,erlang otp gen_server会丢弃连接

启动服务器使用:

erlc server.erl ; erl -eval 'server:start()'
Run Code Online (Sandbox Code Playgroud)

在另一个终端:

telnet localhost 3547
Run Code Online (Sandbox Code Playgroud)

哪个可以成功建立连接,但在几秒钟内,由于我之外的原因,服务器关闭了连接.阅读该文档handle_call/3,{noreply, NewState}被允许为好.

有人可以解释一下吗?感觉超级混乱我.

源代码

-module(server).
-mode(compile).
-behavior(gen_server).

-compile(export_all).

-export([   main/1
          , start/0
          , stop/0
          , stop_and_wait/0
        ]).
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
        terminate/2, code_change/3]).

-define(SERVER, ?MODULE).
-define(DEFAULT_PORT, 3547).

-record(state, {port, lsock}).

start_link(Port) ->
  gen_server:start_link({local, ?SERVER}, ?MODULE, [Port], []).

start() ->
  start_link(?DEFAULT_PORT).

stop() ->
  gen_server:cast(?SERVER, stop).

stop_and_wait() ->
  gen_server:call(?SERVER, stop, infinity).

init([Port]) ->
  {ok, LSock} = gen_tcp:listen(Port, [{active, false}, {reuseaddr, true}]),
  {ok, #state{port = Port, lsock = …
Run Code Online (Sandbox Code Playgroud)

erlang erlang-otp

2
推荐指数
1
解决办法
148
查看次数

在Java流(或并行流)中返回之前,Optional.empty的“ Unwrap”可选

我在这个简单的事情上遇到了麻烦。我有一个返回的方法Optional<TypeA>

public Optional<TypeA> getFirst() {
  return set.stream().filter(it -> it.getStatus() == SUCCESS).findFirst(); // set is a Set<TypeA>
}
Run Code Online (Sandbox Code Playgroud)

...然后我从以下位置调用它:

public boolean hasFirst() {
  return types.parallelStream() // types is a List<TypeB> that has a Set<TypeA>
    .filter(it -> it.getTotalAmount() > 0)
    .map(TypeA::getFirst)
    .findFirst() // this can return an Optional[Optional.empty]
    .isPresent();
}
Run Code Online (Sandbox Code Playgroud)

问题是,Optional空的Optionaltrue按预期返回,所以我不知道如何正确处理此问题!

有什么线索吗?

java functional-programming java-stream

2
推荐指数
2
解决办法
1585
查看次数

如何在JAX-RS ExceptionMapper中获取响应的内容类型

我有一个资源:

@GET
@Path("/print-order")
@Produces("application/pdf")
public byte[] printOrder(@QueryParam("id") Long orderId) {
    return ...;
}
Run Code Online (Sandbox Code Playgroud)

...这可能会引发与用户相关的错误,并且必须显示为HTML页面。所以我实现了一个,ExceptionMapper但我不知道如何获取@Produces("application/pdf")被调用资源的注释的值。

@Provider
public class CustomExceptionMapper implements ExceptionMapper<CustomException> {
    @Override
    public Response toResponse(CustomException exception) {
        if (contentType = "application/pdf")
            ... html respone
        else
            ... entity response
    }
}
Run Code Online (Sandbox Code Playgroud)

我在Jersy 1.12实现中使用JAX-RS 1.x(jsr311),但希望拥有独立于实现的解决方案。

java servlets jax-rs custom-exceptions

2
推荐指数
1
解决办法
659
查看次数

Deno 导入地图和锁定文件

据我所知,只有在使用包含所有导入的 TypeScript(或 JavaScript)文件时,才能创建 Deno 锁定文件——通常来自deps.ts文件。

我希望能够使用(不稳定的)导入映射并基于它生成锁定文件。

是否可以从import_map.json文件生成该锁定文件?如果不可能,有没有其他方法可以使用deps.ts文件,例如,能够映射依赖项以便导入它们而无需在./..任何地方使用(臭名昭著的)?

此外,看起来pathstsconfig.json文件上使用该功能是行不通的,因为我不知道如何引用其中的任何模块。

deno

2
推荐指数
1
解决办法
252
查看次数

使用 Eclipse Code Formatter 在其自己的行上配置枚举常量

我正在使用Spotless和 Gradle。我已将其配置为使用 Eclipse 的 JDT Code Formatter:

spotless {
  groovyGradle {
    greclipse("4.21.0").configFile("${rootDir}/config/spotless/eclipe_groovy_formatter.xml")
  }
  java {
    eclipse("4.21.0").configFile("${rootDir}/config/spotless/eclipe_jdt_formatter.xml")
    endWithNewline()
    importOrder("", "javax", "java")
    indentWithSpaces(2)
    lineEndings(LineEnding.UNIX)
    removeUnusedImports()
    trimTrailingWhitespace()
  }
}
Run Code Online (Sandbox Code Playgroud)

的内容eclipe_jdt_formatter.xml只是:

spotless {
  groovyGradle {
    greclipse("4.21.0").configFile("${rootDir}/config/spotless/eclipe_groovy_formatter.xml")
  }
  java {
    eclipse("4.21.0").configFile("${rootDir}/config/spotless/eclipe_jdt_formatter.xml")
    endWithNewline()
    importOrder("", "javax", "java")
    indentWithSpaces(2)
    lineEndings(LineEnding.UNIX)
    removeUnusedImports()
    trimTrailingWhitespace()
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是我想在 (Eclipse) XML 文件中配置正确的设置,以便将enum每个值放在自己的行上。

例如,这就是当前格式化源代码的方式:

<?xml version="1.0" encoding="UTF-8" ?>
<profiles version="12">
  <profile kind="CodeFormatterProfile" name="Fulgore Team" version="12">
    <setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="80" />
    <setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="false" />
    <setting id="org.eclipse.jdt.core.formatter.comment.line_length" …
Run Code Online (Sandbox Code Playgroud)

java eclipse gradle eclipse-jdt spotless

2
推荐指数
1
解决办法
618
查看次数

hibernate 是否检查对象是否已实际更改,或者是否假设调用了 setter?

我将 Hibernate 与 Spring 框架一起使用,并遇到了Opportunistic Locking,所以我有一个基本问题:

Hibernate 是否会在调用 setter 时立即考虑对象“已更改/脏”,例如:theEmployee.setAge(32)因此,即使age32更改,它也会被视为“已更改”,或者 Hibernate 会发现即使调用了 setter,对象实际上没有改变?

换句话说,如果我想防止不必要的写入,是否有必要进行编码:

if (theEmployee.getAge() != age) { theEmployee.setAge(age); }
Run Code Online (Sandbox Code Playgroud)

...或者编码就足够了: theEmployee.setAge(age);

java hibernate

1
推荐指数
1
解决办法
1661
查看次数

如何用api传递用户名和密码?

我有一个API.如果您打开,则应输入用户名和密码.如何获取该API中的数据?如果我写get("....api-url...."),它显示unauthorized error.如何将用户名和密码传递给该API?

constructor(private _http: Http) {
    this.getMyBlog();
}

private getMyBlog() {
    return this._http.get('http://localhost:8088/.../...')
        .map((res: Response) => res.json())
        .subscribe(data => {
            this.data = data;
            console.log(this.data);
        });
}
Run Code Online (Sandbox Code Playgroud)

angular

1
推荐指数
1
解决办法
5279
查看次数