在VBA中,如此规范所示,数值可以有多种类型:Double,Integer,Long,LongLong,Single,Decimal,Byte.但是,似乎在Excel中,对于包含数值的单元格,其类型始终被视为Double.
Excel公式或VBA代码中有多个函数可以检查单元格的数据类型.例如,TypeName函数在VBA,Excel中的TYPE函数,是Excel的功能等,但似乎他们可以返回数值上等类型是双,其他数字类型(整型,长整型,字节...)永远无法被发现.
谁能告诉我,我是对还是错?
我已经定义了一个模块类型ZONE和两个仿函数(ZoneFun和ZoneFunPrec)来构建它:
(* zone.ml *)
module type ZONE =
sig
type info
type prop
type t = { p: prop; i: info }
val f1 : t -> string
end
module ZoneFun (Prop : PROP) = struct
type info = { a: int }
type prop = Prop.t
type t = { p: prop; i: info }
let f1 z = "f1"
end
(* zoneFunPrec.ml *)
module ZoneFunPrec (Prop: PROP) (Prec: ZONESM) = struct
type …Run Code Online (Sandbox Code Playgroud) 我已经定义了一个值列表:data : int list和一个函数f: int -> unit,以及一段代码:
for i = 0 to (List.length data) - 1 do
let d = List.nth data i in
f d
done
Run Code Online (Sandbox Code Playgroud)
现在,我想设置一个最大运行时间f.例如,如果f d超过一定时间maximal,执行f d停止,我们继续执行下一个元素data.
有谁知道怎么做?
UPDATE1:
在评论之后,我想补充一点,对f大部分元素的应用data最终会引发异常.这是正常的并被接受.所以代码看起来像:
List.iter
(fun d ->
try
(f d)
with
| e ->
printf "%s\n" (Printexc.to_string e))
data
Run Code Online (Sandbox Code Playgroud) 我使用#include ".../frontend/tokens.mll"in lexer.mll,然后cpp -C -P frontend/lexer.mll -o frontend/lexer_new.mll生成lexer_new.mll.
这一直有效,直到我昨天将我的 ubuntu 从 12.04 升级到 14.04。
编译报错:
ocamllex frontend/lexer_new.mll
File "frontend/lexer_new.mll", line 1, character 1: illegal character /.
make: *** [frontend/lexer_new.ml] Error 3
Run Code Online (Sandbox Code Playgroud)
那是因为在lexer_new.mll开始处插入了几行 C 注释:
/* Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU …Run Code Online (Sandbox Code Playgroud) 我有一个非常长的文件,其中包含一组递归函数.递归是必要的,代码也是有效的.但我只想将文件拆分为2个或更多文件以提高可读性.但我不知道我们如何分裂let rec ... and ...OCaml ......
有谁知道OCaml是否提供了这样做的任何机制(例如,指定接口或写入的方法makefile)?
非常长的文件可能如下所示:
let rec f1 () =
...
f7 (); (* f7 is called only once by all the functions in the file *)
f2 ();
...
and f2 () =
...
f1 ();
...
and f7 () =
...
f1 ();
...
Run Code Online (Sandbox Code Playgroud) 我是JavaScript新手,正在尝试使用js_of_ocaml。
我首先写的很简单cubes.ml:
let simple (a: int) =
a + 1234
Run Code Online (Sandbox Code Playgroud)
然后编译它:
ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax \
-syntax camlp4o -linkpkg -o cubes.byte cubes.ml
Run Code Online (Sandbox Code Playgroud)
然后生成JavaScript文件:
js_of_ocaml cubes.byte
Run Code Online (Sandbox Code Playgroud)
这是生成的cubes.js。请注意,我们在该文件中找不到1234名称或功能名称simple。
我还有另一个JavaScript文件Home.js,我希望该函数callSimple调用在中生成的内容cubes.js。但是我不知道怎么写。有人可以帮忙吗?
(function () {
...
function callSimple(a) {
return ???;
};
...
})();
Run Code Online (Sandbox Code Playgroud)
编辑1:
我尝试了@EdgarAroutiounian提出的解决方案:
(* cubes.ml *)
let () =
Js.Unsafe.global##.jscode := (object%js
val simple = Js.wrap_meth_callback
(fun a -> a + 1234)
val speak …Run Code Online (Sandbox Code Playgroud) 在github搜索中,以下字符串允许我搜索JavaScript包含Acode在用户的所有存储库中的代码NameOfUser:
user:NameOfUser language:JavaScript ACode
Run Code Online (Sandbox Code Playgroud)
现在,我想添加另一个条件:我只对包含ACode在名称所包含 的存储库中的代码感兴趣repokey.
有谁知道如何写请求?
让我们以Excel为例。在Excel 2016中,当我在中选择一个加载项时STORE,单击之后Trust It,是否将加载项的代码(.html,.js文件)下载或安装在我的计算机上?
换句话说,是否MY ADD-INS在我的机器上已经安装了下面的加载项,这样我可以在没有Internet的情况下加载和运行它们(如果加载项不向Internet发送或从Internet接收特殊数据)?
我问这个问题,是因为我想知道基本加载项是否始终需要Internet访问才能正常工作。
我想创建一个文本区域,用户可以在其中选择文本的一部分,我将根据他们的选择做出反应。所以我需要
1)获取选择文本的开始和结束位置
2)获取焦点的位置,如果它在textarea中并且没有选择
似乎不同的浏览器执行此操作的功能有所不同。那么谁能告诉我在 Office 加载项中执行此操作的方法是什么?
我尝试了以下两种方法(即选择 中的部分文本myTextarea,单击button,然后调试代码),它们似乎不是正确的功能。
(function() {
"use strict";
Office.initialize = function(reason) {
$(document).ready(function() {
app.initialize();
$('#button').click(showSelection);
});
};
function showSelection() {
// way 1
console.log(document.selection); // undefined
document.getElementById("myTextarea").focus();
var sel = document.selection.createRange(); // Uncaught TypeError: Cannot read property 'createRange' of undefined
selectedText = sel.text;
// way 2
console.log(document.getElementById("myTextarea").selectionstart); // undefined
console.log(document.getElementById("myTextarea").selectionend); // undefined
}
})();
Run Code Online (Sandbox Code Playgroud)
另外,如果有人能告诉我如何通过代码实现以下内容那就太好了:
1)从开始和结束位置选择文本的一部分
2)将焦点设置在textarea的某个位置
编辑1:
我刚刚window.getSelection()在我的 Excel 加载项中尝试过:
function showselection() {
var a = window.getSelection();
var …Run Code Online (Sandbox Code Playgroud) 我想操作Office Open XMLExcel 的格式,但即使只是.zip和之间的转换.xlsx也会产生错误:
test.xlsx通过Excel创建一个非常简单的test.xlsx=>Rename作为text.xlsx.ziptext.xlsx.zip=>Extract all到名为的文件夹text.xlsxtext.xlsx文件夹 => Send to=>Compressed (zipped) folder命名text_2.xlsx.ziptext_2.xlsx.zip=>Rename作为text_2.xlsxtext_2.xlsx,出现如下错误:有谁知道那里出了什么问题吗?