在学习命题逻辑和谓词逻辑后,我转向Prolog.
我想知道是否有人可以为我澄清语法,因为我无法阅读它.
我可以轻松地阅读下面的内容.所以它说
如果X是Y的子,则X是Y的下降.
然后它继续说
如果X是Z的子节点并且Z是Y的下降,则X是Y的下降.
descend(X,Y) :-
child(X,Y).
descend(X,Y) :-
child(X,Z),
descend(Z,Y).
Run Code Online (Sandbox Code Playgroud)
但是一旦我开始研究列表编程,我就很难阅读谓词的语法.例如下面的内容
remove([], _, []).
remove([X | Xs], X, Ys) :- remove(Xs, X, Ys).
remove([Y | Xs], X, [Y | Ys]) :- X \== Y, remove(Xs, X, Ys).
Run Code Online (Sandbox Code Playgroud)
从测试开始,它会删除第二个项目,例如,如果我输入
remove([a,b,c], b, Ys).
Run Code Online (Sandbox Code Playgroud)
我会的 Ys = [a,c].
但我不知道如何阅读语法,如果有人可以为我分解,那就太好了.
有没有办法从 Java DSL 可视化 Camel 路由?如果是这样,最好的方法是什么?如果没有,是否有任何解决方法可以从 Java DSL 可视化 Camel 路由?
我正在尝试使用 CompileDaemon 来使用 Docker 热重载 go 项目。
我的文件夹结构如下所示
my-api
- server
- main.go
- Dockerfile
- docker-compose.yml
- Makefile
Run Code Online (Sandbox Code Playgroud)
这是我收到的错误:
go build github.com/firstApi/test-platform/lib/my-api/server: build output "server" already exists and is a directory
这就是我的 dockerfile 的样子
FROM golang:1.12-stretch
ENV GO111MODULE=on
WORKDIR /go/src
COPY go.mod .
COPY go.sum .
RUN go mod download
COPY . .
RUN ["go", "get", "github.com/githubnemo/CompileDaemon"]
RUN go test ./... \
&& CGO_ENABLED=0 go build -v -a -installsuffix cgo -o /main server/main.go
ENTRYPOINT CompileDaemon -log-prefix=false -build="go build ./server" …
Run Code Online (Sandbox Code Playgroud) Java中是否有一个可以容纳4个以上值的数据结构?
所以有些东西
Map<String, String, String, String>;
Run Code Online (Sandbox Code Playgroud)
这需要能够减少if else语句的数量.我希望能够做到以下几点.
检查数据结构是否包含与某个值匹配的元素,如果是,则将链接(字符串)分配给变量,然后将代码和消息添加到与该链接相关的另一个变量.
如果不是有一个很好的锻炼来实现这一目标?
我正在玩Java 8中的流和lambdas,因为我之前从未使用它们并试图转换20到19的所有人的年龄并打印出他们的名字,但是我得到以下错误
Cannot invoke map(Person::getName) on the primitive type void
Run Code Online (Sandbox Code Playgroud)
这是我的代码
System.out.println(
people.stream()
.filter(person -> person.getAge() == 20)
.forEach(person -> person.setAge(19))
.map(Person::getName));
Run Code Online (Sandbox Code Playgroud)
如果有人能告诉我为什么会这样,或者让我知道如何改进或修改此代码,我们将不胜感激.
我有一个errorCodes列表,我想检查它们是否包含单独数组中的错误代码.如果列表errorCode中存在错误代码,那么我想过滤掉那些错误代码.
这就是我到目前为止所拥有的
int[] ignoredErrorCodes = {400, 500};
List<Error> errorCodes = errorsList.stream()
.filter(error -> error.getErrorCode() != ignoredErrorCodes[0])
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
如何使用流检查数组ignoredErrorCodes中的所有值而不是一个?
java ×4
java-8 ×2
java-stream ×2
apache-camel ×1
arraylist ×1
arrays ×1
docker ×1
dockerfile ×1
go ×1
hashmap ×1
lambda ×1
logic ×1
prolog ×1