首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash中的数组算法

bash中的数组算法
EN

Stack Overflow用户
提问于 2016-08-21 14:29:58
回答 1查看 642关注 0票数 3

我在bash中有很多数组,例如arrKey[]aarT[]P[],我想对这些数组执行算术操作。正如我所检查的,数组工作得很好,但是,查找数组P[]的算法是错误的。有人能帮我吗,拜托?

代码语言:javascript
复制
    #The format is C[0] = (A[0,0]*B[0]) + (A[0,1]*B[1]) 

这是我迄今为止尝试过的代码。

代码语言:javascript
复制
    P[0]= $(({arrKey[0,0]} * {arrT[0]} ))+ $(({arrKey[0,1]} * {arrT[1]})) ))
    echo ${P[0]}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-21 15:40:09

代码行有几个问题:

代码语言:javascript
复制
P[0]= $(({arrKey[0,0]} * {arrT[0]} ))+ $(({arrKey[0,1]} * {arrT[1]})) ))
  • =之后还有一个额外的空间,擦除它。 P=$({arrKey0,0}* {arrT} )+ $(({arrKey0,1} *{arrT1})
  • 在算术展开之外添加两个元素是不正确的。 删除附加括号: P=$(({arrKey0,0} * {arrT} + {arrKey0,1} * {arrT1}))
  • 使用$或从$(( … ))中的变量中删除{…}: P=$(( arrKey0,0 * arrT + arrKey0,1 * arrT1 ))
  • 即使不是严格要求,引用您的扩展也是个好主意: P=“$( arrKey0,0 * arrT + arrKey0,1 * arrT1 )”

另外,请确保arrKey已声明为关联数组:

代码语言:javascript
复制
declare -A arrKey

以确保预期的双索引0,0工作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39065319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档