equal
Definition: | integer i = equal(object a, b) |
Description: | Compare two objects to see if they are the same. Return true (1) if they are the same, or false (0) if they are different. |
pwa/p2js: | Supported. |
Comments: |
Note that Euphoria typically needs equal() or compare() on each and every non-trivial conditional test, whereas
Phix can just use the more natural infix operators =, !=, etc directly. In reality Phix only supports equal() for
legacy code and compatibility with Euphoria.
You can also use sq_eq() to obtain element-wise results, compatible with a=b under Euphoria. |
Example 1: |
if equal(PI, 3.14) then --if PI=3.14 then -- (equivalent, but not Euphoria compatible) puts(1, "give me a better value for PI!\n") end if |
Example 2: |
if equal(name, "George") or equal(name, "GEORGE") then --if name="George" or name="GEORGE" then -- (equivalent, "") puts(1, "name is George\n") end if |
Example 3: |
sequence res = sq_eq({1,1,4,4},{1,2,3,4}) -- res := {1,0,0,1}, aka {true,false,false,true} |
Implementation: |
Implemented via %opJcc, %opJccE, and %opScmp in builtins\VM\pJcc.e (an autoinclude) - be warned however it is low-level complicated stuff that you do not need to know. sq_eq() is implemented in builtins\psqop.e |
See Also: | compare, equals operator (=) |