Editing
LogicOperations
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Logic Operations == Logic operations are fundamental operations in programming that involve evaluating and manipulating Boolean values. These operations are used to make decisions, control program flow, and perform logical calculations. In Elixir, several logic operations are supported, including negation, conjunction (AND), disjunction (OR), and exclusive disjunction (XOR). === Negation === The negation operation, also known as logical NOT, is a unary operation that takes a single Boolean value and returns its inverse. Syntax: ``` not(boolean) ``` Example: ```elixir not true ``` === Conjunction (AND) === The conjunction operation, also known as logical AND, takes two Boolean values and returns true if both values are true. Syntax: ``` boolean1 and boolean2 ``` Example: ```elixir true and false ``` === Disjunction (OR) === The disjunction operation, also known as logical OR, takes two Boolean values and returns true if at least one of the values is true. Syntax: ``` boolean1 or boolean2 ``` Example: ```elixir true or false ``` === Exclusive Disjunction (XOR) === The exclusive disjunction operation, also known as logical XOR, takes two Boolean values and returns true if exactly one of the values is true. Syntax: ``` boolean1 xor boolean2 ``` Example: ```elixir true xor false ``` === Short-Circuit Evaluation === Elixir, like many programming languages, implements short-circuit evaluation for logic operations. Short-circuit evaluation means that the second operand of a logic operation is only evaluated if the result can already be determined based on the first operand. For conjunction (AND), if the first operand is false, the second operand is not evaluated because the result will always be false. For disjunction (OR), if the first operand is true, the second operand is not evaluated because the result will always be true. Syntax: ``` expression1 and expression2 expression1 or expression2 ``` Example: ```elixir false and (1 / 0) true or (1 / 0) ``` === Comparison with Truthiness === In addition to the explicit logic operations, Elixir provides a convenient way to check the truthiness of values using the `&&` (and) and `||` (or) operators. These operators evaluate their operands and return the first operand (if it is sufficient to determine the result) or the second operand otherwise. Syntax: ``` value1 && value2 value1 || value2 ``` Example: ```elixir 4 > 2 && 6 < 10 "elixir" || false ``` == See Also == * [[Comparison Operations]] * [[Conditional Statements]] * [[Boolean Data Type]] [[Category:Elixir Programming Language]] [[Category:Logic Operations]]
Summary:
Please note that all contributions to Elixir Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Elixir Wiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information