Tentando descobrir uma solução para alguns problemas no Caché/Ensemble da Intersystems, me deparo com o seguinte pedaço de código:
i ..sqlcode'=-0 q
Para os não-iniciados em Caché Object Script (a linguagem do Caché):
i - abreviação do comando if!!! Oh yeah baby, em Caché ou você escreve if ou abrevia para um singelo i. Só isso já mereceria um WTF pra ele.
.. - indica que o elemento a seguir pertence a classe. Em Java seria this, em Pascal, self
sqlcode - apenas o identificador de uma variável local
'= - operador de diferença. Em Java seria !=, em Pascal, <>
q - abreviação do comando quit. O comando quit, ou q, como queiram, serve para: sair de um loop ou sair de um método. Em Java seria um break ou um return, respectivamente.
Agora o que não tem explicação é o "-0".
Por que alguém compara alguma coisa com menos zero, e não com zero? Tá certo que o Caché não é muito fã de matemática (vide a precedência de operadores), mas ele sabe que menos zero e zero são a mesma coisa. Ou será que não, para nossos intrépidos colegas da Intersystems?
Eu acho que alguém acabou esquecendo o sinal lá...
4 comentários:
achei interessante o fato de abreviar o IF, afinal trata-se de economizar 50% da codificação. :-)
talvez ele estava comparando com outro valor e depois colocou zero.. mas a resposta ideal seria "tem coisas que só o caché faz para você, para todas as outras existe oracle"
Hertu
hohoho.. oia eu aqui tb! XD
o que é caché?? caché.. col??
um desodorante que atrai mulherada??
Seria interessante voce deixar claro ao visitantes que o Caché em sua base é lexicográfico!!!
Fui...
Postar um comentário