mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-12 06:38:45 +01:00
Blocks, functions, and methods now have the same code for handling their bodies. This means that single-line methods work like single-line functions: they return the result of their expression.
36 lines
1.1 KiB
Plaintext
36 lines
1.1 KiB
Plaintext
class Foo {
|
|
+ other { "infix + " + other }
|
|
- other { "infix - " + other }
|
|
* other { "infix * " + other }
|
|
/ other { "infix / " + other }
|
|
% other { "infix % " + other }
|
|
< other { "infix < " + other }
|
|
> other { "infix > " + other }
|
|
<= other { "infix <= " + other }
|
|
>= other { "infix >= " + other }
|
|
== other { "infix == " + other }
|
|
!= other { "infix != " + other }
|
|
& other { "infix & " + other }
|
|
| other { "infix | " + other }
|
|
|
|
! { "prefix !" }
|
|
- { "prefix -" }
|
|
}
|
|
|
|
var foo = new Foo
|
|
IO.print(foo + "a") // expect: infix + a
|
|
IO.print(foo - "a") // expect: infix - a
|
|
IO.print(foo * "a") // expect: infix * a
|
|
IO.print(foo / "a") // expect: infix / a
|
|
IO.print(foo % "a") // expect: infix % a
|
|
IO.print(foo < "a") // expect: infix < a
|
|
IO.print(foo > "a") // expect: infix > a
|
|
IO.print(foo <= "a") // expect: infix <= a
|
|
IO.print(foo >= "a") // expect: infix >= a
|
|
IO.print(foo == "a") // expect: infix == a
|
|
IO.print(foo != "a") // expect: infix != a
|
|
IO.print(foo & "a") // expect: infix & a
|
|
IO.print(foo | "a") // expect: infix | a
|
|
IO.print(!foo) // expect: prefix !
|
|
IO.print(-foo) // expect: prefix -
|