#include "ycp/YCPBuiltinTerm.h"
#include "ycp/YCPTerm.h"
#include "ycp/YCPInteger.h"
#include "ycp/YCPString.h"
#include "ycp/StaticDeclaration.h"
#include "ycp/y2log.h"
Defines | |
#define | ETC 0, NULL, constTypePtr(), NULL |
#define | ETCf NULL, constTypePtr(), NULL |
Functions | |
static YCPValue | t_size (const YCPTerm &term) |
static YCPValue | t_add (const YCPTerm &term, const YCPValue &value) |
static YCPValue | t_symbolof (const YCPTerm &term) |
YCPValue | t_select (const YCPValue &term, const YCPValue &i, const YCPValue &def) |
static YCPValue | t_toterm1 (const YCPValue &v) |
static YCPValue | t_toterm2 (const YCPSymbol &s, const YCPList &l) |
static YCPValue | t_remove (const YCPTerm &term, const YCPInteger &i) |
static YCPValue | t_argsof (const YCPTerm &term) |
Variables | |
StaticDeclaration | static_declarations |
#define ETC 0, NULL, constTypePtr(), NULL |
#define ETCf NULL, constTypePtr(), NULL |
add add-term Add value to term Adds the value VALUE
to the term TERM
and returns the newly created term. As always in YCP, TERM
is not modified.
term | TERM | |
any | VALUE |
References YCPTerm::functionalAdd(), and YCPElement::isNull().
Referenced by YCPBuiltinTerm::YCPBuiltinTerm().
argsof Returns the arguments of a term.
term | TERM |
References YCPTerm::args(), and YCPElement::isNull().
Referenced by YCPBuiltinTerm::YCPBuiltinTerm().
static YCPValue t_remove | ( | const YCPTerm & | term, | |
const YCPInteger & | i | |||
) | [static] |
remove remove-term Remove item from term
Remove the i'th value from a term. The first value has the index 1 (!). (The index counting is for compatibility reasons with the 'old' remove which allowed 'remove(`term(1,2,3), 0) = [1,2,3]' Use 'argsof (term) -> list' for this kind of transformation.)
The yast2-core version < 2.17.16 returns nil if the index is invalid. This behavior has changed in version 2.17.16 to return unchanged term.
term | TERM | |
integer | i |
References YCPTerm::args(), YCPElement::isNull(), YCPTerm::name(), YCPList::remove(), YCPList::size(), toString(), and ycp2error.
Referenced by YCPBuiltinTerm::YCPBuiltinTerm().
select (deprecated, use TERM[ITEM]:DEFAULT) select-term Select item from term Gets the i
'th value of the term t
. The first value has the index 0. The call select ([1, 2, 3], 1)
thus returns 2. Returns the default
if the index is invalid or the found value has a diffetent type that default
. Functionality replaced with syntax: term a = `VBox(`VSpacing(2), `Label("string"), `VSpacing(2)); a[1]:`Empty() -> `Label ("string") a[9]:`Empty() -> `Empty ()
term | TERM | |
integer | ITEM | |
any | DEFAULT |
References YCPElement::isNull(), YCPList::size(), and YCPList::value().
Referenced by l_select(), and YCPBuiltinTerm::YCPBuiltinTerm().
size size-term Returns the number of arguments of the term TERM
.
term | TERM |
TERM
References YCPElement::isNull(), and YCPTerm::size().
Referenced by YCPBuiltinTerm::YCPBuiltinTerm().
symbolof Returns the symbol of the term TERM
.
term | TERM |
References YCPElement::isNull(), and YCPTerm::name().
Referenced by YCPBuiltinTerm::YCPBuiltinTerm().
toterm toterm-any Converts a value to a term.
If the value can't be converted to a term, nilterm is returned.
any | VALUE |
References YCPElement::isNull(), YT_STRING, YT_SYMBOL, and YT_TERM.
Referenced by YCPBuiltinTerm::YCPBuiltinTerm().
toterm toterm-list Constructs a term from a symbol and a list.
Constructs a term from a symbol and a list. Thus complement to symbolof and argsof.
symbol | s | |
list | l |
References YCPTerm::add(), YCPElement::isNull(), YCPList::size(), and YCPList::value().
Referenced by YCPBuiltinTerm::YCPBuiltinTerm().