小编BWS*_*rns的帖子

Rust/Bevy 中的点零调用计时器?

在 Bevy 书中使用了以下代码:

struct GreetTimer(Timer);

fn greet_people(
    time: Res<Time>, mut timer: ResMut<GreetTimer>, query: Query<&Name, With<Person>>) {
    // update our timer with the time elapsed since the last update
    // if that caused the timer to finish, we say hello to everyone
    if timer.0.tick(time.delta()).just_finished() {
        for name in query.iter() {
            println!("hello {}!", name.0);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

timer.0和电话在做什么name.0?这本书没有解决这个问题,我看到它Timer有一个勾选方法,那么既然已经是一个,.0那么这里在做什么?timerTimer

rust bevy

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

迭代对象数组和返回属性

我试图在Rails中返回对象标题列表,但是我不断返回整个对象而不是title属性.

loe是具有属性的对象,该属性是文章列表(命名文章),每篇文章本身都是具有名为title的属性的对象.

<%= loe.article.each { |x| print x.title } %>
Run Code Online (Sandbox Code Playgroud)

是我目前正在尝试进行迭代,但这将返回整个文章列表.

ruby arrays ruby-on-rails

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

Terraform不会将Lambda代码zip文件上传到AWS

现在我有以下内容main.tf:

resource "aws_lambda_function" "terraform_lambda" {
  filename = "tf_lambda.zip"
  function_name = "tf_lambda"
  role = "lambda_basic_execution"
  handler = "tf_lambda.lambda_handler"
  source_code_hash = "${base64sha256(file("tf_lambda.zip"))}"
  runtime = "python3.6"
}
Run Code Online (Sandbox Code Playgroud)

我的目录结构是这样的:

.
|-- main.tf
|-- tf_lambda.zip
|-- tf_lambda
    ??? tf_lambda.py
Run Code Online (Sandbox Code Playgroud)

当我运行terraform apply然后,在控制台中,转到创建的lambda,代码部分为空,它邀请我上传一个zip文件.如何确保代码实际上传?

amazon-web-services aws-lambda terraform

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

在保留分隔符Haskell的同时拆分字符串

基本上我正在尝试拆分String成一个[[String]]然后将结果连接起来但是将分隔符保留在结果列表中(甚至连续重复).

类似下面的作品,但是分隔符被碾压成一个空格而不是保留所有三个空格

unwords . map (\x -> "|" ++ x ++"|") . words $ "foo   bar"
-- "|foo| |bar|"
Run Code Online (Sandbox Code Playgroud)

理想情况下我可以得到类似的东西:

"|foo||   ||bar|" -- or
"|foo|   |bar|"
Run Code Online (Sandbox Code Playgroud)

我只是无法弄清楚如何保留分隔符,我看到的所有分割函数都从结果列表中删除了分隔符,我可以自己编写一个但是它看起来像是在标准库中并且在此处我希望学习的不仅仅是基础知识,包括熟悉更多口语化的做事方式.

我想我正在寻找一些功能:

splitWithDelim :: Char -> String -> [String]
splitWithDelim "foo   bar" -- ["foo", " ", " ", " ", "bar"]
Run Code Online (Sandbox Code Playgroud)

或者也许最好在这里使用正则表达式?

haskell

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

使用 docker-compose 在本地运行 rust sqlx 迁移

我正在使用 Rust 从零到产品,但我有点脱离了脚本。我正在努力在本地对整个设置进行 docker 化,包括数据库。在ENTRYPOINT容器上调用一个启动脚本,该脚本尝试调用sqlx migrate run,导致错误./scripts/init_db.sh: line 10: sqlx: command not found

我想我已经解决了这个问题,因为我使用的bullseye-slim是运行时,所以它不会为最终映像保留已安装的 Rust 包,这有助于缩短构建时间和映像大小。

有没有一种方法可以在不安装 Rust、Cargo 等的情况下运行 sqlx 迁移?或者有更好的方法来完成这个任务吗?我想避免只是重新安装bullseye-slim映像中的所有内容并丢失一些 docker 优化。

# Dockerfile
# .... chef segment omitted
FROM chef as builder
COPY --from=planner /app/recipe.json recipe.json
# Build our project dependencies, not our application!
RUN cargo chef cook --release --recipe-path recipe.json
# Up to this point, if our dependency tree stays the same,
# all layers should be …
Run Code Online (Sandbox Code Playgroud)

rust docker docker-compose rust-sqlx

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

.pop()似乎在Python中触发TypeError,即使结果应该是一个列表

所以下面的Python代码得到错误:TypeError:'NoneType'对象没有属性' getitem '

我无法弄清楚为什么列表'路径1 '不会被识别为列表,而是被识别为NoneType.

我已经检查了之前的Stack问题,谷歌搜索了所有这些,但我无法弄清楚它为什么会发生.是近距离的(我认为),但我不知道为什么我的state = path [-1]调用正在出现这个错误.

有什么想法吗?非常感激.

谢谢

码:

import re
import string



gr = {
    "A":["B","C","D"],
    "B":["A","E"],
    "C":["A","E"],
    "D":["A","H","I","J"],
    "E":["B","C","F","G","H"],
    "F":["E"],
    "G":["E","H"],
    "H":["D","E","G","K"],
    "I":["D","K","L"],
    "J":["D","M"],
    "K":["I","M","H"],
    "L":["I"],
    "M":["K","J"]
    }

def graphSearch(graph, start, dest):
    frontier = [[start]]
    explored = []
    options = []
    if frontier == []: return "I hope you enjoyed riding aboard the failboat"
    while len(frontier)>0:
        path = frontier.pop()
        state = path[-1]
        if state == dest: 
            return path
        else:
            for a in …
Run Code Online (Sandbox Code Playgroud)

python graph typeerror

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

如何处理 cljs-ajax 响应?

我正在使用 cljs-ajax 从 clojurescript 前端向使用 JSON 响应的 API 发出请求,但似乎我需要对它做一些事情才能在 cljs 中使用它。

(defn all-pieces []
  (GET "/art/pieces" {:handler ajax-success-handler}))
Run Code Online (Sandbox Code Playgroud)

当我初始化我的应用程序状态时,我分配了密钥 :all-pieces (all-pieces)

当我:all-pieces在组件中迭代时,我收到错误Uncaught Error: [object Object] is not ISeqable

(defn pieces-component []
  [:ul (for [piece (:all-pieces @app-state)]
         [:li (art-piece piece)])])
Run Code Online (Sandbox Code Playgroud)

编辑重新普拉特利:

下面的代码现在导致的状态all-pieces{},看到什么问题?

;; -------------------------
;; Remote Data

(defn all-pieces [handler]
  (GET "/art/pieces" {:handler handler}))

;; -------------------------
;; State Management

(def app-state (atom
  {:doc {}
    :saved? false
    :page-state {}
    :all-pieces {}}))


(defn set-pieces-fresh [] …
Run Code Online (Sandbox Code Playgroud)

ajax clojure clojurescript

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