Descripción
Esta función permite comprobar si una variable, o una clave de diccionario, o una posición de vector, está definida
y opcionalmente devolver un valor por defecto en caso contrario.
El principal propósito de esta función es su uso en JMEScript.
Cadena de entrada
indefinido
Cadena de salida
indefinido
Uso
indefinido(<varname>[,<valor_opcional>]) |indefinido(<diccionario|vector>,<clave|índice>[,<valor_opcional>])
Nota: en el caso de un parámetro, es necesario escribir la variable entre corchetes (ver ejemplos)
Parámetros | |||
---|---|---|---|
# | Parámetro | Descripción | Valor por defecto |
1 | varname | Nombre de la variable | |
1 | diccionario|vector | ||
2|3 | valor_opcional | Valor a devolver si la variable, o la clave del diccionario, o la posición del vector está indefinida | ∅ |
2 | clave|índice | Clave del diccionario que puede o no estar definida, o índice del vector que puede no estar dentro del tamaño de éste |
Valor devuelto
Ejemplos
Salida en REPL:
>>> indefinido(['x']) ==> Booleano: verdadero (parse: 270µs(86%) / eval: 43,3µs(14%) / total: 314µs) >>> set x=100 x ==> RealDoble: 100 (parse: 128µs(91%) / eval: 12µs(9%) / total: 140µs) >>> indefinido(['x']) ==> Booleano: falso (parse: 330µs(74%) / eval: 115µs(26%) / total: 446µs) >>>
Salida en REPL:
>>> indefinido('x',pi) ==> RealDoble: 3.141592653589793 (parse: 688µs(91%) / eval: 65,4µs(9%) / total: 753µs) >>> set x='hola mundo' x ==> Texto: 'hola mundo' (parse: 101µs(93%) / eval: 7,2µs(7%) / total: 108µs) >>> indefinido('x',pi) ==> Texto: 'hola mundo' (parse: 235µs(68%) / eval: 109µs(32%) / total: 345µs) >>>
Salida en REPL:
>>> set d=dic('{x:32,y:-100}') d ==> Diccionario: { 'x': 32 'y': -100 } (parse: 2,9ms(5%) / eval: 56,5ms(95%) / total: 59,4ms) >>> indefinido(d,'x') ==> Booleano: falso (parse: 1,7ms(69%) / eval: 757µs(31%) / total: 2,5ms) >>> indefinido(d,'z') ==> Booleano: verdadero (parse: 263µs(22%) / eval: 922µs(78%) / total: 1,2ms) >>> indefinido(d,'z',0) ==> RealDoble: 0 (parse: 339µs(28%) / eval: 854µs(72%) / total: 1,2ms) >>> indefinido(d,'x',0) ==> RealDoble: 32 (parse: 169µs(21%) / eval: 637µs(79%) / total: 807µs) >>>
Salida en REPL:
>>> set v=[4,1] v ==> VectorEvaluado: [4,1] (parse: 4,1ms(13%) / eval: 27,3ms(87%) / total: 31,4ms) >>> indefinido(v,2) ==> Booleano: falso (parse: 1ms(56%) / eval: 788µs(44%) / total: 1,8ms) >>> indefinido(v,3) ==> Booleano: verdadero (parse: 239µs(26%) / eval: 699µs(74%) / total: 939µs) >>> indefinido(v,3,0) ==> RealDoble: 0 (parse: 110µs(21%) / eval: 428µs(79%) / total: 538µs) >>>
eval(indefinido('a',-1)+indefinido('b',-3),a,100)
RealDoble: 97
Desde / Última modificación
v0.5.0
v0.6.2.0