小编Arr*_*rrr的帖子

Nim相当于Python的列表理解

由于Nim与Python共享许多功能,如果它也实现了Python的列表理解,我也不会感到惊讶:

string = "Hello 12345 World"
numbers = [x for x in string if x.isdigit()]
# ['1', '2', '3', '4', '5']
Run Code Online (Sandbox Code Playgroud)

这在Nim实际上是否可行?如果没有,可以用模板/宏实现吗?

python list-comprehension nim-lang

14
推荐指数
3
解决办法
2009
查看次数

在模板和宏中键入vs untyped vs expr vs stmt

我最近一直在使用模板和宏,但我不得不说我几乎找不到有关这些重要类型的信息.这是我肤浅的理解:

  • typed/expr以前必须存在,但你可以使用.immediate.克服它们.
  • untyped/stmt是先前未定义的/一个或多个语句.

这是一种非常含糊的概念.我想对它们有一个更好的解释,包括哪些类型应该用作返回.

macros templates nim-lang

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

在Nim中清除序列

List.Clear对于序列,java或c#等语言的Nim等价是什么?我看到在系统中列出了proc setLen,但我不确定它是否符合我的要求.从描述:

f the current length is greater than the new length, s will be truncated. s

这是否意味着每次我将任何seq len设置为0它将创建一个新的seq实例?

clear seq nim-lang

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

字符串插值

在scala中,您可以轻松地在字符串中包含变量的内容,如下所示:

val nm = "Arrr"
println(s"my name is , $nm")
Run Code Online (Sandbox Code Playgroud)

这是否可能在nim,在那种情况下,如何?

string string-interpolation nimrod nim-lang

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

从const获取地址

手册:

可以获取变量的地址,但是不能在通过let语句声明的变量上使用它

我知道这是为了提供安全.现在,如果我想不惜一切代价从const获取地址,是否有解决方法?

pointers const nim-lang

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

通用序列

我有以下片段。但是,第二个变量声明不会编译:

type 
  Coin = ref object
  Pen  = ref object

let 
  yes : seq[ref object] = @[Coin(), Coin(), Coin()]  #Compiles
  no  : seq[ref object] = @[Coin(), Pen(), Coin()]   #Does not compile
Run Code Online (Sandbox Code Playgroud)

在 nim 中是否有可能有通用的 seqs,比如 java 的列表?

generics sequence nimrod nim-lang

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

为key = value定义开关

在nim中,您可以定义一个符号-d:value并测试它是否已定义defined(value).但是,可以定义一个键并检索其值吗?我正在寻找一些--colors:on用户定义的东西.

arguments nim-lang

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