31. maj 2005 - 14:59Der er
13 kommentarer og 2 løsninger
Boolean variabler
Jeg syntes det kan virke lidt forvirrende når man i sin kode opretter en boolean variabel og sætter den til enten true eller false og bruger den efterfølgende i koden. Noget der kan virke uoverskueligt er fx følgende eksempel:
boolean isThere = false;
{ bla. bla. bla.
}
if (!isThere) { }
Selvom isThere har nu modsat værdi, dvs. true, hvorfor kan den gå ind i if løkken, og hva skal gælde for at den ikke gør det.
Er der nogen der kan forklare hvordan man bruger dem. Eller hvis nogen har skrevet en artikel om dem, så refererer venligst.
<ksoren> Jeg forestiller mig en kasse hvori variablen isThere eksisterer, og jeg sætter den til at pege på falsk, når jeg opretter den. Så hvor dælen kommer nullet ind i det hele ;0) Som boolen kan den kun pege på enten false, eller true.
! negerer - om man siger true/false eller 1/0 er vel en tanke måde hvis isThere er true så er !isThere false hvis isThere er false så er !isThere true en if sætning er opfyldt hvis betingelsen giver sand altså true Med andre ord er din if sætning opfyldt hvis isThere er false
Om så performance mæssigt ! er at foretrække fremfor != tør jeg ikke vove mig meget ud i Men jeg kunne forestille mig at ! er hurtigst i og med det er en operator som _kun_ opererer på sandheds værdier.
en if sætning er i øvrigt altid kun opfyldt hvis betingelsen er true Man kunne pseudo skrive sådan her -- if (x = 2) {gør noget} evalueres som if ((x=2)==true){gør noget} -- igen med din sætning -- if (!isThere) {gør noget} evalueres som if (!isThere == true) {gør noget} og denne giver jo kun true hvis !isThere er true , dvs hvis isThere = false
Ok busschou - mange tak for dine kommentarer. Jeg syntes bare at når jeg ser koder med boolean variabler, og jeg forstår det pågældende kode, så bliver jeg forvirret når jeg ser et andet kode eks. Men jeg husker det du har skrevet og prøver at forstå dem igen. Tak !
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.