华域联盟 seraphzone Seraph 4.0版本以后的新的脚本示例

Seraph 4.0版本以后的新的脚本示例

4.0中,最重要的几大改如下:

- 允许数组相互直接赋值,并允许数组成为函数的参数。

- 允许在函数中调用后面声明的函数,即函数声明的先后与调用关系无关。使间接递归成为可能。

- 允许在定义了函数之后的脚本位置定义全局变量。这样USE子脚本中也可以声明全局变量了,使其功能可以更灵活。

以下分别对这几大改进举例说明


允许数组相互直接赋值,并允许数组成为函数的参数。

例1,数组相互直接赋值

function main

dim arr1[10]
arr1[1]=5

#将数组arr1整体COPY至arr2

arr2=arr1

#输出arr2[1]的值,应为5

Print(arr2[1])

end function

例2,数组作为参数

function fx(arr1, byref arr2)

Print(arr1[1])

#改变byref参数arr2中的某个元素的值

arr2[1]=10

end function

function main

dim arr1[10],arr2[10]
arr1[1]=5

fx(arr1, arr2)

#输出arr2[1]值。此值在fx函数中被改变,应输出10

Print(arr2[1])

end function

允许在函数中调用后面声明的函数,即函数声明的先后与调用关系无关。

function main

fx()

end function

#函数fx声明在main函数之后,同样可以被调用

function fx

Print("Hello")

end function

允许在定义了函数之后的脚本位置定义全局变量。

dim a

function fx

#a与b都是全局变量。即使b在后面才定义,也不影响它被前面声明的函数所调用

Print(a)

Print(b)

end function

dim b

function main

a=1

b=2

fx()

end function

技巧

利用这些新改进,在脚本中用USE来加载其他子脚本变的更强大。

我们知道,在脚本的任何位置,我们可以用

#USE 脚本名

来加载一个脚本的内容到当前位置。

之前由于dim定义只允许放在所有的函数定义之前,这使得在子脚本中放一些需要使用自定义的全局变量的函数变的很困难,特别是要USE多个这样的子脚本的时候。在4.0版本以后,这样的问题就解决了。

例:

主脚本内容:

function fx

end function

#use utils.ser

function main

#访问在子脚本中定义的全局变量

a=1

#访问在子脚本中定义的函数

myPrint()

end function

子脚本utils.ser内容:

dim a

function myPrint

Print(a)

本文由 华域联盟 原创撰写:华域联盟 » Seraph 4.0版本以后的新的脚本示例

转载请保留出处和原文链接:https://www.cnhackhy.com/84585.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

下一篇

已经没有了

发表评论

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: admin@cnhackhy.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部