Tasker Para hablar de todo lo relacionado con la aplicación tasker


 
Herramientas
  #1  
Viejo 17/12/14, 13:26:27
Avatar de angelob
angelob angelob no está en línea
Miembro del foro
Mensajes: 351
Compra y venta: (6)
 
Fecha de registro: nov 2008
Localización: España
Mensajes: 351
Modelo de smartphone: Pixel 7 Pro
Versión de ROM: Stock
Tu operador: O2
Mencionado: 3 comentarios
Tagged: 0 hilos
Operadores en comparaciones de variables

Hola, a la hora de crear un contexto y que este puede estar activo en función del valor de determinadas variables estoy usando el operador "AND"

Por ejemplo:

variable1 ~ ON
AND
variable2 ~ ON
AND
variable3 ~ ON

Entiendo que el contexto sólo está activo cuando las tres variables están a ON. Si meto una cuarta variable creo que el tasker se hace un lío.

He observado que existe otro operador "AND+" AND (High Precedence)", también lo hay para OR y XOR. ¿Sabéis qué significa este AND+"?
Responder Con Cita


  #2  
Viejo 17/12/14, 22:20:51
Avatar de mlesir
mlesir mlesir no está en línea
Usuario muy activo
Mensajes: 2,263
 
Fecha de registro: abr 2012
Mensajes: 2,263
Modelo de smartphone: OnePlus One,BQ Edison1, GoogleChrome,
Versión de ROM: 4.4 Cyanogen
Tu operador: Pepephone
Mencionado: 36 comentarios
Tagged: 2 hilos
http://tasker.dinglisch.net/userguid...ctionedit.html :

" If*(Condition) Parameter

(most actions)

Allows specification of one or more conditions which must match if this action is to execute.

Single conditions consist of a*left-hand side(usually a variable name), an*operator*and a*right-hand-side*for example*%number, Equals, 1*indicates that the action will be executed if the variable %number has the value 1.

When more than one condition is specified, they must be combined via*And*(all conditions must be true),*Or*(at least one condition must be true) or*Xor*(exactly one must be true). These 'combiners' are calledboolean operators.

Usually, 2 or 3 conditions will be combined with all*Ands or all*Ors, but in order to allow more complicated logic, Tasker also offers*And*and*Or*in high-precedence versions. Of the 4 boolean operators which are available, the selection goes from low to high precedence ones.

The higher the precedence of a boolean operator, the further to the right it is shown. This enables the logical groups to be visualised.

Examples:

True | False & True | False*is the same as*( True | False ) & ( True | False )*so isTrue.

True & False | True & False*is the same asTrue & ( False | True ) & False*so is*False.

True & False | True |+ False*is the same asTrue & ( False | ( True | False ) )*so isTrue.

Note that the order of the conditions can mean that some conditions are never evaluated. For instance, when two conditions are present and the one above an*And*is*false*then the condition below it will never be evaluated. This can be advantageous if the second condition takes relatively more resources e.g. involves matching against a lot of text.

Please see the section on*Flow Control*for more information. "
Responder Con Cita
Los siguientes 2 usuarios han agradecido a mlesir su comentario:
  #3  
Viejo 18/12/14, 07:45:42
Avatar de Caravantes
Caravantes Caravantes no está en línea
Usuario muy activo
Mensajes: 2,200
Compra y venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Versión de ROM: Android 8
Tu operador: Lowi
Mencionado: 59 comentarios
Tagged: 4 hilos
Cita:
Originalmente Escrito por mlesir Ver Mensaje
Usually, 2 or 3 conditions will be combined with all*Ands or all*Ors, but in order to allow more complicated logic, Tasker also offers*And*and*Or*in high-precedence versions. Of the 4 boolean operators which are available, the selection goes from low to high precedence ones.
Me parece que esa es la parte más interesante del asunto, y creo que podría traducirse más o menos así:

"Por lo general, 2 ó 3 condiciones se combinan con varios ANDs o varios ORs, pero con el fin de permitir la lógica más complicada, Tasker también ofrece AND y OR en versiones de alta precedencia. De los 4 operadores lógicos que están disponibles, la selección va de menos a más en orden de precedencia".

Incluso con la traducción me resulta un poco confuso: ¿evalúa primero lo que tiene menos precedencia? eso me parece contrario a la lógica. ¿Cuáles son los ¿CUATRO??? operadores? Yo cuento cinco: AND, OR, XOR, AND+, OR+; supongo que ha olvidado el XOR porque es muy poco utilizado.

Creo que los operadores de alta precedencia se aplican a casos como el siguiente, donde se muestran tres situaciones con resultados distintos según se establezcan las prioridades de pecedencia (que he representado mediante paréntesis y negrita):

%var1~A AND %var2=1 OR %var3 >0

%var1~A AND (%var2=1 OR %var3 >0)

(%var1~A AND %var2=1) OR %var3 >0

Esto que he dicho lo he deducido leyendo la página enlazada por Mlesir y un hilo del foro oficial, aunque tampoco entiendo del todo lo que se habla en ese hilo:
https://groups.google.com/forum/#!to...er/72IKEFcgd6o

Lo que no tengo claro es dónde hay que colocar los AND/OR precedentes (+), no sé si deben ir dentro de lo que yo he puesto entre paréntesis o fuera de ellos, porque tampoco me queda claro cómo interpretar el fragmento traducido de antes, todo resulta bastante confuso. Supongo que convendría comenzar a hacer un puñado de pruebas metódicas para tratar de averiguar cómo funciona realmente... y eso contando con que se hayan corregido los bugs o errores de los que se habla en hilo que he enlazado.

Por cierto, en las dos página citadas (la enlazada por Mlesir y el hilo que he referido) y en otros muchos documentos de informática o de lógica, los AND se suelen representar abreviadamente como "&" y los OR se suelen representar como "|". Del modo siguiente
%var1~A & %var2 =1 | %var3>0
Este detalle puede dejar absolutamente descolocado a quien no conozca este sistema de "abreviaturas".

Última edición por Caravantes Día 18/12/14 a las 07:48:08
Responder Con Cita
Gracias de parte de:
  #4  
Viejo 18/12/14, 10:46:50
Avatar de angelob
angelob angelob no está en línea
Miembro del foro
Mensajes: 351
Compra y venta: (6)
 
Fecha de registro: nov 2008
Localización: España
Mensajes: 351
Modelo de smartphone: Pixel 7 Pro
Versión de ROM: Stock
Tu operador: O2
Mencionado: 3 comentarios
Tagged: 0 hilos
Gracias
La verdad es que no queda claro, a hacer pruebas
Responder Con Cita
  #5  
Viejo 18/12/14, 23:15:46
Avatar de tito_chua
tito_chua tito_chua no está en línea
Miembro del foro
Mensajes: 121
 
Fecha de registro: feb 2009
Mensajes: 121
Modelo de smartphone: Lg G3
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
Perdonad que me aventure sin una lectura profunda del hilo.
Habitualmente en los lenguajes de programación de pc los and se interpretan de izquierda a derecha y en este orden cuando uno da false ya no sigue con la evaluación del resto, por cuestión de recursos.. Por ello deduzco que el and preferente se sitúa más hacia la izquierda que el and ordinario y por tanto se evalúa de los primeros...
Responder Con Cita
  #6  
Viejo 20/12/14, 00:56:09
Avatar de mlesir
mlesir mlesir no está en línea
Usuario muy activo
Mensajes: 2,263
 
Fecha de registro: abr 2012
Mensajes: 2,263
Modelo de smartphone: OnePlus One,BQ Edison1, GoogleChrome,
Versión de ROM: 4.4 Cyanogen
Tu operador: Pepephone
Mencionado: 36 comentarios
Tagged: 2 hilos
Como dice angelob "a hacer pruebas". Es tedioso y ya he comentado muchas veces que la información de tasker es uno de sus grandes defectos pero es lo se hay.
No queda otra que probar metódicamente y aprender como funcionan por experiencia.

Última edición por mlesir Día 20/12/14 a las 06:53:30
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Otro software para Android > Tasker


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 03:58:03 (GMT +2)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007