News for hackers. Stuff that matters.
Re:FizzBuzz in ten languages by Spivak on Monday December 31, 2018 @01:43PM (#18796145)
Your bash example could be a little cleaner. Since 0 is truthy in bash and [ `expr something` ] is, for most purposes, (( )).

    for i in {1..100}; do
        if (( $i % 3 && $i % 5 )); then
            echo FizzBuzz
        elif (( $i % 3 )); then
            echo Fizz
        elif (( $i % 5 )); then
            echo Buzz
        else
            echo $i
        fi
    done

Bash also has a decently powerful matching statement so you can do something similar to the rust example.

    for i in {1..100}; do
        case "$(( $i % 3 ))$(( $i % 5 ))" in
            00)
                echo FizzBuzz
                ;;
            0*)
               echo Fizz
               ;;
            *0)
               echo Buzz
               ;;
            *)
               echo $i
               ;;
        esac
    done
Re:FizzBuzz in ten languages by tyingq on Monday December 31, 2018 @06:10PM (#18797677)

  #/bin/bash
  for n in {1..100} ; do
    f=""
    ((n % 3)) || f="Fizz"
    ((n % 5)) || f="${f}Buzz"
    echo ${f:-$n}
  done
Re:FizzBuzz in ten languages by robnagler on Monday December 31, 2018 @11:45PM (#18798979)
More bikeshedding for the new year:

  #!/bin/bash
  for n in {1..100}; do
    f=
    ((n % 3)) || f=Fizz
    ((n % 5)) || f+=Buzz
    echo ${f:-$n}
  done
Re:FizzBuzz in ten languages by Spivak on Wednesday January 02, 2019 @01:49PM (#18808818)
I like it! I was avoiding doing the string append version since the author avoided it.
Re:FizzBuzz in ten languages by gshubert17 on Monday December 31, 2018 @11:09PM (#18798875)
Bash exit code 0 is truthy, but that's not how the if statement works:

if ((0)); then echo 0=true; else echo 0=false; fi

if ((1)); then echo 1=true; else echo 1=false; fi

# output

0=false

1=true

To work as expected, the if statements should be rewritten as

if ((i % 3 == 0 && i % 5 == 0)); then echo FizzBuzz

and so on.

Re:FizzBuzz in ten languages by esoterae on Monday December 31, 2018 @04:29PM (#18797158)
icydk, $ is redundant on alpha variable names within $(( ... )

HNY! (: