Operators.k 1018 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. invoke {
  2. assert 5 + 3 == 8
  3. assert 5 * 3 == 15
  4. assert 5 / 2 == 2.5
  5. assert 5 % 2 == 1
  6. assert 5 ^ 3 == 125
  7. assert -5 ^ 3 == -125
  8. assert 'a' + 'b' == 'ab'
  9. assert (str 5) == '5'
  10. assert (true || true) == true
  11. assert (true || false) == true
  12. assert (false || true) == true
  13. assert (false || false) == false
  14. assert (true && true) == true
  15. assert (true && false) == false
  16. assert (false && true) == false
  17. assert (false && false) == false
  18. assert !false == true
  19. assert !true == false
  20. assert not false == true
  21. assert not true == false
  22. assert ((1+1 == 2) => 1) == 1
  23. assert ((1+1 == 3) => 1) is Nil
  24. assert (1 or 2) == 1
  25. assert (Nil or 2) == 2
  26. assert (abs << -5) == 5
  27. let h1 = { a: 1 }
  28. let h2 = { b: 2 }
  29. let h3 = {} << h1 << h2
  30. assert h3.a == 1 && h3.b == 2
  31. assert h1 ~~ h1
  32. assert h1 !~ { a: 1 }
  33. let h4 = (copy h1)
  34. set h1.a = 4
  35. assert h4.a == 1
  36. assert len([]) == 0
  37. assert len([1,2,3]) == 3
  38. }