Code review: recursion in circular array, reduce two functions to one?
Hello,
I think there's an easier way to do this but can't seem to recall but given an array of animals[0...5] and an initial value is a random index in the array, here it's 3.
a quick brute force solution i came up with was two functions, i set a limit of 20 so it doesn't become a memory bomb. there would be some kind of other conditional break point.
Last edited by f77hack; 03-22-2018 at 09:44 PM..
Reason: typos
Maybe you could have an adjustment value that you would always add. When the counter gets high, you set the adjustment value to -1. When it gets back to zero, you set it to 1. That way, you only have one function plus a decision to make about if you need to change the adjustment value:-
Then, a simple loop will illustrate it:-
The recursion seems strange.
Better go for an iteration: an outer loop with counter, and two loops inside (one fwd then one bk).
BTW this is not shell code...
This User Gave Thanks to MadeInGermany For This Post:
Hello Robin, that definitely helps. The original code is swift but I don't mind if code is bash, perl... I just need to see some code that works.
Thank you.
---------- Post updated at 03:34 PM ---------- Previous update was at 03:25 PM ----------
Quote:
Originally Posted by RudiC
For an index not to exceed array boundaries the modulo operator has proven quite helpful.
Thanks for the input. I gave that a try but couldn't quite work out how to flip the counter to count down negative. I'm not that informed on how to flip the pointer.
---------- Post updated at 03:38 PM ---------- Previous update was at 03:34 PM ----------
Quote:
Originally Posted by stomp
Remark Don't use global variables like this in a bigger script!
Thank you.
Last edited by f77hack; 03-23-2018 at 05:34 PM..
Reason: typo
I have the following code to count the number of how many times the name occurred in one file. The code is working fine and the output is exactly what I want. The problem is the real code has more than 50 names in function listname which cause function name to have more than 50 case ,and function... (14 Replies)
I have a question on how can I assign a output of a function to a variable which is executed in background.
Here is my example
$ cat sample_program.sh
#!/bin/ksh
exec_func () {
sleep 1
v=`expr $1 + 100`
print $v
}
export OUT_ARR
date
for i in 1 2
do
OUT_ARR=`exec_func $i` &... (1 Reply)
Let me know if there is a way to pass array to a funtion in ksh script.
function isPresent
{
typeset member
member=$1
dbList=$2
echo '$1:' $1
echo '$2' $dbList
The array will be at the second position....something like this
isPresent 12 <array>
if
then
echo... (3 Replies)
Hi All,
Could some one help me to reduce the code...
if
then
./plist -m "$queuename" |grep $2|awk '{print $3}' >unlock.log
elif
then
./plist -m "$queuename" |grep $2|awk '{print $4}' >unlock.log
else
./plist -m "$queuename" |grep $2|awk '{print $5}' >unlock.log
.
.
.
.
... (1 Reply)
Please excuse my ineptitude for a bit as I've been spoiled for the past few months with only writing perl code instead of C.
So ok, I've been thinking about some code to change the crc32 values that are held within central directory headers of zip files.
Because I'm lazy I decided to just... (3 Replies)
Hello,
Please tell me if there is a better way to get the number of elements from an array that is passed to a function.
This is what works on Solaris 8 (ksh) but it looks odd:
loop_array() {
array_name=$2
b1='\${\#'
b2='}'
nr_elements=`eval echo... (6 Replies)
Started writing my code.
my read input is not even asking nor working?
And I get a EOF script error.
echo "1) aragorn.domain.net"
echo "2) marvel.domain.net"
echo "3) athena.domain.net"
echo "4) gandalf.domain.net"
echo "5) griffin.domain.net"
echo "What server would you like... (4 Replies)
I am getting an error "ftpNotes.sh: syntax error at line 8 : `<<' unmatched"
#!/bin/ksh
PATH=/usr/sbin/:/usr/bin:/usr/ucb:/etc:/usr/local/bin:.
cd $HOME
if ;then
if ; then
echo 'DSC file already ftp to epm server'
else
ftp -n epmdev00 <<SCRIPT... (1 Reply)