Función: IndefinidoVolver

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