エリクシルプログラミング言語では、 には、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. difftimeと ' - 'の違いは何ですか?
- 2. A`と ``の違いは何ですか[:] `
- 3. `&`と `ref`の違いは何ですか?
- 4. バックスティックと$()の違いは何ですか?
- 5. `##`と `hashCode`の違いは何ですか?
- 6. "$^N"と "$ +"の違いは何ですか?
- 7. #{} $ {}と%{}の違いは何ですか?
- 8. typedefとの違いは何ですか?
- 9. %Qと%{}の違いは何ですか?
- 10. `==`と `is`の違いは何ですか?
- 11. $と$$の違いは何ですか?
- 12. NodeJS:「./ ..」と「..」の違いは何ですか?
- 13. $ dirtyと$ invalid:違いは何ですか?
- 14. Backbone.jsとPusherapp - 違いは何ですか?
- 15. libspeとlibspe2?違いは何ですか?
- 16. リストと何か([_])と何か(_)の違い
- 17. decodeURIComponentとunescapeの違いは何ですか?unescapeの問題は何ですか?
- 18. コロンの配置の違いは何ですか:何かと何か:
- 19. GoogleのDremelとは何ですか? Mapreduceとの違いは?
- 20. 重要な違いは何ですかext2-ext3とext3-ext4の違いは何ですか?
- 21. 「アソシエーション」と「リレーション」という用語の違いは何ですか?
- 22. グロムとは何ですか? mapPartitionsとの違いは?
- 23. AndroidでThread.run()とHandler.post()とServiceの違いは何ですか?
- 24. スレッドCond。これは正しいC++の方法ですか?
- 25. Androidでは、MotionEventのgetAction()とgetActionMasked()の違いは何ですか?
- 26. XSLT属性の違いとは何か
- 27. nHibernateのICriteriaとICriterionの違いと利点は何ですか?
- 28. BasicHttpsBindingとWsHttpBindingのトランスポートセキュリティとの違いは何ですか?
- 29. MSBuildの@と$と%の違いは何ですか?
- 30. middlegenとXDocletの使用とその違いは何ですか?