45 lines
		
	
	
	
		
			758 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
	
		
			758 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								# aref.bash --- pseudo-array manipulating routines
							 | 
						||
| 
								 | 
							
								# Author: Noah Friedman <friedman@prep.ai.mit.edu>
							 | 
						||
| 
								 | 
							
								# Created 1992-07-01
							 | 
						||
| 
								 | 
							
								# Last modified: 1993-02-03
							 | 
						||
| 
								 | 
							
								# Public domain
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Conversion to bash v2 syntax done by Chet Ramey
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Commentary:
							 | 
						||
| 
								 | 
							
								# Code:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#:docstring aref:
							 | 
						||
| 
								 | 
							
								# Usage: aref NAME INDEX
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# In array NAME, access element INDEX (0-origin)
							 | 
						||
| 
								 | 
							
								#:end docstring:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								###;;;autoload
							 | 
						||
| 
								 | 
							
								function aref ()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    local name="$1"
							 | 
						||
| 
								 | 
							
								    local index="$2"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    set -- ${!name}
							 | 
						||
| 
								 | 
							
								    [ $index -ge 1 ] && shift $index
							 | 
						||
| 
								 | 
							
								    echo $1
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#:docstring string_aref:
							 | 
						||
| 
								 | 
							
								# Usage: aref STRING INDEX
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Echo the INDEXth character in STRING (0-origin) on stdout. 
							 | 
						||
| 
								 | 
							
								#:end docstring:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								###;;;autoload
							 | 
						||
| 
								 | 
							
								function string_aref ()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  local stuff=${1:$2}
							 | 
						||
| 
								 | 
							
								  echo ${stuff:0:1}
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								provide aref
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# aref.bash ends here
							 |