【问题标题】:Declaring arrays local to a function声明函数本地的数组
【发布时间】:2022-01-17 13:34:48
【问题描述】:

我正在使用声明在函数内部声明一个数组

declare -a r

我需要在函数中使用一个本地数组。

我需要

local declare -a r

【问题讨论】:

    标签: arrays bash local


    【解决方案1】:

    local 替换 declare。将declare 用于全局范围,将local 用于本地范围。但不要在同一行中使用两者。

    【讨论】:

    • local -a r 是这样做的方法。如果我错了,请纠正我。
    • 看起来不错。如果不确定,可以尝试online
    【解决方案2】:

    我需要在函数中使用一个本地数组。

    变量已经是本地的。 declarelocal完全相同。没有区别。

    declare -a arr
    # exactly the same as
    local -a arr
    

    如果你想从视觉上区分变量是本地的,那么使用local关键字。

    如果您希望变量是全局变量,请使用-g 开关。请参阅 bash 手册。

    我需要local declare -a r

    不,这将声明一个名为 declare 的变量。

    【讨论】:

    • local 然后采用与declare 相同的参数。
    • declare -a r w 对声明索引数组rw 是否有效?
    • 是的,这确实是结论。请参阅 bash 手册 - 它确实说明了这一点。
    【解决方案3】:

    我会做一个

    local r
    r=()
    

    local r
    declare -a r
    

    或一次性

    local r=()
    

    【讨论】:

      猜你喜欢
      • 2014-02-25
      • 2015-07-29
      • 2011-07-22
      • 2014-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多