グローバル変数ではなく実際のパラメーターとして配列を関数に渡す方法

マイケル・デュラント

パラメータの1つとして配列を関数に渡す方法はありますか?

現在私は持っています

#!/bin/bash
highest_3 () {
  number_under_test=(${array[@]})
  max_of_3=0
  for ((i = 0; i<$((${#number_under_test[@]}-2)); i++ )) { 
    test=$((number_under_test[i] +
      number_under_test[i+1] +
      number_under_test[i+2]))
    if [ $test -gt $max_of_3 ]; then
      max_of_3=$((number_under_test[i]+
        number_under_test[i+1]+
        number_under_test[i+2]))
      result=$((number_under_test[i]))$((number_under_test[i+1]))$((number_under_test[i+2]))
    fi
  } 
}
array=(1 2 3 4 5 6 7 8 7 6 5 4 3 2 1)
highest_3
echo result=$result
array=(1 2 3 4 3 2 1)
highest_3
echo result=$result

これは、を設定arrayして使用するだけで機能しarrayますが、(おそらくグローバル)変数を設定するだけでなく、実際のパラメーターとして(1 2 3 4 5 4 3 2 1)などの配列を渡す方法はありますか?

更新:この配列の横にある他のパラメーターを渡せるようにしたい

メンドン

いつでも配列を関数に渡し、関数内の配列として再構築できます。

#!/usr/bin/env bash

foo () {
    ## Read the 1st parameter passed into the new array $_array
    _array=( "$1" )
    ## Do something with it.
    echo "Parameters passed were 1: ${_array[@]}, 2: $2 and 3: $3"

}
## define your array
array=(a 2 3 4 5 6 7 8 7 6 5 4 3 2 1)
## define two other variables
var1="foo"
var2="bar"

## Call your function
foo "$(echo ${array[@]})" $var1 $var2

上記のスクリプトは、次の出力を生成します。

$ a.sh
Parameters passed were 1: a 2 3 4 5 6 7 8 7 6 5 4 3 2 1, 2: foo and 3: bar

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

グローバルオブジェクトをパラメータとして自己実行関数に渡すことのポイントは何ですか?

分類Dev

その配列の変数を作成せずに、配列をパラメーターとして関数に渡すことは可能ですか?

分類Dev

グロブパターンをパラメーターとしてbashの関数に渡す方法は?

分類Dev

Typescript / JavaScript-残りのパラメーターを配列としてではなくパラメーターとして後続の関数に渡す方法は?

分類Dev

Reactの関数でグローバル変数を渡して変更しないようにする方法は?

分類Dev

C ++の関数で配列要素をパラメーターとして渡す方法は?

分類Dev

関数内のForループにパラメーターとして複数の配列を渡す

分類Dev

配列変数をパラメーターとして別の関数に渡す

分類Dev

文字列として別の関数に渡される関数にパラメータを渡す方法は?

分類Dev

関数をパラメータとして別の関数に渡す方法は?

分類Dev

関数をパラメータとして別の関数に渡す方法は?

分類Dev

Rの変数を期待する関数にパラメーターとして文字列を渡す方法

分類Dev

関数グローバル/ローカル変数の問題への入力パラメーターとして辞書を渡す

分類Dev

関数の文字列パラメーターとして名前を指定して、グローバル変数を動的に操作する関数を作成することはできますか?

分類Dev

列全体をパラメーターとしてtldextract関数に渡す方法は?

分類Dev

行列列をパラメーターとして.apply関数に渡す方法は?

分類Dev

関数名を文字列としてPythonで別の関数にパラメーターとして引数を持つ関数を渡す方法は?

分類Dev

C ++ Boost関数のコールバック。関数をコールバックとして呼び出し、内部にパラメーターを渡す方法は?

分類Dev

関数のパラメーターとしてリストを使用し、関数が実際のパラメーターの値を変更できず、仮パラメーターのみを変更できるのはなぜですか?

分類Dev

配列へのポインタを期待する関数に実際のパラメータとして配列を送信するには、配列にアクセスするために2回逆参照する必要があるのはなぜですか?

分類Dev

パラメータを使用して関数内のグローバル変数を変更する方法

分類Dev

Javascript:1。グローバル変数をパラメーターとして受け入れる2.そのグローバル変数の値を変更する関数を作成するにはどうすればよいですか?

分類Dev

float配列とfloatをパラメーターとしてCの関数に渡す方法

分類Dev

この関数がローカル変数としてではなくグローバル変数として実行されるのはなぜですか?

分類Dev

関数のパラメーターとしてグローバル変数を操作する

分類Dev

配列の合計要素を関数の位置パラメーターとして渡す方法は?

分類Dev

ネストされた構造体配列をパラメーターとして関数に渡す方法は?

分類Dev

メンバー関数をパラメーターとして渡す方法は?

分類Dev

pickの関数のパラメーターとして配列を渡す

Related 関連記事

  1. 1

    グローバルオブジェクトをパラメータとして自己実行関数に渡すことのポイントは何ですか?

  2. 2

    その配列の変数を作成せずに、配列をパラメーターとして関数に渡すことは可能ですか?

  3. 3

    グロブパターンをパラメーターとしてbashの関数に渡す方法は?

  4. 4

    Typescript / JavaScript-残りのパラメーターを配列としてではなくパラメーターとして後続の関数に渡す方法は?

  5. 5

    Reactの関数でグローバル変数を渡して変更しないようにする方法は?

  6. 6

    C ++の関数で配列要素をパラメーターとして渡す方法は?

  7. 7

    関数内のForループにパラメーターとして複数の配列を渡す

  8. 8

    配列変数をパラメーターとして別の関数に渡す

  9. 9

    文字列として別の関数に渡される関数にパラメータを渡す方法は?

  10. 10

    関数をパラメータとして別の関数に渡す方法は?

  11. 11

    関数をパラメータとして別の関数に渡す方法は?

  12. 12

    Rの変数を期待する関数にパラメーターとして文字列を渡す方法

  13. 13

    関数グローバル/ローカル変数の問題への入力パラメーターとして辞書を渡す

  14. 14

    関数の文字列パラメーターとして名前を指定して、グローバル変数を動的に操作する関数を作成することはできますか?

  15. 15

    列全体をパラメーターとしてtldextract関数に渡す方法は?

  16. 16

    行列列をパラメーターとして.apply関数に渡す方法は?

  17. 17

    関数名を文字列としてPythonで別の関数にパラメーターとして引数を持つ関数を渡す方法は?

  18. 18

    C ++ Boost関数のコールバック。関数をコールバックとして呼び出し、内部にパラメーターを渡す方法は?

  19. 19

    関数のパラメーターとしてリストを使用し、関数が実際のパラメーターの値を変更できず、仮パラメーターのみを変更できるのはなぜですか?

  20. 20

    配列へのポインタを期待する関数に実際のパラメータとして配列を送信するには、配列にアクセスするために2回逆参照する必要があるのはなぜですか?

  21. 21

    パラメータを使用して関数内のグローバル変数を変更する方法

  22. 22

    Javascript:1。グローバル変数をパラメーターとして受け入れる2.そのグローバル変数の値を変更する関数を作成するにはどうすればよいですか?

  23. 23

    float配列とfloatをパラメーターとしてCの関数に渡す方法

  24. 24

    この関数がローカル変数としてではなくグローバル変数として実行されるのはなぜですか?

  25. 25

    関数のパラメーターとしてグローバル変数を操作する

  26. 26

    配列の合計要素を関数の位置パラメーターとして渡す方法は?

  27. 27

    ネストされた構造体配列をパラメーターとして関数に渡す方法は?

  28. 28

    メンバー関数をパラメーターとして渡す方法は?

  29. 29

    pickの関数のパラメーターとして配列を渡す

ホットタグ

アーカイブ