quinta-feira, 14 de março de 2013
Aprendendo RGSS do zero - Aula 02
Nesta aula vamos falar sobre os operadores!
- Introdução
Os operadores são instruções que usamos em conjunto das variáveis ou instâncias. É com o uso deles que fazemos cálculos aritméticos, declaramos uma variável, etc.
Vamos começar pelo de atribuição:
= => Atribui ou declara uma variável.
x = 10
+ e - => Soma e subtração, respectivamente.
var1 + var2
var3 = var2 - var1
Pode-se também usar += e -=, logo as expressões e os comentários são idênticos:
v += 10 # v = v + 10
v -= v # v = v - v
* e / => Multiplicação e divisão, respectivamente.
10 * 58
v / v
Também pode-se usar *= e /= como acima.
+ e - (Unários) => Sinal positivo e negativo, respectivamente:
-10
+58
! => Negador, troca o valor da expressão (verdadeiro ou falso):
!true # => false
!false # => true
&& ou and => AND (e), retorna verdadeiro se duas expressões forem verdadeiras, falso se pelo menos uma for falsa e falso se todas forem falsas.
true && true # => true
true && false # => false
false && false # => false
|| ou or => OR (ou), retorna verdadeiro se duas expressões forem verdadeiras, verdadeiro se pelo menos uma for falsa e falso se todas forem falsas.
true || true # => true
true || false # => true
false || false # => false
. => Usa-se para chamar uma variável ou método de uma classe ou módulo.
class A
attr_accessor :var
def metodo
msgbox "método chamado"
end
end
A.metodo # "método chamado"
A.var # valor de var
() => Usa-se para tornar uma expressão separada da outra, assim, evita-se que haja problemas com prioridade, também para chamar um método, porém não é obrigatório.
x = (10/2)*(5+8)-8 # => (5*13)-8
Há outros que serão apresentados futuramente.
- Propriedades dos operadores
Por conveniência e melhor legibilidade usa-se espaço para separar os operadores dos operandos, mas pode-se também escrever toda a expressão junta:
a=10+b*4 # a = 10 + b * 4
x*2/4-y # x * 2 / 4 - y
Há também prioridade entre os operadores, ou seja, a propriedade de um operador ser lido e interpretado antes do outro.
Aqui está a lista de prioridade, em ordem decrescente:
::
[]
**
-(unary) +(unary) ! ~
* / %
+ -
<< >>
&
| ^
> >= < <=
<=> == === != =~ !~
&&
||
.. ...
?:(conditional operator)
=(+=, -= ... )
not
and or
Vamos agora ver exemplos com prioridades.
a = 10*5-4
a = 98-10/2
A resposta será:
a = (10*5)-4 # 46
a = 98-(10/2) # 93
Pois os operadores * e / tem maior prioridade que + e -, logo são interpretados antes. Para mudar a o ordem de interpretação, separa-se a expressão com o operador parêntesis. Como mostrado acima.
Na próxima aula falaremos de estrutura de controle e outros operadores.
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário