Table of Contents
Section not written yet...
In Data type any you have seen the data type
any. Because the value of type
any can not be assigned to
a variable of any other type. FIXME.
So it is important to check its type with is(...) and
then re-assigning it to a variable of the correct type. The following
example shows how this should be done.
Example 4.1. Type checking and data type any
//
// Hypothetical example:
// ---------------------
// We don't know whether the SCR will return integers or floats...
//
any any_var = 0;
integer int_var = 0;
float float_var = 0.0;
boolean int_case = false;
any_var = SCR::Read(...);
if ( is( any_var, integer ) )
{
int_var = any_var;
int_case = true;
}
else if ( is( any_var, float ) )
{
float_var = any_var;
int_case = false;
}
else
{
// Error...
}
if ( int_case )
{
// Use int_var...
}
else
{
// Use float_var...
}
As this is very cumbersome, you should try to
avoid this oddity in any case. If it is ineluctable, do it as shown
above to stay compatible with future YaST behavior.