0
Equals Not Equal?
Posted by Erik Gaius,aka [ K i r E ]
on
Friday, February 20, 2009, 12:51 PM
in
Tipz n Trix
USE THE FORCE este.. USE THE EQUALITY OPERATORS! Cguro etong equal sign na ang pinaka gamiting symbol pag nagproprogram keo.. Pero hindi lang pang set ng values ang equal sign! Pwede rin syang gawing OPERATOR, parang addition or subtraction sign!
Actually, kung tama ang pag gamit mo sa equal sign as an operator, magkaka performance boost ang program mo.. although ang kapalit nito ay konting readbility issues (meaning, kung hindi alam ng bumabasang programmer tung technique na to, bka malito sya..) try natin:
Ex#1) Isang common scenario: check if equal, then true, else false. Ilang beses ko na ba to ginawa sa mga MPs..
Ex#2) Kailangan mong bilangin kung ilan ang "True" between a small number of operations.. Medyo mas komplikado sa first example, pero same principle.. eto ung normal code
i = - True - False - True - False
i = - (-1) - 0 - (-1) - 0
i = 2
At tama nga! May dalawang true sa pinagpiliiang apat na operations! ^^
Eto pa mga extra tipz:
Ex#3) Need mo ng "check box effect", at integer ang napili mong lalagyan ng variable..
Ex#4) Need mo ulit ng "check box effect", integer ulit, pero ang pagpipilian ay 1 at 2..
Disclaimer: Baka hindi gumana ung example #2 sa linux systems.. baliktad kasi ang true/false values dun! Try nyu nlng, hindi ako sure...
Edit: Pahabol! Simple toggle kung boolean ang variable mo:
:D :D
Actually, kung tama ang pag gamit mo sa equal sign as an operator, magkaka performance boost ang program mo.. although ang kapalit nito ay konting readbility issues (meaning, kung hindi alam ng bumabasang programmer tung technique na to, bka malito sya..) try natin:
Ex#1) Isang common scenario: check if equal, then true, else false. Ilang beses ko na ba to ginawa sa mga MPs..
If X = 7 ThenPero using equality operator, pwede ring ganito..
myBoolean = True
Else
myBoolean = False
End If
MyBoolean = (X = 7)ieEvaluate nya muna ung nsa loob ng parethesis, which is basically 'Is X equal to 7?' at mag oOut ng boolean.. medyo nkklito dahil parang twice ka nag set ng value, pero tandaan nyo parati na ang nasa loob ng parenthesis ay palaging nauunang iEvaluate.. isa pa..
Ex#2) Kailangan mong bilangin kung ilan ang "True" between a small number of operations.. Medyo mas komplikado sa first example, pero same principle.. eto ung normal code
If X = 10 ThenThat's 13 lines of code, between 4 conditional statements at isang counter variable. Pansinin nyo na apat na beses na syang gumamit ng equality operator, pero pwede pa natin paiksiin to..
i = i + 1
End If
If Y = 10 Then
i = i + 1
End If
If Z = 10 Then
i = i + 1
End If
If W = 10 Then
i = i + 1
End If
debug.write i
i = -(X = 10) -(Y = 10) -(Z = 10) -(W = 10)WTF?! 1 Line. 4 Conditional statements, at hindi nagbilang ung counter natin, nag subtract lang. gagana kaya to? try natin...
i = - True - False - True - False
i = - (-1) - 0 - (-1) - 0
i = 2
At tama nga! May dalawang true sa pinagpiliiang apat na operations! ^^
Eto pa mga extra tipz:
Ex#3) Need mo ng "check box effect", at integer ang napili mong lalagyan ng variable..
If myInteger = 0 Thenpero mas mgnda siguro kung ganito:
myInteger = 1
Else
myInteger = 0
End If
myInteger = 1 - myIntegerSame effect yan. Kung 1 ung initial value, magiging 0 (dahil 1 - 1 = 0). Kung 0 nmn ung initial value, magiging 1 (dahil 1 - 0 = 1). Aus no? pero ndi lang yan..
Ex#4) Need mo ulit ng "check box effect", integer ulit, pero ang pagpipilian ay 1 at 2..
myInteger = 3 - myIntegerKta nyo ung pattern ng "check box effect"? Ang tawag dyan ay toggling.. as in toggle..
Disclaimer: Baka hindi gumana ung example #2 sa linux systems.. baliktad kasi ang true/false values dun! Try nyu nlng, hindi ako sure...
Edit: Pahabol! Simple toggle kung boolean ang variable mo:
myBoolean = not myBoolean
:D :D
Post a Comment