2
1
:
,
[
,
:
]
nil
:
, parameters: {
}
, finalize: <<-END
, update: <<-END
escape
parallel
:wait =>
do
1
end
loop
pre_test{
}
pre_test("
")
post_test{
}
post_test("
")
, :
=> "
"
do
1
end
choose
:exclusive
:inclusive
do
1
end
critical :
do
1
end
1
alternative
"
"
"
"
, :
=> "
"
do
1
end
1
otherwise
,
:
=> "
"
do
1
end
1
parallel_branch
do
|
|
1
end
:
=> "
"
,
:
=>
{
}
Struct.new(:value,
,
:
).new(
nil
,
,
"
"
)
nil
1
END
do
|
|
, <<-END
1
end
END