エリクシルプログラミング言語では、 には、2つの同様の構成体cond
とcase
があります。 どちらも、私もクラブにif
を入れてみましょうthis pageCondとCaseの違いは何ですか?
17
A
答えて
35
に説明されている他のlangages
両方cond
とcase
からswitch
かselect
文に似ています。あなたはif
を1つの条件と可能であればelse
と使用します。それだけです。複数の条件があり、if
ステートメントでは不十分な場合は、最後にcase
ステートメントが使用され、一部のデータにパターンを一致させる場合は、cond
ステートメントを使用します。あなたは、あなたが使用することができ、今日はそうでない場合は雨が降ったり、米の場合はりんごを食べたいとします:
のは、例によって説明させて
if weather == :raining do
IO.puts "I'm eating apple"
else
IO.puts "I'm eating rice"
end
これは限られた世界で、あなたはあなたのオプションを展開したいようにcond
文は次のように、そのためのものですので、そのため、あなたは、いくつかの条件の異なるものを食べるようになる:
cond do
weather == :raining and not is_weekend ->
IO.puts "I'm eating apple"
weather == :raining and is_weekend ->
IO.puts "I'm will eat 2 apples!"
weather == :sunny ->
IO.puts "I'm happy!"
weather != :raining and is_sunday ->
IO.puts "I'm eating rice"
true ->
IO.puts "I don't know what I'll eat"
end
最後true
は、それ以外の場合は、例外を発生させますがなければなりません。
よくある質問case
?パターンマッチのために使用されます。あなたのようにあなたの意図を書くことができ、あなたはタプルのメッセージとして天候や曜日に関する情報を受信し、意思決定を取ることに依存するとしましょう:
case { weather, weekday } do
{ :raining, :weekend } ->
IO.puts "I'm will eat 2 apples!"
{ :raining, _ } ->
IO.puts "I'm eating apple"
{ :sunny, _ } ->
IO.puts "I'm happy!"
{ _, :sunday } ->
IO.puts "I'm eating rice"
{ _, _ } ->
IO.puts "I don't know what I'll eat"
end
のでcase
はあなたにもたらしますif
またはcond
でないパターンマッチングのデータへのアプローチ。
14
私の簡単な答えは:
cond
は引数を受け取らず、そしてそれはあなたが各ブランチで異なる条件を使用することができます。case
は引数を受け取り、すべてのブランチはと一致し、引数に対してはと一致します。
関連する問題
- 1. 私の2 SUM(CASE())の例の違いは何ですか?
- 2. AndroidのradioGroupに対してswitch-caseとif-elseの違いは何ですか?
- 3. $と$$の違いは何ですか?
- 4. `##`と `hashCode`の違いは何ですか?
- 5. typedefとの違いは何ですか?
- 6. NodeJS:「./ ..」と「..」の違いは何ですか?
- 7. {}())と{})の違いは何ですか?
- 8. `&`と `ref`の違いは何ですか?
- 9. `==`と `is`の違いは何ですか?
- 10. difftimeと ' - 'の違いは何ですか?
- 11. #{} $ {}と%{}の違いは何ですか?
- 12. ⊕と+の違いは何ですか?
- 13. アペンダーと〜の違いは何ですか?
- 14. "./"と "../"の違いは何ですか?
- 15. "$^N"と "$ +"の違いは何ですか?
- 16. %Qと%{}の違いは何ですか?
- 17. バックスティックと$()の違いは何ですか?
- 18. A`と ``の違いは何ですか[:] `
- 19. パッケージのインポートobjと何かの違いをインポートパッケージとPythonの何かの違いは何ですか?
- 20. METADATAとMETADATA.jl:違いは何ですか?
- 21. twistdとnohup&:違いは何ですか?
- 22. libspeとlibspe2?違いは何ですか?
- 23. Backbone.jsとPusherapp - 違いは何ですか?
- 24. wp_link_pagesとthe_posts_pagination→違いは何ですか?
- 25. $ dirtyと$ invalid:違いは何ですか?
- 26. XPathの//と?/の違いは何ですか?の使用は何
- 27. scala replとsbt consoleで定義されたcaseオブジェクトの違いは何ですか?
- 28. フレームとオブジェクトの違いは何ですか?フレームとオブジェクトの違いは何ですか?
- 29. リストと何か([_])と何か(_)の違い
- 30. 違いは何ですか?