@@ -45,65 +45,37 @@ fn move_it<T>(-x: T) -> T { x }
45
45
46
46
macro_rules! follow {
47
47
{
48
- $( $message: path( $( $x: ident) ,+) = > $next: ident $e: expr) +
48
+ $( $message: path$ ( ( $( $x: ident) ,+) ) || * - > $next: ident $e: expr) +
49
49
} => (
50
- |m| match move_it ( m ) {
51
- $( some( $message( $( $x, ) * next) ) {
50
+ |m| match move m {
51
+ $( some( $message( $( $( $ x, ) + ) * next) ) => {
52
52
let $next = move_it!{ next} ;
53
53
$e } ) +
54
- _ { fail }
54
+ _ => { fail }
55
55
}
56
56
) ;
57
-
58
- {
59
- $( $message: path => $next: ident $e: expr) +
60
- } => (
61
- |m| match move_it( m) {
62
- $( some( $message( next) ) {
63
- let $next = move_it!{ next} ;
64
- $e } ) +
65
- _ { fail }
66
- }
67
- )
68
57
}
69
58
70
- /*
71
59
fn client_follow( +bank : bank:: client:: login ) {
72
60
import bank:: * ;
73
61
74
62
let bank = client:: login ( bank, ~"theincredibleholk", ~"1234 ") ;
75
63
let bank = switch( bank, follow! {
76
- ok = > connected { connected }
77
- invalid = > _next { fail ~"bank closed the connected" }
64
+ ok - > connected { connected }
65
+ invalid - > _next { fail ~"bank closed the connected" }
78
66
});
79
67
80
- /* // potential alternate syntax
81
- let bank = recv_alt! {
82
- bank => {
83
- | ok -> connected { connected }
84
- | invalid -> _next { fail }
85
- }
86
- bank2 => {
87
- | foo -> _n { fail }
88
- }
89
- }
90
- */
91
-
92
68
let bank = client::deposit(bank, 100.00);
93
69
let bank = client::withdrawal(bank, 50.00);
94
- match try_recv(bank) {
95
- some(money(m, _)) {
96
- io::println(~"Yay! I got money!");
97
- }
98
- some(insufficient_funds(_)) {
99
- fail ~"someone stole my money"
100
- }
101
- none {
102
- fail ~"bank closed the connection"
103
- }
104
- }
70
+ switch(bank, follow! {
71
+ money(m) -> _next {
72
+ io::println(~" Yay ! I got money!");
73
+ }
74
+ insufficient_funds -> _next {
75
+ fail ~" someone stole my money"
76
+ }
77
+ });
105
78
}
106
- */
107
79
108
80
fn bank_client(+bank: bank::client::login) {
109
81
import bank::*;
0 commit comments