gpt4 book ai didi

bash - FizzBu​​zz 示例中的 Bash 语法是什么

转载 作者:行者123 更新时间:2023-11-29 09:47:31 33 4
gpt4 key购买 nike

我刚刚在 Hacker News 上找到了以下 FizzBu​​zz 示例,它使用了一段我发现很难搜索的语法

for num in {1..100} ; do
out=""
(( $num % 3 == 0 )) && out="Fizz"
(( $num % 5 == 0 )) && out="${out}Buzz"
echo ${out:-$num}
done

我不明白的是 echo 行中的变量用法是如何工作的。虽然我可以清楚地看到,如果不为空,它会变成 $out,否则会变成 $num

最佳答案

for num in {1..100} ; do 

从 1 到 100 循环。在途中将 num 设置为每个整数

out=""

一事无成

(( $num % 3 == 0 )) && out="Fizz"

如果数字能被3整除就Fizz出

  (( $num % 5 == 0 )) && out="${out}Buzz"

如果数字可以被 5 整除,则将 out 设置为 out 中包含的任何值,然后 Buzz。

  echo ${out:-$num}

使用参数替换来检查 out 是否包含某些内容,如果不包含,则使用 num 代替。替换的 echo 结果。

done

资源

http://tldp.org/LDP/abs/html/parameter-substitution.html - 参数替换

http://tldp.org/LDP/abs/html/ops.html - 让命令 ((...))

http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-7.html - 循环

关于bash - FizzBu​​zz 示例中的 Bash 语法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28064604/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com