#!/usr/bin/ruby
#
## https://rosettacode.org/wiki/Multisplit#Sidef
#
func multisplit(sep, str, :opt) {
sep = sep.map{.escape}.join('|');
var re = Regex.new(opt{:keep_sep} ? "(#{sep})" : sep);
str.split(re, -1);
}
var chunks = [];
[false, true].each { |bool|
chunks.append(multisplit(%w(== != =), 'a!===b=!=c!=', keep_sep => bool));
}
assert_eq(chunks,
[
["a", "", "b", "", "c", ""],
["a", "!=", "", "==", "b", "=", "", "!=", "c", "!=", ""],
]);
say "** Test passed!";