如何确定列表是仅仅是字符串还是字符串列表?

Fyl*_*lke 5 erlang

我有一个变量,可以包含字符串列表或只是一个字符串.有什么好方法可以说出我正在处理什么样的事情?

"192.168.1.18" vs. ["192.168.1.18", "192.168.1.19"]
Run Code Online (Sandbox Code Playgroud)

在任何一种情况下,我都想使用所涉及的位.

rvi*_*ing 5

你如何做到这很大程度上取决于你打算如何处理结果,或者你计划如何做.所以,如果你对这些位感兴趣:

case MyVar of
    [First|Rest] when is_list(First) -> ... First,Rest ...;
    _ -> ... MyVar ...
end
Run Code Online (Sandbox Code Playgroud)

或者如果你对实际拆分你可以做的字符串/字符串列表不感兴趣:

if is_list(hd(MyVar)) -> ... ;
   true -> ...
end
Run Code Online (Sandbox Code Playgroud)

我在这里理解正确吗?我没有放任何代码来实际检查字符串实际上应该是字符串,这应该早点完成.另一种方法是在生成此字符串/字符串列表时始终将其置于其中一种格式中.