0

作为学习课程的一部分,我正在制作一个程序,将列表作为参数,然后对其内容进行操作。它是这样的:

proc {myProc A B}
    case B of H|T then
        %do something
        {myProc A T}
    end
end

但是,当我尝试执行它时,当B是一个空列表(即nil)时遇到了失败。这是为什么?

B如果是 nil ,我应该怎么做才能什么都不做?据我所知,添加空else子句会导致编译错误。

4

1 回答 1

1

您需要为 nil 添加一个案例:

proc {myProc A B}
  case B
  of H|T then
    %do something
    {myProc A T}
  [] nil then
    skip
  end
end
于 2014-03-21T16:59:14.643 回答