Función: IndefinidoVolver

Descripción

Esta función permite detectar si una variable o una clave de diccionario está definida o devolver un valor opcional 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>,<clave>[,<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
2|3 valor_opcional Valor a devolver si la variable o la clave está indefinida
2 clave Clave del diccionario que puede o no estar definida

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) >>>


eval(indefinido('a',-1)+indefinido('b',-3),a,100)

RealDoble: 97

Desde / Última modificación

v0.5.0

v0.6.1