小编Kri*_*hna的帖子

vscode 远程 ssh 和远程隧道连接有什么区别

在速度和代码保护方面, VSCODE 的远程 SSH远程隧道开发相比如何?

乍一看,SSH 似乎在两台机器上共享工作负载(扩展) 远程SSH

虽然远程隧道完全在远程/服务器计算机上工作 隧道

远程隧道是否通过互联网连接两台计算机?它如何影响速度?

如果可能的话,远程 SSH 是否总是更可取?

ssh ssh-tunnel visual-studio-code vscode-remote remote-tunnel

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

python 创建自定义语法

python 中的or-tools模块添加了自定义语法,其中函数可以采用任意表达式作为参数(如下所示),该语法不是立即求值,而是稍后作为约束解决

model.Add(x + 2 * y -1 >= z)
Run Code Online (Sandbox Code Playgroud)

当我从函数中打印参数的类型时,它显示

<class 'ortools.sat.python.cp_model.BoundedLinearExpression'>
Run Code Online (Sandbox Code Playgroud)

一种简单的方法是将表达式作为字符串传递,但感觉更好。我想了解这是如何实现的。这是在 python 中创建自定义语法的方法吗?是否需要更新解析器或类似的东西?

这是简单的程序

from ortools.sat.python import cp_model


def foo(expr):
    print(expr, type(expr))

def main():
    model = cp_model.CpModel()
    var_upper_bound = max(50, 45, 37)
    x = model.NewIntVar(0, var_upper_bound, 'x')
    y = model.NewIntVar(0, var_upper_bound, 'y')
    z = model.NewIntVar(0, var_upper_bound, 'z')
    a = 0
    b = 0
    c = 0

    model.Add(2*x + 7*y + 3*z == 50)

    solver = cp_model.CpSolver()
    status = solver.Solve(model)

    if status == cp_model.OPTIMAL:
        print('x value: ', …
Run Code Online (Sandbox Code Playgroud)

python syntax or-tools cp-sat

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