数学演算子
+、plus
挙動:2つの数値または数値リストを足し合わせます。
構文:
オペランド1 + オペランド2
オペランド1 plus オペランド2
例:
put 12 + 97 into someSum
例:
put a squared plus b squared into sumOfSquares
例:
put (12,8) + (4,7) into vectorSum
-、minus
挙動:1つの数値または数値リストを別の数値または数値リストから引きます。1つの日付/時間を別の日付/時間から引くと、時間間隔としての差異(秒で測定される)が示されます。
構文:
オペランド1 - オペランド2
オペランド1 minus オペランド2
例:
put c^2 - sumOfSquares into difference
例:
put (1,3,5,6) - (1,1,0,2) into diffList
*、 times、multiplied by
挙動:2つの数値もしくはリストを掛け合わせる、またはリストにスカラーを掛けます。同じ長さの2つのリストで使用する場合は、その結果は、対応する2つのリストの要素の積となります。オペランドの1つがリストで、別のオペランドが単一の値(スカラー)である場合は、その結果は元の各リストの要素にスカラー値を掛けて得られた値のリストとなります。
構文:
オペランド1 * オペランド2
オペランド1 times オペランド2
例:
put 2 * radius into diameter
例:
put pi times diameter into circumference
例:
put (1,2,3,4) * (2,2,1,3)-- result is (2,4,3,12)
例:
put (1,2,3,4) * 4 -- result is (4,8,12,16)
例:
put 7 multiplied by 3 -- result is 21
/ 、divided by
挙動: 1つの数字またはリストを別の数字またはリストで割る、またはリストをスカラーで割ります。この結果が商となり、整数ではない場合もあります。本演算子を、結果が整数となるdiv演算子と比較します。同じ長さの2つのリストで使用する場合は、その結果は、対応する2つのリストの要素の商となります。最初のオペランドがリストで、2つ目のオペランドが単一の値(スカラー)である場合は、その結果は各リストの要素をスカラー値で割って得られた値のリストとなります。2つ目のオペランドが0の場合は、本演算子はInfと表示される無限大値を返します。その他の計算で無限大値を利用する場合は、一般的に、想定どおりの結果が得られます。
構文:
オペランド1 / オペランド2
オペランド1 divided by オペランド2
例:
put pi / 2 into halfPi
例:
put (1,2,3,4) / (2,1,1,2)-- result is (0.5,2,3,2)
例:
put (2,4,5,8) / 2-- result is (1,2,2.5,4)
^、to the power of、squared、cubed
挙動:ある数字をn乗します。
構文:
オペランド1to the power of オペランド2
オペランド1 squared
オペランド1 cubed
例:
put a squared + b squared into sumOfSquares
例:
put 6 * x^4 - 2 * y^3 into z
%、percent
挙動:百分率数、またはアドオンもしくはディスカウントの百分率を表します。この簡単な形式において、X%は、Xを100で割った数と等しくなります(つまり、6%は0.06を意味します)。ただし、%を+または-演算子の後で使用する場合は、その演算子の左の値に対応するパーセントは、指定されたパーセントに応じて増減します。
構文:
factor %
factor percent
value [ + | - | plus | minus ] factor [ % | percent ]
例:
put 4% -- .04
例:
put 50 * 4% -- 2
例:
put 50 + 4% -- 52
例:
put 50 - 4% -- 48
例:
put sales plus ten percent into projectedSales
div
挙動:ある数値を別の数値で割り、結果を整数として返します。このような演算の余りを確認するのに、随伴演算子remを使用できます。0で割ると、その結果はInfとなります。
構文:
例:
put cookieCount div numberOfPeople into cookiesForEach
rem
挙動:整数の除算の余りを計算します。本演算子は、div演算子を補完します。rem演算子の結果の符号は、常にその最初のオペランドと同じ符号となります。
構文:
例:
put cookieCount rem numberOfPeople into extrasForMe
modulo、mod
挙動:数学的な剰余演算を実行します。ある数値がもう一方の数値の次低位の倍数を上回る量を得られます。modulo演算は、整数除算の余りを与えるrem演算とは異なります。どちらのオペランドも正の整数の場合は、rem とmoduloは同じ結果を与えます。ただし、負の値や整数ではない値の場合は、この2つの演算によって値はかなり異なって処理されます。
構文:
例:
put someValue mod modulusValue into extrasForMe
is a multiple of、is divisible by
挙動:ある数値が、別の数値の倍数であるかどうかをチェックします。つまり、ある数値を別の数値で割った結果が、余りのない整数になるかどうかを確認します。
構文:
value is {not} {a | an} {exact | even} multiple of divisor
value is {not} {exactly | evenly} divisible by divisor
例:
put 2895 is a multiple of 5-- true
例:
put 169 is divisible by 13 -- true
例:
put 98.6 is an exact multiple of 3.14-- false
例:
if cookieCount is evenly divisible by numberOfPeople then put "Hooray!"
rounded to、rounded to nearest
挙動:ある値を小数点のある桁数に丸める、または別の値の最も近い倍数に丸めます。また、 ユニット名、または値がユニット名である変数に丸めます。これらの演算子は、round()関数とroundToNearest()関数の呼び出しに代わる構文を提供します(算術計算を参照)。
構文:
value rounded {to} places {{decimal} places}
value rounded to {the} nearest {multiple of} nearestMultiple
value rounded to {the} nearest unit
例:
put 123.4567 rounded to 2 places-- 123.46
例:
put 123.4567 rounded -1 decimal places-- 120
例:
put 98.6 rounded to the nearest multiple of 3.14-- 97.34
例:
put total rounded to nearest .25 into amountDue
例:
put 12.345 meters rounded to the nearest foot — 41 feet
but at least、but no less than、but at most、but no more than演算子
挙動:ある値に最低値または最大値の制限を課します。
構文:
オペランド but at least value
オペランド but no less than value
オペランド but at most value
オペランド but no more than value
例:
set highScore to largest value in scores but at most 100
例:
set lowScore to rawScore - 9 but no less than zero
例:
set volume to myVolume but no more than 11
例:
set roomCapacity to sizeLimit but at least 123