0

私はJavaにかなり堪能ですが、bashへの移行は困難です

arith以下のタスクを実行するには、以下の名前の関数を完了します。

  • 変数 a の値が変数 b の値より小さい場合は、関数 add を呼び出します。

  • それ以外の場合は、関数 sub を呼び出します。

したがって、これまでのコードは次のとおりです。

echo "Enter two integers on separate lines"
read a
read b

add()
{
  echo "$a + $b = $((a + b))"
}

sub()
{
  echo "$a - $b = $((a - b))"
}

arith()
{
  If{... # To be completed
}

の形式にすべきだと思います。

arith()
{
    //if(a<b, call function add)
    //else(call function sub)

しかし、私はそれを書く方法がわかりません。

4

1 に答える 1

2

関数がおそらくグローバル変数にアクセスしてはならないことを除いて、次のいずれかを記述できます。

arith()
{
    if [ "$a" -lt "$b" ]
    then add
    else sub
    fi
}

または:

arith()
{
    if [[ "$a" < "$b" ]]
    then add
    else sub
    fi
}

通常、次のようなコードを記述します。

add()
{
    echo "$1 + $2 = $(($1 + $2))"
}

sub()
{
    echo "$1 - $2 = $(($1 - $2))"
}

arith()
{
    if [[ "$1" < "$2" ]]
    then add "$1" "$2"
    else sub "$1" "$2"
    fi
}

したがって:

$ arith 1 2
1 + 2 = 3
$ arith 2 1
2 - 1 = 1
$ arith 1 1
1 - 1 = 0
$
于 2013-10-28T03:04:29.677 に答える