Hej hopp alla glada! Hej. Jag väljer att bidra med en rätt smart if-sats: Jag har tyvärr inte if-satsen kvar men historian kommer jag mycket väl ihåg :-) En i c++ som kom att kräva min chef på en hel del tankearbete: En procedur som bara utför något vid första anropet. Antar jag som är amatör c++ programmerare? *haha!* Ibland behöver man inte skriva IF alls betänk detta. Andreas har helt rätt, motsvarande kod i vb skulle bli: Jag har en lysande If-sats som jag använder när jag temporärt vill utesluta körning av ett större parti av min kod. Enklare än att kommentera bort den med enkelfnutten. ett bättre sätt är att använda villkorskompilering: Jag väljer att bidra med ett mIRC-script som har följande funktioner: min favorit som jag gissar kommer från C eller nåt annat briljant språk och som dessutom fungerar i de flesta språken är iif (tror jag det heter) Kan skriva två mer eller mindre roliga saker som har med VB .NET att göra. Kan inte direkt påstå att jag använt mig av dessa konstruktioner i nåt program men kul är de (hoppas jag!). Tycker att följande kod ofta dyker upp i VBS Martin Adrian: "korrekt så ska det väl va... jag har sett följande i C++: Av någon anledning så brukar min kod vara pepprad med satser som denna då jag arbetar med databaskomponenter: En liten if-sats för att ta fram absolutbeloppet :-) Hade något liknande det absolutbeloppet för några (ganska många =) ) år sedan.Bidra med din If-sats!
Ja tänkte starta en tråd där alla kan bidra med sina mest konstiga, invecklade och urbotat dumma If-satser.
Skulle vara kul om det fanns någon slags historia och/eller bakomliggande förklaring till uppkomsten av Din If-sats.
Så kom igen!
Skapar du något under extrem trötthet och dagen där på brister ut i hysteriskt skratt åt det du lyckats skapa, så låt oss få skratta med dig.Sv: Bidra med din If-sats!
På mitt jobb går en skröna om följande if-sats:
PL/SQL
<code>
IF A=1 THEN
null;
ELSIF A=2 THEN
null;
ELSE
null;
END IF;
</code>Sv: Bidra med din If-sats!
<code>
Public Sub ListDir(Path As String)
Dim FileName As String
FileName = Dir$(Path)
If FileName = "." Then
Dir
FileName = Dir$
End If
Do While Len(FileName)
Debug.Print FileName
FileName = Dir$
Loop
End Sub
</code>
Om man listar kataloger med dir funktionen retunerar den "." och ".." för alla kataloger utan roten på en enhet. Har sett folk som lägger kontrollen i loopen och kontrollerar om det är "." eller "..". Eftersom det alltid kommer först kan man spara prestanda genom att bara göra en kontroll innan loppen.Sv: Bidra med din If-sats!
Det var under min utbildning, min mentor var extremt omedgörlig och vägrade hjälpa mig med en sak jag höll på med. Jag var på väg att bli tvärtokig.
Efter 3 dagar slit, mycket förbannande över min mentor hade jag med mycket frustration lyckats få ihop en ifsats på ca 27 rader som jag mycket stolt visade upp för min mentor. Han kikar på den ser helt förryckt ut och vrålar högt IFIFIFIFIFIFIFIFIF :-)
Sätter sig ner och på 1 minut ca skriver en 5 raders kod som utförde det som det hade tagit mig 3 dagar att få ihop på ca 27 rader och en miljon if-satser :-)))
Oj, va jag ogillade min mentor just då :-)))
Tilläggas bör är att jag är mycket tacksam mot min mentor idag för att han var så omedgörlig och lät mig lista ut saker på egen hand :-)Sv: Bidra med din If-sats!
int dostuff()
{
static bool b = true;
if (b)
{
// dostuff here
i = i * 2
b = !b;
}
return i;
}
Detta är extremt konstruerat men metoden kan man ha riktigt mycket nytta av ibland...Sv: Bidra med din If-sats!
Sv: Bidra med din If-sats!
Om man vill ha noll till ngt så e ju detta ett sätt.. smart!Sv: Bidra med din If-sats!
Istället för att skriva
If x > 0 Then
y = 1
Else
y = 0
End If
Kan du skriva
y = -(x > 0)Sv: Bidra med din If-sats!
Function doStuff() As Integer
Static b As Boolean
If b Then
i = i * 2
b = True
End if
doStuff = i
End FunctionSv: Bidra med din If-sats!
Kod
If 1=2 then
Kod som inte ska exekveras
End If
Mer kod
//JanneSv: Bidra med din If-sats!
#Const bortmeddig = true
Kod
#If bortmeddig Then
Kod som inte ska exekveras
#End if
mer kod
sen växlar du bara true / false...Sv: Bidra med din If-sats!
* Lägga till citat från bash.org
* Visa antal citat i den lokal filen
* Visa specifik rad i filen
* Slumpa fram ett citat
Om ni använder det här scriptet så skulle jag uppskatta om ni hörde av er till mig.
<code>
; Bash.org adder by Hjorten.
; .addbash <value> - adds quote to the file.
; .bash - returns random quote from the file.
; .bash <value> - returns specific quote.
; .bashinfo - returns number of lines from the file.
on *:TEXT:*:#:{
if ($1 == .addbash) {
if ($2) {
var %x = 1
while (%x <= $lines(bash.txt)) {
if ($read(bash.txt,%x) == $+(http://www.bash.org/?,$2)) { .notice $nick Quote already exists. | return }
inc %x
}
write bash.txt http://www.bash.org/? $+ $2
.notice $nick Added quote $2 on line $lines(bash.txt) $+ .
}
elseif (!$2) {
.notice $nick Doh, you gotta write something after .addbash.
}
}
elseif ($1 == .bash) {
if ($2 != $null) {
if ($read(bash.txt,$2) == $null) {
msg $chan $2 does not exist in the file.
}
elseif ($read(bash.txt,$2) != $null) {
msg $chan $2 $+ / $+ $lines(bash.txt) $+ : $read(bash.txt,$2)
}
}
elseif ($2 == $null) { msg $chan $read(bash.txt) }
}
elseif ($1 == .bashinfo) { msg $chan There are $lines(bash.txt) quotes in the file. }
}
</code>Sv: Bidra med din If-sats!
string kalle="svenne";
string olle=kalle=="svenne"?"olle":kalle;
motsvarar:
<code>
string kalle="svenne";
string olle="";
if(kalle=="svenne)olle="svenne";
else olle=kalle;
</code>Sv: Bidra med din If-sats!
- - -
If Sagt_A() Then
Saga_B()
End If
Det vill säga, har du sagt A får du säga B ;-)
- - -
Call 911()
Vanligt förekommande i amerikanska polisserier...
- - -
/Marcus
[ http://www.anma.se/ ]Sv: Bidra med din If-sats!
If xxx = True Then
...
Undrar varför de inte skriver
If (xxx = TRUE) = TRUE Then
...Sv: Bidra med din If-sats!
Eller varför inte
<code>
If True = True Then
...
End If
</code>
;-)
korrekt så ska det väl va...
<code>
If xxx Then
...
End If
</code>
kort å gott.
Något jag sett är
<code>
If xxx Then
If Not xxx Then
...
End If
End If
</code>Sv: Bidra med din If-sats!
If lll Then
...
End If "
Håller inte med, jag gillar att vara tydlig så jag skriver nästan alltid
<code>
if (lll==true)
</code>
Framförallt tycker jag att NOT-operatorn i C# är otydlig så jag föredrar
<code>
if (lll==false)
</code>
framför
<code>
if (!lll)
</code>
Jag valde avsiktligt att döpa variablen till "lll" i stället för "xxx" för att förtydliga min poäng. Jag gillar att vara tydlig, kanske är det en gammal vana från min tid som VB-kodare, vad vet jag. Men det är absolut inte FEL att vara tydlig...
[Edit : Det beror ju lite på vilken font som används, men bokstaven l och ! är lite för lika för min smak]
[Edit 2 : Dessutom gillar jag inte fonter där två likamed-tecken flyter ihop :-) ]Sv: Bidra med din If-sats!
if (!(!(!(!(!(FirstTime)))))) FirstTime = !FirstTime;
Försök att nysta ut den vid första anblicken!Sv: Bidra med din If-sats!
<code>
If theData Is Nothing Then Return Nothing
</code>
Eller så blir det såhär istället
<code>
If dt.IsTrafficRouteIDNull _
OrElse dt.TrafficRouteID < 1 _
OrElse dt Is Nothing _
OrElse dt.TrafficRoutes.FindByTrafficRouteID(.TrafficRouteID) Is Nothing Then
</code>Sv: Bidra med din If-sats!
if (tal < 0)
tal = (tal-tal)-tal;Sv: Bidra med din If-sats!
Typ
Select Case tal
Case Is <0: tal=tal
Case 0: tal=tal
Case Is <0: tal=sgn(tal)*tal
End Select
Kommer ihåg att jag hade lite svårt att få ihop formlerna ordentligt... samma sak när jag skulle hitta perfekta tal när jag nyss hade börjat programmera. Var väl 8 år kanske.
Visste vad perfekta tal var, lyckades tänka ut en algoritm för att få fram dem, och visste hur jag kodmässigt skulle lösa det (idéer om arrayer, etc., etc.), men det hela föll på att jag inte visste hur jag skulle kunna avgöra om ett tal var jämnt delbart med ett annat!
=)
Hade kommit på olika lösningar för om jag fick reda på hur man tog fram decimal-delen av ett tal, om man fick fram heltalsdelen av ett tal, om hur man kunde göra heltalsdivision, etc., etc. Tyvärr fick jag inte reda på något av grejerna förrän flera år senare... haha