Call()
UnigineScript is deprecated and will be removed in future releases. Please consider using C#/C++ instead, as these APIs are the preferred ones. Availability of new Engine features in UnigineScipt is not guaranteed, as the current level of support assumes only fixing critical issues.
variable call ( string function_name, variable arguments ) #
Calls a function, which name is provided as an argument.The above expression is equivalent to this one: function_name(arguments).
Arguments
- string function_name - Name of the function to call.
- variable arguments - Function arguments.
Return value
Function execution result.Examples
call("log.message","%d %s\n",13,"some text");
// the result is: 13 some text
variable call ( int function_id, variable arguments ) #
Calls a function by its ID, which is almost as fast as the direct function call. In order to get this ID, use get_function().Arguments
- int function_id - ID of the function to call.
- variable arguments - Function arguments.
Return value
Function execution result.Examples
void foo(int a) {
log.message("%d\n",a);
}
int id = get_function("foo",1);
call(id,3);
// the result is: 3
class MyClass {
void print_me() {
log.message("MyClass::print_me() called\n");
}
void id_func(MyClass obj) {
obj.print_me();
}
};
MyClass m = new MyClass();
call(get_function("MyClass::id_func",1),m);
// the result is: MyClass::print_me() called
int id = get_function("MyClass::id_func",1);
m.call(id,m);
variable call ( string function_name, variable array ) #
Calls a function, whose name is provided as an argument. The number of function arguments can vary.Arguments
- string function_name - Name of the function to call.
- variable array - Function arguments. The number of function arguments can vary.
Return value
Function execution result.Examples
int args[] = ("%s\n","hello world");
call("log.message",args);
// ouput: hello world
variable call ( string method_name, variable arguments ) #
Calls methods of external or user-defined classes.Arguments
- string method_name - Name of the method to call.
- variable arguments - Function arguments.
Return value
Function execution result.Examples
Call methods of an external class:
File file = new File("test.cpp","rb");
log.message("%d %s\n",file.call("isOpened"),file.call("getName"));
file.call("close"); // same as file.close();
delete file;
// the output is: 1 test.cpp
class Foo {
void print(int a) {
log.message("Foo::print(): %d\n",a);
}
};
Foo foo = new Foo();
foo.print(1);
foo.call("print",2);
// Foo::print(): 1
// Foo::print(): 2
Last update:
2020-04-10
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)