我有一个用 ReactJS 制作的网站。analyzejs该网站调用另一种编程语言生成的库的函数。我只能调用这个库的函数;我无法修改这个库的太多内容。
到目前为止,我一直在使用该库的第一个版本:analyzejs-v1.js. 为了实现这一点,在frontend/public/index.html网站中,我有
<head>
<script src="/lib/analyzejs-v1.js"></script>
<!-- <script src="/lib/analyzejs-v2.js"></script> -->
</head>
<body>
<div id="root"></div>
</body>
Run Code Online (Sandbox Code Playgroud)
我还有一个类型声明文件,frontend/src/defines/analyzejs-v1.d.ts如下所示:
declare function f1(): string;
declare function f2(): string;
...
Run Code Online (Sandbox Code Playgroud)
结果,在网站的代码中,我可以直接调用f1()使用analyzejs-v1.js。
现在,我想添加该库的另一个版本analyzejs-v2.js。在网站的某些部分,我想f1()调用analyzejs-v1.js; 在网站的某些部分,我想f1()调用analyzejs-v2.js. 所以我想我需要向这些不同的版本添加诸如v1和之类的命名空间v2以避免冲突。然后,我就可以打电话v1.f1()和v2.f2()。
我尝试修改frontend/src/defines/analyzejs-v1.d.ts如下:
declare namespace v1 {
function f1(): string;
function f2(): string;
...
}
Run Code Online (Sandbox Code Playgroud)
在网站的代码中,我尝试使用v1.f1().
编译没有出现任何错误。但是,运行该网站并使用功能调用时,我在: …
我有一个用 ReactJS 制作的网站。在 中public/index.html,我有
<head>
<script src="/lib/analyzejs-v1.js"></script>
<script src="/lib/analyzejs-v2.js"></script>
</head>
<body>
<div id="root"></div>
</body>
Run Code Online (Sandbox Code Playgroud)
其中analyzejs-v1.js有 6Mo,并且analyzejs-v2.js有 3Mo;它们都是固定文件,我无法对其进行太多修改。
这两个文件不是模块;它们的功能已声明(例如,declare function f1(address: string): string;在 中src/defines/analyzejs-v1.d.ts)。analyzejs-v1.js因此,某些组件通过使用函数名称直接调用函数f1(...),无需任何命名空间、导入或导出。其余组件analyzejs-v2.js通过使用函数名称f2(...)直接调用函数,无需任何命名空间、导入或导出。
加载这两个js库文件需要时间。所以我正在寻找一种方法来加载analyzejs-v1.js或analyzejs-v2.js根据组件(或 URL)。
那么有谁知道为不同组件加载不同JS库文件的常规方法吗?
我使用的是 Mac。
我打开了几个 VSCode 窗口。
我只想在 2 个(上次查看的)窗口之间切换。有谁知道这样做的键盘快捷键是什么?
我尝试了 command + `,但它一一浏览了所有打开的 VSCode 窗口。选项+选项卡也是如此。
我尝试了 control + w,它也会浏览所有打开的 VSCode 窗口,除非您使用向上和向下键进行选择。
有人可以帮忙吗?
我正在Ocaml中编写一个编译器.当我make在终端中编译和测试它时,tracback运行良好,例如:
export OCAMLRUNPARAM=b
./Simpler-Basic test.sib
Fatal error: exception Match_failure("interp.ml", 45, 21)
Called from file "interp.ml", line 97, characters 72-86
Called from file "list.ml", line 74, characters 24-34
Called from file "interp.ml", line 108, characters 9-35
Called from file "main.ml", line 54, characters 4-17
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)
但是当我在我的Emacs中编译并测试它Meta-x compile后make,它没有显示缓冲区中的回溯部分:
make
export OCAMLRUNPARAM=b
./Simpler-Basic test.sib
Fatal error: exception Match_failure("interp.ml", 45, 21)
make: *** [all] Error 2
Compilation exited abnormally with code 2 at Sat …Run Code Online (Sandbox Code Playgroud) 我有一个.ml文件,我想它的产生.cmo,.cmx,.cmi并.mli通过为最命令越好,任何人都可以帮助吗?
我已经定义了2个签名和2个模块,如下所示.一个签名来自另一个; 一个模块来自另一个模块.
module type MATRIX =
sig
type 'a t
...
end
module type AMATRIX =
sig
include MATRIX
...
end
module MatrixArray : MATRIX =
struct
type 'a t = 'a array array
...
end
module AMatrixArray : AMATRIX =
struct
include MatrixArray
let init (x: 'a) : 'a t =
Array.make 2 (Array.make 2 x)
...
end
Run Code Online (Sandbox Code Playgroud)
但是当我编译它时,它最终会给我一个错误Error: This expression has type 'a array array but an expression was expected of type 'a t = 'a MatrixArray.t …
我有一段代码如下:
Open "output.txt" For Output As #1
s = "abc" & chr(10) & "def"
Msgbox s
print #1, s
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,Msgbox确实会打印2行。然而,在output.txt,abcdef被打印。
有人知道如何将多行字符串输出到文件吗?
在Module Printf的文档中,我不了解其机制('a, out_channel, unit) format,以为我在实践中经常使用它.
例如,以下函数在编译时输入良好:
type t =
{ x: int;
y: int }
let print (chan: out_channel) (co: t) : unit =
Printf.fprintf chan "(%d, %d)" x y
let try (co0: t) (co1: t) =
Printf.fprintf Pervasives.stdout "From %a To %a" print co0 print co1
Run Code Online (Sandbox Code Playgroud)
签名Printf.fprintf是: out_channel -> ('a, out_channel, unit) format -> 'a,但我看不到('a, out_channel, unit) format匹配的内容"From %a To %a" print co0 print co1. …
我想编写一个VBA程序,该程序在工作簿中打印所有用户窗体的名称。
例如,如果工作簿具有名为的用户表单frmHello。我只想打印UserForm: frmHello

有谁知道哪个集合与用户表单有关,以及如何找到用户表单的名称?
我刚收到一份我提交的加载项的更改建议报告.它说Your add-in is not working in the Excel 2013 client on Windows 7 with Internet Explorer 11.
我一直在测试我的插件中Excel 2016和Excel Online.所以我刚安装Excel 2013(版本15.0.4841.1000,包括SP1),确实加载项不起作用.但似乎很少有事情可行......
例如,以下示例函数haha在Cell A1下写入Excel Online,而在其中没有任何内容Excel 2013.
function test () {
Excel.run(function (ctx) {
var range = ctx.workbook.worksheets.getItem("Sheet1").getRange("A1");
range.values = [["haha"]];
return ctx.sync();
});
}
Run Code Online (Sandbox Code Playgroud)
那么有人知道JavaScript API是否支持Excel 2013?如果没有,许多专业人士将无法使用加载项,因为他们仍然Excel 2013...
PS:我看到办公室商店中有很多插件需要Excel 2013 or later或Excel 2013 Service Pack 1 …
ocaml ×4
excel ×2
excel-vba ×2
reactjs ×2
types ×2
vba ×2
compilation ×1
debugging ×1
emacs ×1
hamlet ×1
inheritance ×1
javascript ×1
module ×1
ms-office ×1
namespaces ×1
office-js ×1
script-tag ×1
traceback ×1
typescript ×1
webpack ×1