Sha256: d40302299ae7db704188fee6fe1de32274eeae4d77d8c903d4f81e0695a924ca
Contents?: true
Size: 1.13 KB
Versions: 23
Compression:
Stored size: 1.13 KB
Contents
#!/usr/bin/env bash # # The idea is that we emulate a hash using two methods # # The first method is providing functions by sourcing this file # # The second method is where this script is called directly, # we then provide functionality of a file based hash # if [[ "$rvm_trace_flag" -eq 2 ]] ; then set -x ; export rvm_trace_flag ; fi if [[ -n "${ZSH_VERSION:-""}" ]] ; then __array_start=1 ; else __array_start=0 ; fi hash() { hash_name=$1 ; hash_key=$2 ; hash_value=$3 eval "_hash_${hash_name}_keys=\${_hash_${hash_name}_keys:-()} ; _hash_${hash_name}_values=\${_hash_${hash_name}_values:-()}" if [[ -z "$hash_value" ]] ; then eval "length=\${#_hash_${hash_name}_keys[@]}" for (( index=$__array_start ; index < $length; index++ )) ; do eval "key=\"\${_hash_${hash_name}_keys[$index]}\"" if [[ "$hash_key" = "$key" ]] ; then eval "echo -n \${_hash_${hash_name}_values[$index]}" break fi done else eval "index=\$((\${#_hash_${hash_name}_keys[*]} + $__array_start))" eval "_hash_${hash_name}_keys[$index]=\"$hash_key\"" eval "_hash_${hash_name}_values[$index]=\"$hash_value\"" fi }
Version data entries
23 entries across 23 versions & 2 rubygems