小编zel*_*ell的帖子

在Ocaml中"类型...和"和"让...和"之间的范围界定

我想知道为什么在Ocaml中,"让......和......"没有"类型......和......"那样的范围:

下面的一个是好的,t2在与t1相同的范围内

# type t1 = t2 
and t2 = int;;
Run Code Online (Sandbox Code Playgroud)

以下是WRONG,v2 in not in the scoping

# let v1 = v2
and v2 = 3;;

  Characters 9-11:
  let v1 = v2
           ^^

Error: Unbound value v2
Run Code Online (Sandbox Code Playgroud)

甚至"让rec"也行不通......

# let rec v1 = v2
and v2 = 3;;

  Characters 13-15:
  let rec v1 = v2
               ^^
Error: This kind of expression is not allowed as right-hand side of `let rec'
Run Code Online (Sandbox Code Playgroud)

为什么"类型......和"与"让...和"之间的范围不一致?谢谢.

ocaml types let scoping

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

一种行为奇怪的ANTLR语法

我不明白为什么下面的antlr语法不会为输入"bb b"生成树,但它会为输入"aa a"生成树

statement
  |
a a a 
Run Code Online (Sandbox Code Playgroud)

你有什么想法吗?谢谢.

grammar Test2;

options {
  language = Java;
}

statement: ( a|b )*;

a: 'a';

b: 'b';

WS: ('\n'|' '|'\t'|'r'|'\f')+ {$channel=HIDDEN;};
Run Code Online (Sandbox Code Playgroud)

任何人都可以在ANTLR IDE eclipse插件中尝试这个插件 http://antlrv3ide.sourceforge.net/

在我的Eclipse中,它确实表现得像我上面报道的那样奇怪.

grammar parsing antlr

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

在OCaml中包含两个模块时处理类型名称冲突

任何人都可以帮我练习Jason Hickey的书吗?

基本上,问题是如何在实践中避免由于"包含"引起的以下冲突问题?谢谢.

# module type XSig = sig 
type t 
val x : t 
end;; 
# module A : XSig = struct 
type t = int 
let x = 0 
end;; 
# module B : XSig = struct 
type t = int 
let x = 1 
end;; 
# module C = struct 
include A 
include B 
end;; 
Run Code Online (Sandbox Code Playgroud)

ocaml module include

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

如何在scipy.optimize.basinhopping中禁用本地最小化过程?

scipy.optimize.basinhopping 用于找到标量函数的最小值.我想知道是否有可能禁用scipy.optimize.basinhopping的局部最小化部分?正如我们从下面的输出消息中可以看到的那样,minimization_failures并且nit几乎相同,表明局部最小化部分对于流域购物的全局优化过程可能是无用的 - 为什么我想禁用局部最小化部分,为此效率.

在此输入图像描述

python scipy

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

当他们谈论"单一类型"和"LLVM中的类型是唯一的"时,他们在谈论什么?

这一定是愚蠢的,但当他们说"LLVM中的类型是唯一的"时,我不明白其含义(参见本教程,第3.4节).您是否愿意向我解释一下这种所谓的"单一类型"("LLVM类型是唯一的"应该很容易理解,一旦"单一类型"清楚就可以了.)

types llvm

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

"设置"是Java的关键字吗?

Java上的初学者,我从一个编译的大项目中获得了来自.java文件的这段代码

for (Var var : cfg.getArgs())
    set(var);
Run Code Online (Sandbox Code Playgroud)

但在我的Java程序中没有该set方法的定义.我只是想知道是否set是Java的关键字?

java set keyword

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

制作一个pythonic单行语句,如"如果标志返回True"?

有没有办法为...编写一行python语句

if flag:
   return True
Run Code Online (Sandbox Code Playgroud)

请注意,这可能在语义上不同于

return flag
Run Code Online (Sandbox Code Playgroud)

在我的情况下,否则预计将返回None.

我尝试过"返回True if flag",我的emacs检测到语法错误.

python syntax

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

在 C++ 模板参数中不使用 constexpr

我正在使用类型为 的变量itk::Image<OutputPixelType, Dimension>,其中“itk”来自图像处理库 ITK。

以下代码编译:

constexpr unsigned int Dimension = 3;
using PixelType = float; 
using MyImageType = itk::Image<PixelType, Dimension>;
Run Code Online (Sandbox Code Playgroud)

但现在我需要将“维度”定义为从函数计算出来的东西。

unsigned int Dimension = get_dimension(...);
Run Code Online (Sandbox Code Playgroud)

我的编译器报错:

error: non-type template argument is not a constant expression
  using MyImageType = itk::Image<PixelType, Dimension>;
                                            ^~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?我希望使用“维度”作为从函数计算出来的东西。

c++ templates constexpr itk c++11

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

卷曲-SL有什么作用?

我正在看这个命令

curl -SL https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
Run Code Online (Sandbox Code Playgroud)

“-SL”有什么作用?我如何使用 Linux 命令行找到这个问题的答案?

linux curl

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

zsh shell中的百分号是怎么来的?

当我运行这段代码(从教程到二进制安全性)时,我总是在 zsh shell 中得到一个“%”。这些百分号从何而来以及如何摆脱它们?

#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
  char buf[256];
  memcpy(buf, argv[1],strlen(argv[1]));

  printf("%s", buf);
}


% ./a.out 234
234%
% ./a.out 23466
23466%
% ./a.out 2
2%
Run Code Online (Sandbox Code Playgroud)

c zsh

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

标签 统计

ocaml ×2

python ×2

types ×2

antlr ×1

c ×1

c++ ×1

c++11 ×1

constexpr ×1

curl ×1

grammar ×1

include ×1

itk ×1

java ×1

keyword ×1

let ×1

linux ×1

llvm ×1

module ×1

parsing ×1

scipy ×1

scoping ×1

set ×1

syntax ×1

templates ×1

zsh ×1