Initializer

init(forFunction:arguments:)

Creates an expression that invokes one of the predefined functions. ある式を作成します、それはあらかじめ定義された関数の1つを発動します。

Declaration 宣言

init(forFunction name: String, 
arguments parameters: [Any])

Parameters パラメータ

name

The name of the function to invoke. 発動することになる関数の名前。

parameters

An array containing NSExpression objects that will be used as parameters during the invocation of selector. NSExpressionオブジェクトを含んでいる配列、それはパラメータとしてセレクタの発動の間に使われます。

For a selector taking no parameters, the array should be empty. For a selector taking one or more parameters, the array should contain one NSExpression object which will evaluate to an instance of the appropriate type for each parameter. パラメータを取らないセレクタに対して、配列は空であるべきです。1つ以上のパラメータを取るセレクタに対して、配列は1つのNSExpressionオブジェクトを含むべきです、それは各パラメータに対して適切な型であるあるインスタンスに評価されるものです。

If there is a mismatch between the number of parameters expected and the number you provide during evaluation, an exception may be raised or missing parameters may simply be replaced by nil (which occurs depends on how many parameters are provided, and whether you have over- or underflow). 予想されるパラメータの数とあなたが評価のときに提供する数の間に食い違いがあるならば、例外が引き起こされるかもしれないか見つからないパラメータが単にnilで置き換えられるかもしれません(どちらが起こるかはどのくらい多くのパラメータが提供されるか、そしてあなたがオーバーまたはアンダーフローを持つかどうかに依存します)。

Return Value 戻り値

A new expression that invokes the function name using the parameters in parameters. ある新しい式、それは関数nameparametersでのパラメータを使って発動するものです。

Discussion 議論

The name parameter can be one of the following predefined functions. nameパラメータは、以下のあらかじめ定義された関数の1つであることができます。

Function 関数

Parameter パラメータ

Returns 戻り

Availability 有効性

average:

An NSArray object containing NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを含んでいます

An NSNumber object (the average of values in the array) あるNSNumberオブジェクト(配列の中の値の平均)

OS X v10.4 and later OS X 10.4以降

sum:

An NSArray object containing NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを含んでいます

An NSNumber object (the sum of values in the array) あるNSNumberオブジェクト(配列の中の値の合計)

OS X v10.4 and later OS X 10.4以降

count:

An NSArray object containing NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを含んでいます

An NSNumber object (the number of elements in the array) あるNSNumberオブジェクト(配列の中の要素の数)

OS X v10.4 and later OS X 10.4以降

min:

An NSArray object containing NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを含んでいます

An NSNumber object (the minimum of the values in the array) あるNSNumberオブジェクト(配列の中の値の最小)

OS X v10.4 and later OS X 10.4以降

max:

An NSArray object containing NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを含んでいます

An NSNumber object (the maximum of the values in the array) あるNSNumberオブジェクト(配列の中の値の最大)

OS X v10.4 and later OS X 10.4以降

median:

An NSArray object containing NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを含んでいます

An NSNumber object (the median of the values in the array) あるNSNumberオブジェクト(配列の中の値の中央値)

OS X v10.5 and later OS X 10.5以降

mode:

An NSArray object containing NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを含んでいます

An NSArray object (the mode of the values in the array) あるNSArrayオブジェクト(配列の中の値のモード)

OS X v10.5 and later OS X 10.5以降

stddev:

An NSArray object containing NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを含んでいます

An NSNumber object (the standard deviation of the values in the array) あるNSNumberオブジェクト(配列の中の値の標準偏差)

OS X v10.5 and later OS X 10.5以降

add:to:

An NSArray object containing two NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを2つ含んでいます

An NSNumber object (the sum of the values in the array) あるNSNumberオブジェクト(配列の中のそれら値の合計)

OS X v10.5 and later OS X 10.5以降

from:subtract:

An NSArray object containing two NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを2つ含んでいます

An NSNumber object (the result of subtracting the second value in the array from the first value in the array) あるNSNumberオブジェクト(配列の中の2番目の値を配列の中の1番目の値から引いた結果)

OS X v10.5 and later OS X 10.5以降

multiply:by:

An NSArray object containing two NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを2つ含んでいます

An NSNumber object (the result of multiplying the values in the array) あるNSNumberオブジェクト(配列の中の値の乗算の結果)

OS X v10.5 and later OS X 10.5以降

divide:by:

An NSArray object containing two NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを2つ含んでいます

An NSNumber object (the result of dividing the first value in the array by the second value in the array) あるNSNumberオブジェクト(配列の中の1番目の値を配列の中の2番目の値によって除算する結果)

OS X v10.5 and later OS X 10.5以降

modulus:by:

An NSArray object containing two NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを2つ含んでいます

An NSNumber object (the remainder of dividing the first value in the array by the second value in the array) あるNSNumberオブジェクト(配列の中の1番目の値を配列の中の2番目の値によって除算する余り)

OS X v10.5 and later OS X 10.5以降

sqrt:

An NSArray object containing one NSExpression object representing a number あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを1つ含んでいます

An NSNumber object (the square root of the value in the array) あるNSNumberオブジェクト(配列の中の値の平方根)

OS X v10.5 and later OS X 10.5以降

log:

An NSArray object containing one NSExpression object representing a number あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを1つ含んでいます

An NSNumber object (the log of the value in the array) あるNSNumberオブジェクト(配列の中の値の対数)

OS X v10.5 and later OS X 10.5以降

ln:

An NSArray object containing one NSExpression object representing a number あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを1つ含んでいます

An NSNumber object (the natural log of the value in the array) あるNSNumberオブジェクト(配列の中の値の自然対数)

OS X v10.5 and later OS X 10.5以降

raise:toPower:

An NSArray object containing two NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを2つ含んでいます

An NSNumber object (the result of raising the first value in the array to the power of the second value in the array) あるNSNumberオブジェクト(配列の中の1番目の値を配列の中の2番目の値だけ累乗する結果)

OS X v10.5 and later OS X 10.5以降

exp:

An NSArray object containing one NSExpression object representing a number あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを1つ含んでいます

An NSNumber object (the base-e exponential of the value in the array) あるNSNumberオブジェクト(配列の中の値の底がeの指数)

OS X v10.5 and later OS X 10.5以降

ceiling:

An NSArray object containing one NSExpression object representing a number あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを1つ含んでいます

An NSNumber object (the smallest integral value not less than the value in the array) あるNSNumberオブジェクト(配列の中の値より小さくない最小積分値)

OS X v10.5 and later OS X 10.5以降

abs:

An NSArray object containing one NSExpression object representing a number あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを1つ含んでいます

An NSNumber object (the absolute value of the value in the array) あるNSNumberオブジェクト(配列の中の値の絶対値)

OS X v10.5 and later OS X 10.5以降

trunc:

An NSArray object containing one NSExpression object representing a number あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを1つ含んでいます

An NSNumber object (the integral value nearest to but no greater than the value in the array) あるNSNumberオブジェクト(配列の中の値に最も近いしかしより大きくはない積分値)

OS X v10.5 and later OS X 10.5以降

random

nil

An NSNumber object (a random integer value) あるNSNumberオブジェクト(ある無作為な積分値)

OS X v10.5 and later OS X 10.5以降

random:

An NSArray object containing one NSExpression object representing a number あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを1つ含んでいます

An NSNumber object (a random integer value between 0 and the value in the array (exclusive)) あるNSNumberオブジェクト(0と配列の中の値(それを含めない)の間の無作為な積分値)

OS X v10.5 and later OS X 10.5以降

now

nil

An [NSDate] object (the current date and time) ある[NSDate]オブジェクト(現在の日付と時刻)

OS X v10.5 and later OS X 10.5以降

floor:

An NSArray object containing one NSExpression object representing a number あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを1つ含んでいます

An NSNumber object あるNSNumberオブジェクト

iOS 3.0 and later iOS 3.0以降

uppercase:

An NSArray object containing one NSExpression object representing a string あるNSArrayオブジェクトで、文字列を表しているNSExpressionオブジェクトを1つ含んでいます

An NSString object あるNSStringオブジェクト

iOS 3.0 and later iOS 3.0以降

lowercase:

An NSArray object containing one NSExpression object representing a string あるNSArrayオブジェクトで、文字列を表しているNSExpressionオブジェクトを1つ含んでいます

An NSString object あるNSStringオブジェクト

iOS 3.0 and later iOS 3.0以降

bitwiseAnd:with:

An NSArray object containing two NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを2つ含んでいます

An NSNumber object (the number is treated as an NSInteger) あるNSNumberオブジェクト(この数はNSIntegerとして扱われます)

iOS 3.0 and later iOS 3.0以降

bitwiseOr:with:

An NSArray object containing two NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを2つ含んでいます

An NSNumber object (the number is treated as an NSInteger) あるNSNumberオブジェクト(この数はNSIntegerとして扱われます)

iOS 3.0 and later iOS 3.0以降

bitwiseXor:with:

An NSArray object containing two NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを2つ含んでいます

An NSNumber object (the number is treated as an NSInteger) あるNSNumberオブジェクト(この数はNSIntegerとして扱われます)

iOS 3.0 and later iOS 3.0以降

leftshift:by:

An NSArray object containing two NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを2つ含んでいます

An NSNumber object (the number is treated as an NSInteger) あるNSNumberオブジェクト(この数はNSIntegerとして扱われます)

iOS 3.0 and later iOS 3.0以降

rightshift:by:

An NSArray object containing two NSExpression objects representing numbers あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを2つ含んでいます

An NSNumber object (the number is treated as an NSInteger) あるNSNumberオブジェクト(この数はNSIntegerとして扱われます)

iOS 3.0 and later iOS 3.0以降

onesComplement:

An NSArray object containing one NSExpression object representing a number あるNSArrayオブジェクトで、数を表しているNSExpressionオブジェクトを1つ含んでいます

An NSNumber object (the number is treated as an NSInteger) あるNSNumberオブジェクト(この数はNSIntegerとして扱われます)

iOS 3.0 and later iOS 3.0以降

noindex:

An NSArray object containing an NSExpression object あるNSArrayオブジェクトで、あるNSExpressionオブジェクトを含んでいます

The result of evaluating the parameter as though the noindex: function expression didn't exist. パラメータをまるでnoindex:関数式が存在しないかのように評価する結果。

iOS 3.0 and later iOS 3.0以降

This method raises an exception immediately if the selector is invalid; it raises an exception at runtime if the parameters are incorrect. このメソッドは、セレクタが無効ならば直ちに例外を引き起こします;それはパラメータが正しくないならば実行時に引き起こします。

The parameters argument is a collection containing an expression which evaluates to a collection, as illustrated in the following examples: parameters引数は、あるコレクションに評価する式を含んでいるコレクションです、以下の例で図解されるように:


NSNumber *number1 = [NSNumber numberWithInteger:20];
NSNumber *number2 = [NSNumber numberWithInteger:40];
NSArray *numberArray = [NSArray arrayWithObjects: number1, number2, nil];
 
NSExpression *arrayExpression = [NSExpression expressionForConstantValue: numberArray];
NSArray *argumentArray = [NSArray arrayWithObject: arrayExpression];
 
NSExpression* expression =
    [NSExpression expressionForFunction:@"sum:" arguments:argumentArray];
id result = [expression expressionValueWithObject: nil context: nil];
 
BOOL ok = [result isEqual: [NSNumber numberWithInt: 60]]; // ok == YES

[NSExpression expressionForFunction:@"random" arguments:nil];
 
[NSExpression expressionForFunction:@"max:"
    arguments: [NSArray arrayWithObject:
        [NSExpression expressionForConstantValue:
            [NSArray arrayWithObjects:
                [NSNumber numberWithInt: 5], [NSNumber numberWithInt: 10], nil]]]];
 
[NSExpression expressionForFunction:@"subtract:from:"
    arguments: [NSArray arrayWithObjects:
        [NSExpression expressionForConstantValue: [NSNumber numberWithInt: 5]],
        [NSExpression expressionForConstantValue: [NSNumber numberWithInt: 10]], nil]];

Special Considerations 特別な注意事項

This method throws an exception immediately if the selector is unknown; it throws at runtime if the parameters are incorrect. このメソッドは、セレクタが未知ならば直ちに例外をスローします;それはパラメータが正しくないならば実行時にスローします。

See Also 参照

Creating an Expression for a Function 式を関数のために作成する