REBOL [
title: "Enhanced SWITCH Function"
author: "Christopher Ross-Gill"
date: 25-Nov-2006
comment: {From RAMBO discussion group on Rebol3 AltME world.}
]
switch: func [value cases /default case][
default: make block! []
while [cases: find/tail cases value][
either cases: find cases block! [
case: append default first cases
][break]
]
do case
]
switch: func [value cases /default case][
default: make block! []
parse cases [
any [
thru value to block! set case block!
(case: append default case)
]
]
do case
]