我做了一个简单的例子来测试package.exports.types
字段,设置如下
"exports": {
".": {
"import": "./build/index.js",
"require": "./build/index.js",
"default": "./build/index.js",
"types": "./build/index.d.ts"
},
"./foo": {
"import": "./build/foo.js",
"require": "./build/foo.js",
"default": "./build/foo.js",
"types": "./build/foo.d.ts"
},
"./package.json": "./package.json"
},
Run Code Online (Sandbox Code Playgroud)
但是,当我在另一个项目中导入这个包时,它说
error TS2307: Cannot find module 'exports-test/foo' or its corresponding type declarations.
1 import * as a from 'exports-test/foo'
Run Code Online (Sandbox Code Playgroud)
而且打字稿编译器似乎找不到foo
. 我的打字稿版本是4.6.3。我想我遵循了官方文件中规定的每一条指示。
我的设置有什么问题吗?如果您可以共享工作示例的存储库,那将非常有帮助。
我知道有一种方法可以从任何 sqlalchemy 查询对象打印实际的 sql 查询。但是,我想将查询用作参数化形式,而不呈现参数的值。
例如,打印的查询如下所示。
SELECT "user".id AS user_id, "user".hashed_pw AS user_hashed_pw,
"user".name AS user_name, "user".tel AS user_tel, "user".email AS user_email,
"user".created_time AS user_created_time FROM "user"
WHERE "user".name = :name_1 AND "user".age < :age_1
Run Code Online (Sandbox Code Playgroud)
我将 name_1 作为 'john' 传递,age_1 作为 30 传递,但我不知道如何获取 name_1 和 age_1 的值。我想要一本像 {'name_1':'john', 'age_1':30} 这样的字典。
我怎样才能做到这一点?
我不是问如何使用 sqlalchemy 执行原始 sql 字符串。我想构建 sqlalchemy.orm.query.Query 对象,它也可以通过如下代码构建。
query = s.query(User).filter(User.age<10)
Run Code Online (Sandbox Code Playgroud)
我尝试过类似的东西
query = s.query('* from User where age<10')
Run Code Online (Sandbox Code Playgroud)
在某些情况下它似乎工作正常,但它的实际行为与我的预期有很大不同。例如,query.column_descriptions 返回错误的值。换句话说,我正在寻找一个解析 sql 字符串并返回可用于检查详细信息的 Query 对象的函数。我希望有一种简单的方法可以做到这一点。有人知道这件事吗?
我认为一些使用反射的代码可以在编译时进行优化(我不确定我们可以称之为优化)。
例如,System.Reflection.MethodInfo.GetCurrentMethod
在同一个方法中调用时总是返回相同的值。
此外,使用类名表示的常量字符串访问类信息没有理由在运行时完成。
我对其进行了测试,结果显示带有反射的代码比没有反射的代码慢大约 300 倍。
是否有任何编译选项可以实现我想要的功能?
我试图编写一个类型为forall n, option (n = 1)
.
我选择option
作为reflect
避免提供否定案例证明的替代方法。所以Some
扮演角色ReflectT
并持有证明,None
而不持有否定证明。
Definition is_1 n: bool:=
match n with
1 => true |
_ => false
end.
Lemma is_1_complete : forall n, is_1 n = true -> n = 1.
intros.
destruct n. simpl in H. discriminate.
destruct n. reflexivity.
simpl in H. discriminate.
Qed.
Lemma a_nat_is_1_or_not: forall n, option (n = 1).
intros.
cut (is_1 n = true -> n = 1). …
Run Code Online (Sandbox Code Playgroud) 这里我的意思是公理是我们可以用Axiom
Coq Gallina 中的关键字定义的东西,而不是传递给 Coq 的命令行参数。
我知道一些公理使 Coq 不一致。然而,AFAIK 他们并没有使 Coq Turing 完整。以我的粗略理解,这是因为它们不提供任何额外的计算行为。
有没有一种可以使 Coq 转动完成的?如果没有,您能否更具体地解释为什么不可能?
coq ×2
python ×2
sql ×2
sqlalchemy ×2
c# ×1
compile-time ×1
mysql ×1
npm ×1
optimization ×1
package.json ×1
reflect ×1
reflection ×1
termination ×1
totality ×1
type-theory ×1
typescript ×1
unification ×1