On 11Oct2020 22:08, None <olivares33...@protonmail.com> wrote:
>On Sunday, October 11, 2020 3:54 PM, Cameron Simpson <c...@cskk.id.au> wrote:
>> On 11Oct2020 18:54, None olivares33...@protonmail.com wrote:
>> > The play 15 different sets of numbers and to check if they won any prize a 
>> > script using a chain of if statements or case statements would be correct 
>> > to implement this. AWK may also do the job?
>> > There are six numbers that we need to check let us suppose that we had the 
>> > numbers in a file numbers.dat and it has the fifteen combinations
>> > 2 - 3 - 5 - 7 - 11 - 13
>> > ...
>> > ...
>> > 15 versions
>> > Check against the winning numbers
>> > 2 - 7 - 23 - 38 - 51 - 53
>> > Faster way to check compare string? Compare numbers one by one and check 
>> > for at least 3
>>
>> This feels somewhat like homework, so I'll provide suggests instead of
>> complete code. Besides, you probably want to write it yourself.
[... shell script based suggestions ...]
>
>Thank you for your help.  This is not a homework problem.

Fair enough.

>It is a time saving thing, we can check online input the numbers one by one, 
>but there are 15 sets.  It takes time.  Having a bash script can do the job, 
>but question is do we get the winning numbers as integers, or do we compare 
>them as strings?

1: You don't need bash. Write for the Bourne shell - almost none of
bash's extensions are of much value for programming, and _every_ system
has a Bourne shell (/bin/sh) - "bash" is just a dialect.

2: The shell is good at strings (for basic stuff, which this is). Work
in strings. Your text file is strings. You're only testing for equality
- you don't need arithmetic, strings are fine. Think of the numbers as
  symbols instead of numeric values.

>If we compare numbers (num1 == $num1)
>Or [ ] I have problems with the scripts working correctly and getting '(' 
>expected.

The case statement lets you sidestep that kind of syntactic thing. Hence the
examples.

>I will try to write the script and ask for help if I run into problems.

Sounds good to me.

>I have seen pages where there are references with awk, seq and other commands
>https://www.unix.com/shell-programming-and-scripting/276553-lottery-number-checker.html
>https://www.txlottery.org/export/sites/lottery/Games/Check_Your_Numbers.html
>
>I wanted to use grep command by piping the cat command, but I have dilemma 
>that if an array is used, the code is cleaner and more efficient.

Gah. Use strings!

All these solutions seem overly complex to me. My personal mantra is:
use the smallest tool which succintly expresses the solution.

In this case, you can do it _all_ in the shell without reaching for more
general tools.

Cheers,
Cameron Simpson <c...@cskk.id.au>
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org

Reply via email to