2

私は持っていますS1S2そしてS3、私は次のようなものを作りたいです:

if S1 != "" and S2 != "" and S3 != "" then do something

4

2 に答える 2

7

アクションを実行するためにすべてを空にする必要がある場合は、

のケース{S1、S2、S3}
    {[]、[]、[]}->%%空
    _->%%空ではない
終わり。
どちらが空かを知る必要がある場合
のケース{S1、S2、S3}
    {[]、[]、[]}->%%空
    {[]、_、_}->%%S1が空
    {_、[]、_}->%%S2が空
    {_、_、[]}->%%S3が空
終わり。
よりクリーンなコード!!

編集
ケースリスト:member(true、[Each =:= [] || Each <-[S1、S2、S3]])of
    true->
        %%少なくとも1つは空です
    false->
        %%すべてが空ではありません
終わり。

于 2012-08-22T06:03:21.113 に答える
2

Erlangの文字列は単なる整数リストであることに注意して、次のことができます。

case S1 =/= [] andalso S2 =/= [] andalso S3 =/= [] of
  true -> do_something;
  false -> do_something_else
end

""の代わりに使用する[]ことも同様に機能します。

于 2012-08-22T01:13:46.330 に答える