1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- namespace Invercargill {
- public static Enumerable<int> range(int from, int to, int increment = 1) {
- return new RangeEnumerable(from, to, increment);
- }
- public static Enumerable<T> empty<T>() {
- return new EmptyEnumerable<T>();
- }
- public static Enumerable<T> single<T>(T item) {
- var seq = new Invercargill.Series<T>();
- seq.add(item);
- return seq;
- }
- public static TransformDelegate<Tin, Tout> trycatch<Tin, Tout>(ErrorThrowingDelegate<Tin, Tout> main, ErrorCatchingDelegate<Tin, Tout> handler) {
- return (i) => {
- try {
- return main(i);
- }
- catch(Error e) {
- return handler(i, e);
- }
- };
- }
- public static TransformDelegate<Tin, Tout> trydefault<Tin, Tout>(ErrorThrowingDelegate<Tin, Tout> func, Tout default_value) {
- return (i) => {
- try {
- return func(i);
- }
- catch {
- return default_value;
- }
- };
- }
- public static Enumerable<string> directory(string path, uint flags = 0) throws FileError {
- return new DirEnumerable(Dir.open(path, flags));
- }
- }
|