#!/usr/bin/ruby

#
## https://rosettacode.org/wiki/Binary_search
#

func binary_search(a, i) {
 
    var l = 0;
    var h = a.end;
 
    while (l <= h) {
        var mid = (h+l / 2 -> int);
        a[mid] > i && (h = mid-1; next);
        a[mid] < i && (l = mid+1; next);
        return mid;
    }
 
    return -1;
}

say binary_search(@(1..100), 23);