如何在 Nim 中测试空序列?

Imr*_*ran 5 sequence nim-lang

假设我有以下序列:

var s1: seq[int] = @[]
var s2: seq[int]
var s3: seq[int] = nil
var s4: seq[int] = newSeq[int](4)
Run Code Online (Sandbox Code Playgroud)

其中哪些通常被认为是“空的”?测试它们是否为空的最惯用的方法是什么?

现在我只是检查是否len0

proc doSomething(s: seq[int]) =
  if s.len() == 0:
    echo("Your sequence is empty.")
  else:
    # do something
Run Code Online (Sandbox Code Playgroud)

def*_*ef- 6

strutils 模块提供了isNullOrEmpty字符串的过程:https ://nim-lang.org/docs/strutils.html#isNilOrEmpty,string

正如您在其实现中所看到的,它只是检查len(s) == 0.

  • 不再有任何这样的过程,因为序列不能再为零。 (2认同)