Sideway
output.to from Sideway






Draft for Information Only

VBScript Script Engine Functions

Functions for manipulating local of engine.

Eval Function

last updated 2017/9/18

Create a evaluation result from a given expression.

Syntax

Eval(expression)

Argument

expressionRequired. Any valid String expression of a legal VBScript.

Returns

Returns a Variant of data subtype according to the evaluation result to contain the evaluation result obtained from a given expression.

Remarks

  • Eval function can be used to simulate the execution of a legal VBScript expression by processing the VBScript expression as a String expression indirectly for increasing the flexibility.
  • In VBScript, x = y can be interpreted two ways. The first is as an assignment statement, where the value of y is assigned to x. The second interpretation is as an expression that tests if x and y have the same value. If they do, the result is True; if they are not, the result is False. The Eval method always uses the second interpretation, whereas the Execute statement always uses the first.
  • In Microsoft JScript, no confusion exists between assignment and comparison, because the assignment operator (=) is different from the comparison operator (==).

Requirement

5

Examples

Examples of Eval function

ASP VbScript Command:
<script runat="server" language="VBScript">
Dim vars,strs,cmda,var:var=0
cmda=array("strs","ans","Eval(""strs"")","Eval(strs)")
Dim ucnt,tmp,i:ucnt=UBound(cmda):If var=1 Then:tmp="":Else:tmp="<b>vars</b>":End If:For i=0 to ucnt:tmp=tmp&"<b>"&rmv_ctrl(cmda(i))&", TypeName</b>":Next:Response.Write "Results on Microsoft Windows 8.1 Pro x64, Microsoft-IIS/8.5, VBScript Version 5.8 of page /sideway/default.asp<br />"&"<i>"&tmp&"</i>"
Function dsp_x:Dim tmp_a,tmp_b,i:If varx=0  Then:Execute vars:End If:If var=1 Then:tmp_a="":Else:tmp_a=rmv_ctrl(vars):End If:For i=0 to ucnt:tmp_b=cmd_b(cmda(i)):if i/2=fix(i/2) Then:tmp_b="<b>"&tmp_b&"</b>":End If:tmp_a=tmp_a&tmp_b:Next:Response.Write "<i>"&tmp_a&"</i>":End Function
Function rmv_ctrl(blk_str):Select Case blk_str:Case chr(0):blk_str="NUL":Case chr(1):blk_str="SOH":Case chr(2):blk_str="STX":Case chr(3):blk_str="ETX":Case chr(4):blk_str="EOT":Case chr(5):blk_str="ENQ":Case chr(6):blk_str="ACK":Case chr(7):blk_str="BEL":Case chr(8):blk_str="BS":Case chr(9):blk_str="HT":Case chr(10):blk_str="LF":Case chr(11):blk_str="VT":Case chr(12):blk_str="FF":Case chr(13):blk_str="CR":Case chr(14):blk_str="SO":Case chr(15):blk_str="SI":Case chr(16):blk_str="DLE":Case chr(17):blk_str="DC1":Case chr(18):blk_str="DC2":Case chr(19):blk_str="DC3":Case chr(20):blk_str="DC4":Case chr(21):blk_str="NAK":Case chr(22):blk_str="SYN":Case chr(23):blk_str="ETB":Case chr(24):blk_str="CAN":Case chr(25):blk_str="EM":Case chr(26):blk_str="SUB":Case chr(27):blk_str="ESC":Case chr(28):blk_str="FS":Case chr(29):blk_str="GS":Case chr(30):blk_str="RS":Case chr(31):blk_str="US":Case chr(127):blk_str="DEL":End Select:rmv_ctrl=blk_str:If IsNull(blk_str) OR IsEmpty(Blk_str) OR blk_str="" OR IsNumeric(Blk_str) Then:Else:rmv_ctrl=Replace(Replace(Replace(Replace(Replace(blk_str,"&","&amp;"),"  "," &nbsp;"),"""","&quot;"),"<","&lt;"),">","&gt;"): End If :End Function
Function cmd_b(blk_str):cmd_b="["&cmd_x(blk_str)&"], "&cmd_x("TypeName("&blk_str&")"):End Function
Function cmd_x(blk_str):On Error Resume Next:Dim xans, tmp:xans="":tmp="":execute "xans="&blk_str:If Err.Number <> 0  Then:xans=cmd_x("TypeName("&blk_str&")"):Select Case xans:Case 9::Case Else:xans="error":End Select:End If:If IsArray(xans)=False Then:cmd_x=rmv_ctrl(xans): Else:tmp=lst_arry(xans):cmd_x=trim(tmp):End If:End Function
Function lst_arry(blk_str):Dim tmp,i,q:q="""":tmp="":For i=0 to UBound(blk_str):if VarType(blk_str(i))>1 And VarType(blk_str(i))<6 Then:q="'":End If:tmp=tmp&" "&q&rmv_ctrl(blk_str(i))&q:Next:lst_arry=trim(tmp):End Function

vars="strs=""a"":ans=Eval(strs)":dsp_x
vars="strs=""a=b""":ans=Eval(strs):dsp_x
vars="strs=""2+3"":ans=Eval(strs)":dsp_x
vars="strs=""a=a&b"":ans=Eval(strs)":dsp_x
vars="strs=""""""ab"""""":ans=Eval(strs)":dsp_x
vars="strs=log(1):ans=Eval(strs)":dsp_x
vars="strs=""log(1)"":ans=Eval(strs)":dsp_x
vars="Function reftest():reftest=""reftestok"":End Function:strs=Null:ans=""""":Execute vars:dsp_x
vars="strs=""reftest"":ans=Eval(strs)":dsp_x
vars="strs=""reftest"":Set ans=GetRef(strs)":dsp_x
vars="strs=""reftest"":ans=GetRef(strs)":dsp_x
vars="strs=""reftest"":ans=Eval(""GetRef(strs)"")":dsp_x
vars="strs=""GetRef(""""reftest"""")"":ans=Eval(strs)":dsp_x
</script>
HTML Web Page In-line Output:
Results on Microsoft Windows 8.1 Pro x64, Microsoft-IIS/8.5, VBScript Version 5.8 of page /sideway/default.asp
varsstrs, TypeNameans, TypeNameEval("strs"), TypeNameEval(strs), TypeNamestrs="a":ans=Eval(strs)[a], String[], Empty[a], String[], Emptystrs="a=b"[a=b], String[], Empty[a=b], String[True], Booleanstrs="2+3":ans=Eval(strs)[2+3], String[5], Integer[2+3], String[5], Integerstrs="a=a&b":ans=Eval(strs)[a=a&b], String[True], Boolean[a=a&b], String[True], Booleanstrs="""ab""":ans=Eval(strs)["ab"], String[ab], String["ab"], String[ab], Stringstrs=log(1):ans=Eval(strs)[0], Double[0], Double[0], Double[0], Doublestrs="log(1)":ans=Eval(strs)[log(1)], String[0], Double[log(1)], String[0], DoubleFunction reftest():reftest="reftestok":End Function:strs=Null:ans=""[], Null[], String[], Null[], Nullstrs="reftest":ans=Eval(strs)[reftest], String[reftestok], String[reftest], String[reftestok], Stringstrs="reftest":Set ans=GetRef(strs)[reftest], String[reftestok], Object[reftest], String[reftestok], Stringstrs="reftest":ans=GetRef(strs)[reftest], String[reftestok], String[reftest], String[reftestok], Stringstrs="reftest":ans=Eval("GetRef(strs)")[reftest], String[reftestok], String[reftest], String[reftestok], Stringstrs="GetRef(""reftest"")":ans=Eval(strs)[GetRef("reftest")], String[reftestok], String[GetRef("reftest")], String[reftestok], Object

┬ęsideway

ID: 180400009 Last Updated: 2018/4/9 Revision:

IMAGE

Home (1)

Business

Management

HBR (3)

Information

Recreation

Hobbies (7)

Culture

Chinese (1097)

English (334)new

Reference (60)

Computer

Hardware (148)

Software

Application (187)

Digitization (24)

Numeric (19)

Programming

Web (533)

HTML

Knowledge Base

Common Color (1)

Html Entity (Unicode) (1)

Html 401 Special (1)

OS (366)

MS Windows

Windows10 (1)

DeskTop (5)

Knowledge

Mathematics

Formulas (8)

Number Theory (128)new

Algebra (14)

Trigonometry (18)

Geometry (18)

Calculus (66)

Engineering

Tables (8)

Mechanical

Control

Process Control (1)

Mechanics (1)

Rigid Bodies

Statics & Dynamics (128)

Fluid (5)

Fluid Kinematics (5)

Acoustics (19)

FiniteElement (2)

Biology (1)

Geography (1)


facebook
Latest Updated Links

Copyright © 2000-2018 Sideway . All rights reserved Disclaimersfacebook last modified on 08 Mar 2018