Call()
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: 10.08.2018
Помогите сделать статью лучше
Была ли эта статья полезной?
(или выберите слово/фразу и нажмите Ctrl+Enter