[]
        
(Showing Draft Content)

GC.Spread.CalcEngine.Functions.AsyncFunction

クラス: AsyncFunction

CalcEngine.Functions.AsyncFunction

Hierarchy

Table of contents

コンストラクタ

プロパティ

メソッド

コンストラクタ

constructor

new AsyncFunction(name, minArgs?, maxArgs?, description?)

非同期関数を定義するための抽象基本クラスを表します。

実例

class WeatherFunction extends GC.Spread.CalcEngine.Functions.AsyncFunction {
    constructor () {
        super('WEATHER', 0, 0, {
            description: "天気の取得",
            parameters: []
        });
    }
    evaluate (context) {
        setTimeout(function () { context.setAsyncResult('sunny'); }, 100);
    }
}
spread.addCustomFunction(new WeatherFunction());
spread.getActiveSheet().setFormula(0, 0, '=WEATHER()');

パラメータ

名前 説明
name string 関数の名前。
minArgs? number -
maxArgs? number -
description? IFunctionDescription -

オーバーライド

Function.constructor

プロパティ

maxArgs

maxArgs: number

関数の引数の最大数を表します。

継承元

Function.maxArgs


minArgs

minArgs: number

関数の引数の最小数を表します。

継承元

Function.minArgs


name

name: string

関数の名前を表します。

継承元

Function.name


typeName

typeName: string

シリアル化のサポートに使用される型名の文字列を表します。

継承元

Function.typeName

メソッド

acceptsArray

acceptsArray(argIndex): boolean

指定した引数に配列値が渡された場合に関数がこれを受け入れるかどうかを決定します。

function

パラメータ

名前 説明
argIndex number 引数のインデックス。

戻り値

boolean

指定した引数に配列値が渡された場合に関数がこれを受け入れる場合はtrue、それ以外の場合はfalse

継承元

Function.acceptsArray


acceptsError

acceptsError(argIndex): boolean

関数がError値を処理できるかどうかを示します。

function

パラメータ

名前 説明
argIndex number 引数のインデックス。

戻り値

boolean

関数が指定した引数のError値を処理できる場合はtrue、それ以外の場合はfalse

継承元

Function.acceptsError


acceptsMissingArgument

acceptsMissingArgument(argIndex): boolean

Evaluateメソッドが不明の引数を処理できるかどうかを判定します。

パラメータ

名前 説明
argIndex number 引数のインデックス

戻り値

boolean

Evaluateメソッドが欠落引数を処理できる場合はtrue、それ以外の場合はfalse

継承元

Function.acceptsMissingArgument


acceptsReference

acceptsReference(argIndex): boolean

指定した引数にReference値が渡された場合に関数がこれを受け入れるかどうかを決定します。

function

パラメータ

名前 説明
argIndex number 引数のインデックス。

戻り値

boolean

指定した引数にReference値が渡された場合に関数がこれを受け入れる場合はtrue、それ以外の場合はfalse

継承元

Function.acceptsReference


defaultValue

defaultValue(): any

非同期結果を取得する前の関数評価結果のデフォルト値を返します。

戻り値

any

非同期結果を取得する前の関数評価結果のデフォルト値。


description

description(): IFunctionDescription

関数の記述を返します。

function

戻り値

IFunctionDescription

関数の記述。

継承元

Function.description


evaluate

evaluate(...args): any

引数に関数を適用した結果を返します。

パラメータ

名前 説明
...args any 関数の評価に使用する引数

戻り値

any

引数に関数を適用した結果。

継承元

Function.evaluate


evaluateAsync

evaluateAsync(context, args): any

引数に関数を適用した結果を返します。

パラメータ

名前 説明
context AsyncEvaluateContext 評価コンテキスト。
args any 関数の評価に使用する引数

戻り値

any

引数に関数を適用した結果。


evaluateMode

evaluateMode(): AsyncFunctionEvaluateMode

数式の再計算方法を決定します。

戻り値

AsyncFunctionEvaluateMode

評価モード。


findBranchArgument

findBranchArgument(test): number

分岐引数を検索します。

実例

function EqualsFunction() {
    this.name = 'Equals';
    this.maxArgs = 3;
    this.minArgs = 3;
}
EqualsFunction.prototype = new GC.Spread.CalcEngine.Functions.Function();
EqualsFunction.prototype.evaluate = function(logicalTest, valueIfTrue, valueIfFalse) {
    return logicalTest ? valueIfTrue : valueIfFalse;
}
EqualsFunction.prototype.isBranch = function() {
    return true;
}
EqualsFunction.prototype.findTestArgument = function() {
    return 0;
}
EqualsFunction.prototype.findBranchArgument = function(logicalTestResult) {
    if (logicalTestResult === true) {
        return 1;
    }
    return 2;
}
var equalsFunction = new EqualsFunction();
var spread = GC.Spread.Sheets.findControl("ss") || GC.Spread.Sheets.findControl("sampleDiv");
spread.addCustomFunction(equalsFunction);

パラメータ

名前 説明
test any テスト。

戻り値

number

分岐条件として扱われる引数のインデックスを示します。

継承元

Function.findBranchArgument


findTestArgument

findTestArgument(): number

この関数が分岐する場合にテスト引数を検索します。

実例

function EqualsFunction() {
    this.name = 'Equals';
    this.maxArgs = 3;
    this.minArgs = 3;
}
EqualsFunction.prototype = new GC.Spread.CalcEngine.Functions.Function();
EqualsFunction.prototype.evaluate = function(logicalTest, valueIfTrue, valueIfFalse) {
    return logicalTest ? valueIfTrue : valueIfFalse;
}
EqualsFunction.prototype.isBranch = function() {
    return true;
}
EqualsFunction.prototype.findTestArgument = function() {
    return 0;
}
EqualsFunction.prototype.findBranchArgument = function(logicalTestResult) {
    if (logicalTestResult === true) {
        return 1;
    }
    return 2;
}
var equalsFunction = new EqualsFunction();
var spread = GC.Spread.Sheets.findControl("ss") || GC.Spread.Sheets.findControl("sampleDiv");
spread.addCustomFunction(equalsFunction);

戻り値

number

テスト条件として扱われる引数のインデックスを示します。

継承元

Function.findTestArgument


interval

interval(): number

時間間隔を返します。

戻り値

number

時間間隔(ミリ秒単位)。


isBranch

isBranch(): boolean

この関数が条件引数に従って分岐するかどうかを示す値を取得します。

実例

function EqualsFunction() {
    this.name = 'Equals';
    this.maxArgs = 3;
    this.minArgs = 3;
}
EqualsFunction.prototype = new GC.Spread.CalcEngine.Functions.Function();
EqualsFunction.prototype.evaluate = function(logicalTest, valueIfTrue, valueIfFalse) {
    return logicalTest ? valueIfTrue : valueIfFalse;
}
EqualsFunction.prototype.isBranch = function() {
    return true;
}
EqualsFunction.prototype.findTestArgument = function() {
    return 0;
}
EqualsFunction.prototype.findBranchArgument = function(logicalTestResult) {
    if (logicalTestResult === true) {
        return 1;
    }
    return 2;
}
var equalsFunction = new EqualsFunction();
var spread = GC.Spread.Sheets.findControl("ss") || GC.Spread.Sheets.findControl("sampleDiv");
spread.addCustomFunction(equalsFunction);

戻り値

boolean

このインスタンスが分岐する場合はtrue、それ以外の場合はfalse

継承元

Function.isBranch


isContextSensitive

isContextSensitive(): boolean

関数の評価が、評価を実行するコンテキストに依存するかどうかを決定します。

戻り値

boolean

関数の評価がコンテキストに依存する場合はtrue、それ以外の場合はfalse

継承元

Function.isContextSensitive


isVolatile

isVolatile(): boolean

この関数が、評価時に値が変わる自動再計算関数かどうかを決定します。

戻り値

boolean

この関数が自動再計算関数である場合はtrue、それ以外の場合はfalse

継承元

Function.isVolatile