2013-03-20 23 views
5

VBScript numaralı telefona ifadeleri arasındaki sınırlamaları anlamaya çalışıyorum. Harfler dışında hiçbir şey kullanamadım. sonra mantıksal ben böyle bir şey yapabileceğini bekliyoruz "hepsi aritmetik veya mantıksal operatörler içeren" eğer YaniVBScript'teki Const ifadesinin anlaşılması

Literal or other constant, or any combination that includes all arithmetic or logical operators exceptIs.

: Ne the docs say olan

Const X = (1 + 2) 

Ama bu hatayı "Beklenen değişmez sabit getiriyor ". Bazı düzeyde bir hile sağlayan ilginç bir yanıt here buldum, yukarıdaki ile yapılabilir:

Execute "Const X = " & (1 + 2) 

Ama benim sorum standart sabit bildiriminde hakkındadır. Şans eseri dokümanlar "İfade sadece SADECE olabilir" gibi bir şey söyledi, o zaman asla sormazdım.
Öyleyse Else (literal dışında) kullanabilirim?

Constants are public by default. Within procedures, constants are always private; their visibility can't be changed. Within a script, the default visibility of a script-level constant can be changed using the Private keyword.

To combine several constant declarations on the same line, separate each constant assignment with a comma. When constant declarations are combined in this way, the Public or Private keyword, if used, applies to all of them.

You can't use variables, user-defined functions, or intrinsic VBScript functions (such as Chr) in constant declarations. By definition, they can't be constants. You also can't create a constant from any expression that involves an operator, that is, only simple constants are allowed. Constants declared in a Sub or Function procedure are local to that procedure. A constant declared outside a procedure is defined throughout the script in which it is declared. You can use constants anywhere you can use an expression.

italik biraz üzerindeki bir anlamsız hale getirir iddia "tüm matematiksel veya dışında mantıksal operatör içerir ya da herhangi bir kombinasyon halinde mi":

+0

Eski iyi Microsoft muğlaklığı. Eğer parantez olmadan ilkini yaparsanız, ne olur? – bugmagnet

+0

test.vbs (1, 16) Microsoft VBScript derleme hatası: Beklenen değişmez sabit – bugmagnet

+0

Hızlı yanıt için teşekkürler. Parantezler kesilirse, fark yok, aynı hata – seeker

cevap

3

Script56.chm Açıklamalar bölümünde aşağıdaki söylüyor.

+0

Huh, açıkça çelişki :) Yani, Önerilerinizin bölümünün doğru olduğunu mu söylüyorsun? – seeker

+0

Bu benim almam olabilir, evet. Belki de iki (veya daha fazla?) Insanın dokümanlar yazdığı ve iyi iletişim kurmadığı ya da Const gösteriminin daha güçlü olacağı, ancak sonunda hiçbir zaman tam olarak bulamayacağıydı. Her iki durumda da bir çelişki var ve VBScript ile ilgili deneyimim, Okumaların okunmasını destekliyor. – bugmagnet

+0

Deneyiminize güveniyorum ve bunu cevap olarak kabul ediyorum, teşekkürler. – seeker