Skip to main content

Portas Lógicas

CategoryMundo
logic-gates
Category
Mundo

Overview

Portas Lógicas são entidades conectadas por Fio que calculam um sinal de saída com base em se suas entradas são truthy. A maioria dos Logic Gates sempre emite 1 ou 0, representando respectivamente resultados truthy e não-truthy. O Transistor Gate é uma exceção: ele pode encaminhar e emitir qualquer tipo de sinal e produz null (não 0) quando sua entrada de habilitação não é truthy.

Signals têm truthiness determinada pelo seu tipo. Null, Conflict e Integer = 0 não são truthy. Integer ≠ 0, Shape e Color são truthy. Portas Lógicas avaliam as entradas usando essa truthiness, não por conversão numérica implícita além das regras de Integer acima.

Os gates principais se comportam da seguinte forma. O AND Gate emite 1 somente quando ambas as entradas são truthy; caso contrário emite 0. O OR Gate emite 1 quando pelo menos uma entrada é truthy; se nenhuma entrada for truthy emite 0. O XOR Gate emite 1 quando exatamente uma entrada é truthy; se ambas ou nenhuma entrada forem truthy emite 0. O NOT Gate emite 1 quando sua entrada não é truthy e emite 0 quando a entrada é truthy. O Comparison Gate compara seus dois sinais de entrada de acordo com um modo de comparação selecionado (Equal, NotEqual, Greater, GreaterEqual, Less, LessEqual). Nos modos Equal e NotEqual ele funciona para todos os tipos de sinal e testa igualdade/inequalidade estrita, emitindo 0 ou 1. Nos modos de comparação numérica (Greater, GreaterEqual, Less, LessEqual) só produz um resultado não-zero quando ambos os sinais são integers; se qualquer uma das entradas não for integer a saída é 0. O Transistor Gate encaminha o sinal recebido pela sua traseira somente quando a entrada lateral é truthy; quando a entrada lateral não é truthy sua saída é null. O Transistor Gate pode emitir qualquer tipo de sinal transportado pela sua entrada traseira, tornando-o o único gate capaz de encaminhar Shape, Color, valores inteiros diferentes de 0, ou outros sinais não booleanos.

Logic signals acionam outras entidades de maneiras específicas. O Belt Filter usa o sinal de Wire para escolher qual correia de saída recebe shapes: Null ou Conflict bloqueiam totalmente a correia; Integer = 0 envia todos os shapes para a saída lateral; Integer ≠ 0 envia todos os shapes pela saída reta; sinais Shape permitem que shapes correspondentes passem pela saída reta enquanto enviam shapes não correspondentes para a lateral; sinais Color fazem o filtro enviar todos os shapes para a lateral. O Pipe Gate controla o fluxo de fluidos: Null, Conflict e Integer = 0 bloqueiam fluidos; Integer ≠ 0 permite fluxo; Color permite fluxo somente se o fluido corresponder ao sinal de color. O Belt Reader mostra a taxa de shapes por minuto que passam por ele e emite o Shape Signal para os shapes em sua saída Wire.

  • As saídas dos Logic Gate dependem exclusivamente da truthiness das entradas, não de casting implícito além das regras declaradas.
  • Use Transistor Gate para controlar tipos arbitrários de sinal; lembre-se que ele emite null quando desabilitado em vez de 0.
  • Use Comparison Gate nos modos Equal/NotEqual para tipos não numéricos; use os modos de comparação numérica apenas quando ambas as entradas forem integers.
  • Ao ligar filtros ou pipes, verifique o tipo de sinal esperado (Shape, Color, integer) porque o comportamento difere conforme a entidade alvo.

References to this (2)

Other entities of this type

Related pages

Last updated: