小编jpi*_*tis的帖子

OCaml 或 Core 中是否有通用的调试打印?

假设我有一个用户定义的类型,例如type foo = string * string list,如果我想在我的代码中插入打印调试语句以查看它保存的值,那么最快的方法是什么?

let (first, second) = foo in printf "%s, %s" first (String.concat second) 对于快速而肮脏的调试语句来说,似乎编写 工作太多了!

ocaml

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

带有Core_unix.exec的OCaml Core_unix.fork永不返回

我在以以下方式执行fork时遇到麻烦,因为子进程返回a Core_kernel.Std.never_returns,而父进程试图返回()

我得到了错误This expression has type unit but an expression was expected of type Core_kernel.Std.never_returns = Core_kernel.Nothing0.t。似乎找不到使用的正确方法Core.Std

open Core.Std
open Unix

let () = 
  let prog = "ls" in
  let args = ["ls"; "-l"] in
  match Unix.fork () with
  | `In_the_child ->
     Unix.exec ~prog:prog ~args:args ();
  | `In_the_parent _ ->
     (* continue on with the program *)
Run Code Online (Sandbox Code Playgroud)

ocaml

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

Flask - 为关键字参数“eventid”获得多个值 - 装饰器

我目前正在运行一个使用以下装饰器的 Python Flask 应用程序:

def login_required(fn):
    @wraps(fn)
    def wrapper(*args, **kwargs):
        if 'phone' in session:
            user = User.query.filter_by(phone = session['phone']).first()
            if user:
                return fn(user, *args, **kwargs)
            else:
                return redirect(url_for('login'))
    return wrapper
Run Code Online (Sandbox Code Playgroud)

我有以下观点:

@app.route('/delete/<eventid>')
@login_required
def delete(eventid):
Run Code Online (Sandbox Code Playgroud)

这是由以下行调用:

url_for('delete', eventid=event.uid)
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误:

delete() got multiple values for keyword argument 'eventid'
Run Code Online (Sandbox Code Playgroud)

delete() 函数在不使用装饰器时起作用。装饰器在不与 delete() 函数一起使用时工作。

我该如何解决这个问题?

python flask

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

标签 统计

ocaml ×2

flask ×1

python ×1