SET /A expression
SET /P variable=[promptString]
-表达式分隔符
如果您使用任何逻辑或取余操作符,您需要将表达式字符串用引号扩起来。在表达式中的任何非数字字符串键作为环境变量名称,这些环境变量名称的值已在使用前转换成数字。如果指定了一个环境变量名称,但未在当前环境中定义,那么值将被定为零。这使您可以使用环境变量值做计算而不用键入那些 % 符号来得到它们的值。如果 SET /A 在命令脚本外的命令行执行的,那么它显示该表达式的最后值。该分配的操作符在分配的操作符左边需要一个环境变量名称。除十六进制有 0x 前缀,八进制有 0 前缀的,数字值为十进位数字。因此, 0x12 与 18 和 022 相同。请注意八进制公式可能很容易搞混: 08 和 09 是无效的数字,因为 8 和 9 不是有效的八进制位数。
/P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入行之前,显示指定的 promptString。promptString 可以是空的。
环境变量替换已如下增强:
%PATH:str1=str2%
会扩展 PATH 环境变量,用 str2 代替扩展结果中的每个 str1。要有效地从扩展结果中删除所有的 str1,str2 可以是空的。str1 可以以星号打头;在这种情况下,str1 会从扩展结果的开始到 str1 剩余部分第一次出现的地方,都一直保持相配。
也可以为扩展名指定子字符串。
%PATH:~10,5%
会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏移量10)字符开始的五个字符。如果没有指定长度,则采用默认值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,使用的数字则是环境变量数值长度加上指定的偏移量或长度。
%PATH:~-10%
会提取 PATH变量的最后十个字符。
%PATH:~0,-2%
会提取 PATH 变量的所有字符,除了最后两个。
终于添加了延迟环境变量扩充的支持。该支持总是按默认值被停用,但也可以通过 CMD.EXE 的 /V 命令行开关而被启用/停用。
请参阅CMD /?
考虑到读取一行文本时所遇到扩充的限制时,延迟环境变量扩充是很有用的,而不是执行的时候。以下例子说明直接变量扩充的问题:
t VAR=before
if %VAR% == before (
t VAR=after
if %VAR% == after @echo If you e this, it worked
)
不会显示消息,因为在读到第一个 IF 语句时,BOTH IF 语句中的 %VAR% 会被代替;原因是: 它包含 IF 的文体,IF 是一个复合语句。所以,复合语句中的 IF 实际上是在比较 before 和after,这两者永远不会相等。同样,以下这个例子也不会达到预期效果:
t LIST=
for %i in (*) do t LIST=%LIST% %i
echo %LIST%
原因是,它不会在目录中建立一个文件列表,而只是将LIST 变量设成找到的最后一个文件。这也是因为 %LIST% 在FOR 语句被读取时,只被扩充了一次;而且,那时的 LIST 变量是空的。因此,我们真正执行的 FOR 循环是:
for %i in (*) do t LIST= %i
这个循环继续将 LIST 设成找到的最后一个文件。
延迟环境变量扩充允许您使用一个不同的字符(惊叹号)在执行时间扩充环境变量。如果延迟的变量扩充被启用,可以将上面例子写成以下所示,以达到预期效果:
t VAR=before
if %VAR% == before (
t VAR=after
if !VAR! == after @echo If you e this, it worked
)
t LIST=
for %i in (*) do t LIST=!LIST! %i
echo %LIST%
如果命令扩展名被启用,有几个动态环境变量可以被扩展,但不会出现在 SET 显示的变量列表中。每次变量数值被扩展时,这些变量数值都会被动态计算。如果用户用这些名称中任何一个定义变量,那个定义会替代下面描述的动态定义:
%CD% - 扩展到当前目录字符串。
%DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。
%TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。
%RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。
%ERRORLEVEL% - 扩展到当前 ERRORLEVEL 数值。
%CMDEXTVERSION% - 扩展到当前命令处理器扩展名版本号。
%CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。
t /A 开关可以支持单行定义多个数字变量。其间只需用逗号隔开。
例如:
t /a a=1 t /a b=1+1
可以简写为:
t /a a=1,b=1+1
更加简化,绕过变量延时:
t/a c=(b+=p=1)*100/(a=2000)+(n=0)
FOR等字块中注意事项)的转义:
for /l %%1 in (1,1,2) do (
t/a a=(2+5^)*3
t/a c=(b+=p=1)*100/(a+=2000)+(n=0)
)
在 DOS (cmd)里Set /p 命令会创建一个输入区域,按下回车时,将该输入区域的字符串返回给变量。通常和 If 语句使用。
将对象引用赋给变量或属性或在代码中创建一个控件到相应窗体上。
Setobjectvar={ [New]objectexpression|Nothing}
Set语句的语法包含下面部分:
为确保合法,objectvar必须是与所赋对象相一致的对象类型。
Dim、Private、Public、ReDim以及Static语句都只声明了引用对象的变量。在用Set语句将变量赋为特定对象之前,该变量并没有引用任何实际的对象。
下面的示例说明了如何使用Dim来声明Form1类型的数组。Form1实际上还没有实例。然后使用Set将新创建的Form1的实例的引用赋给myChildForms变量。在MDI 应用程序中可以使用这些代码来创建子窗体。
Dim myChildForms(1 to 4) As Form1 Set myChildForms(1) = New Form1 Set myChildForms(2) = New Form1 Set myChildForms(3) = New Form1 Set myChildForms(4) = New Form1
通常,当使用Set将一个对象引用赋给变量时,并不是为该变量创建该对象的一份副本,而是创建该对象的一个引用。可以有多个对象变量引用同一个对象。因为这些变量只是该对象的引用,而不是对象的副本,因此对该对象的任何改动都会反应到所有引用该对象的变量。不过,如果在Set语句中使用New关键字,那么实际上就会新建一个该对象的实例。
一个不包含重复元素的 collection。更确切地讲,t 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 t 抽象。
在所有构造方法以及 add、equals 和 hashCode 方法的协定上,Set 接口还加入了其他规定,这些规定超出了从 Collection 接口所继承的内容。出于方便考虑,它还包括了其他继承方法的声明(这些声明的规范已经专门针对 Set 接口进行了修改,但是没有包含任何其他的规定)。对这些构造方法的其他规定是(不要奇怪),所有构造方法必须创建一个不包含重复元素的 t(正如上面所定义的)。注:如果将可变对象用作 t 元素,那么必须极其小心。如果对象是 t 中某个元素,以一种影响 equals 比较的方式改变对象的值,那么 t 的行为就是不确定的。此项禁止的一个特殊情况是不允许某个 t 包含其自身作为元素。
常用的几个方法:
boolean add(E e)
如果 t 中尚未存在指定的元素,则添加此元素(可选操作)。
boolean addAll(Collectionc)
如果 t 中没有指定 collection 中的所有元素,则将其添加到此 t 中(可选操作)。
void clear()
移除此 t 中的所有元素(可选操作)。
boolean contains(Object o)
如果 t 包含指定的元素,则返回 true。
boolean containsAll(Collectionc)
如果此 t 包含指定 collection 的所有元素,则返回 true。
boolean equals(Object o)
比较指定对象与此 t 的相等性。
int hashCode()
返回 t 的哈希码值。
boolean isEmpty()
如果 t 不包含元素,则返回 true。
Iterator iterator()
返回在此 t 中的元素上进行迭代的迭代器。
boolean remove(Object o)
如果 t 中存在指定的元素,则将其移除(可选操作)。
boolean removeAll(Collectionc)
移除 t 中包含在指定 collection 中的元素(可选操作)。
boolean retainAll(Collectionc)
仅保留 t 中包含在指定 collection 中的元素。
int size()
返回 t 中的元素数(其容量)。
Object[] toArray()
返回一个包含 t 中所有元素的数组。
T[]
toArray(T[] a)
返回一个包含此 t 中所有元素的数组;返回数组的运行时类型是指定数组的类型。
1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值。例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是'-' 、':'、'-.'、'--'或'none'。
2.属性的操作
t函数的调用格式为:
t(句柄,属性名1,属性值1,属性名2,属性值2,…)
clear
x=0:0.2:12;
y1=besl(1,x);
y2=besl(2,x);
y3=besl(3,x);
h=plot(x,y1,x,y2,x,y3);
t(h,{'LineWidth'},{2;5;8}) %t(h,{'LineWidth'},{2})==t(h,'LineWidth',2),将所有线宽设置为2
t(h,{'Color'},{'r';'g';'b'},{'LineStyle'},{'--';':';'-.'}) %设置颜色和线宽
axis([0 12 -0.5 1]) %设置坐标轴范围
grid on
X=0:1:12;
Y=-0.5:0.25:1;
t(gca,'xtick',X,'ytick',Y) %设置网格的显示格式,gca获取当前figure的句柄
t(xlabel('Time'),'FontSize',12,'Color','r')
y=ylabel('Amplitude');
t(y,'FontSize',12,'Color','g')
legend(h,'First','Second','Third') %添加图例
title('Besl Functions') %添加标题
[y,ix]=min(y1); %找到y1的最小值以及改值的下标,赋给y和ix
text(x(ix),y,'First Min rightarrow','HorizontalAlignment','right') %插入文本
允许隐式设置与某些对象关联的属性,这些对象基于外部类文件中定义的类。通过使用隐式设置方法,您可以不必直接访问对象属性就改变其属性值。隐式 get/t 方法是对 ActionScript 1.0 中 Object.addProperty() 方法的句法简化。
property:String ― 用来引用 t 要访问的属性的词;该值必须与在相应的 get 命令中使用的值相同
最低ActionScript 脚本编辑环境:ActionScript 2.0
最低播放器环境:Flash Player 6
下面的示例创建一个 Login 类,该类演示如何使用 t 关键字设置私有变量:
在与 Login。as 位于同一目录中的 FLA 或 AS 文件中,在时间轴的第 1 帧中输入以下 ActionScript:
在下面的示例中,在跟踪值时执行 get 函数。t 函数仅在您向它传递值时才触发,如下行所示:
修改当前 XMLUI 对话框的指定属性的值。
public static t(name:String, value:String) : Void
可用性:
ActionScript 1.0、Flash Player 7
参数
name:String ― 要修改的 XMLUI 属性的名称。
value:String ― 指定的属性将要被设置为的值。
Java中的Set类继承了Conllection类,是一种集合类。Set类中不允许重复对象,而且其中的对象不按特定的方式排序。
Set类主要有以下几个实现类。(1)HashSet类按照哈希算法来存取集合中的对象,存取速度比较快。Java.util.HashSet类实现了Java.util.Set接口,它不允许出现重复元素;不保证和政集合中元素的顺序;允许包含值为null的元素,但最多只能有一个null元素。(2)LinkedHashSet集合同样是根据元素的hashCode值来决定元素的存储位置,但是它同时使用链表维护元素的次序,保持元素的添加顺序。LinkedHashSet在迭代访问Set中的全部元素时,性能比HashSet好,但是插入时性能稍微逊色于HashSet。(3)TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。TreeSet描述的是Set的一种变体——可以实现排序等功能的集合,它在讲对象元素添加到集合中时会自动按照某种比较规则将其插入到有序的对象序列中。
按照定义,Set 接口继承 Collection 接口,而且它不允许集合中存在重复项。所有原始方法都是现成的,没有引入新方法。具体的 Set 实现类依赖添加的对象的 equals() 方法来检查等同性。
各个方法的作用描述:
public int size() :返回t中元素的数目,如果t包含的元素数大于Integer.MAX_VALUE,返回Integer.MAX_VALUE;
public boolean isEmpty() :如果t中不含元素,返回true ;
public boolean contains(Object o) :如果t包含指定元素,返回true ;
public Iterator iterator() :返回t中元素的迭代器,元素返回没有特定的顺序,除非t提高该保证的某些类的实例;
public boolean add(Object o) :如果t中不存在指定元素,则向t加入;
public boolean remove(Object o) :如果t中存在指定元素,则从t中删除;
public boolean removeAll(Collection c) :如果t包含指定集合,则从t中删除指定集合的所有元素;
public void clear() :从t中删除所有元素;
本文发布于:2022-11-07 12:24:37,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/83/446229.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
| 留言与评论(共有 0 条评论) |