|
| + og & Fra : Rune Jensen |
Dato : 07-02-08 11:54 |
|
Er der forskel i at bruge + og & i strengoperationer i ASP/VB-script?
Grunden til, jeg spørger er, at jeg synes, jeg har observeret, man
ikke altid får samme resultat hvadenten man bruger det ene eller det
andet (men jeg har ikke kunnet isolere det helt)
med strengoperaton menes
a = "text" & "text2"
b = b +1
a = "text" + "text2"
b = b &1
...har de nøjagtig samme funktion? & er da også en boolsk operator,
eller hvad?
MVH
Rune Jensen
| |
Tomasz Otap (08-02-2008)
| Kommentar Fra : Tomasz Otap |
Dato : 08-02-08 02:53 |
|
On 7 Feb., 19:54, Rune Jensen <runeofdenm...@gmail.com> wrote:
> Er der forskel i at bruge + og & i strengoperationer i ASP/VB-script?
> [snip]
> ...har de nøjagtig samme funktion? & er da også en boolsk operator,
> eller hvad?
Hej Rune,
Interessant, jeg har aldrig lagt mærke til, at VBScript accepterer
brug af + til at sammenlægge strenge. :) Men & er defineret som
operator til strengesammenlægning mens + er defineret som matematisk
operator. Derfor må der være en forskel på den implicitte
konvertering, der foretages hvis du forsøger at sammenlægge variabler
af de to forskellige typer (tal vs. strenge). + vil forsøge at
konvertere strengvariabler til talværdier, mens & vil fortrinsvis
konverte tal til strenge.
Prøv f.eks.:
response.write 1 & "1" (udskriver 11, sammenlagt streng)
response.write 1 + "1" (udskriver 2, summen af tallene)
response.write 1 & 1 (udskriver 11, sammenlagt streng)
response.write 1 & "en" (udskriver 1en, sammenlagt streng)
response.write 1 + "en" (returnerer konverteringsfejl)
Hvis begge variabler er strenge, ser det ud til, at VBScript blot
foretager en almindelig strengsammenlægning, uanset indholdet:
response.write "1" + "1" (returnerer 11, sammenlagt streng)
t
| |
Kim M. Jørgensen (08-02-2008)
| Kommentar Fra : Kim M. Jørgensen |
Dato : 08-02-08 11:12 |
|
Der er en forskeld
f.eks med
<%
a=4
b=2
response.write a & b ' vil udskrive 42
response.write a + b ' vil udskrive 6
%>
Så hvsi dine variabler eller lignende indeholder tal er det smartest at
bruge &
Men hvis de kun indeholder tekst gør det ikke nogen forskeld.
Men for en ordensskyld er det nok bedst generelt altid at bruge & når amn
ønsker at sammensætte strenge og lignende for ikke at løbe ind i problemer.
"Rune Jensen" <runeofdenmark@gmail.com> skrev i en meddelelse
news:d22ee43f-6126-4d2f-83b5-0ab4eb9f9e24@f10g2000hsf.googlegroups.com...
Er der forskel i at bruge + og & i strengoperationer i ASP/VB-script?
Grunden til, jeg spørger er, at jeg synes, jeg har observeret, man
ikke altid får samme resultat hvadenten man bruger det ene eller det
andet (men jeg har ikke kunnet isolere det helt)
med strengoperaton menes
a = "text" & "text2"
b = b +1
a = "text" + "text2"
b = b &1
....har de nøjagtig samme funktion? & er da også en boolsk operator,
eller hvad?
MVH
Rune Jensen
| |
Rune Jensen (08-02-2008)
| Kommentar Fra : Rune Jensen |
Dato : 08-02-08 11:40 |
|
On 8 Feb., 11:11, "Kim M. Jørgensen" <kim-rem...@teledi.dk> wrote:
> Der er en forskeld
>
> f.eks med
> <%
> a=4
> b=2
> response.write a & b ' vil udskrive 42
> response.write a + b ' vil udskrive 6
> %>
>
> Så hvsi dine variabler eller lignende indeholder tal er det smartest at
> bruge &
> Men hvis de kun indeholder tekst gør det ikke nogen forskeld.
Mange tak til jer begge for gode svar. Så kan jeg da bedre forstå, mit
lille ASP-projekt opførte sig så uforudsigeligt
MVH
Rune Jensen
| |
|
|