gpt4 book ai didi

arrays - awk 问题(从用户定义的函数返回一个数组)

转载 作者:行者123 更新时间:2023-12-04 00:10:26 25 4
gpt4 key购买 nike

我有这个功能(将 WGS84 大地水准面的坐标转换为笛卡尔坐标......没关系):

  function convert_geo_to_enu(coord_geo) { \
xi=sqrt(1 - e*e*sin(coord_geo[1])*sin(coord_geo[2])); \
\
coord_enu[1]=(a/xi + coord_geo[3])*cos(coord_geo[1])*cos(coord_geo[2]); \
print coord_enu[1] " hhh " ; \
coord_enu[2]=(a/xi + coord_geo[3])*cos(coord_geo[1])*sin(coord_geo[2]); \
coord_enu[3]=(a*(1-e*e)/xi0 + coord_geo[3])*sin(coord_geo[1]); \
\
return coord_enu \ # <-- here comes the problem
} \


problem --> mawk: line 64: illegal reference to array coord_enu

作为数组返回有什么问题?有什么不同的语法吗?

我可以使用:
  function convert_geo_to_enu(coord_geo, coord_enu) { \
...
coord_enu[1]=...
...
} \

甚至:
  function convert_geo_to_enu(coord_geo) { \
...
coord_enu[1]=...
...
} \

然后只需使用变量 coord_enu作为全局?

但是使用 return 语句看起来更好(尤其是对我而言)

最佳答案

有点晚了,但这是我使用的解决方案:

我向函数发送了一个我想作为参数填充的变量:

function myfunct(result, array_size) {
for(i = 1; i <= array_size; i++) {
result[i] = ##whatever you want
}
}

然后,您可以将结果变量视为函数外部的数组

希望这可以帮助寻找答案的人

关于arrays - awk 问题(从用户定义的函数返回一个数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12349546/

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