複製鏈接
請複製以下鏈接發送給好友

set

(計算機學)

鎖定
set,命令提示符中的set指令。
外文名
set
所屬學科
計算機

setSET指令

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 /?
考慮到讀取一行文本時所遇到擴充的限制時,延遲環境變量擴充是很有用的,而不是執行的時候。以下例子説明直接變量擴充的問題:
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "%VAR%" == "after" @echo If you see this, it worked
)
不會顯示消息,因為在讀到第一個 IF 語句時,BOTH IF 語句中的 %VAR% 會被代替;原因是: 它包含 IF 的文體,IF 是一個複合語句。所以,複合語句中的 IF 實際上是在比較 "before" 和"after",這兩者永遠不會相等。同樣,以下這個例子也不會達到預期效果:
set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
原因是,它不會在目錄中建立一個文件列表,而只是將LIST 變量設成找到的最後一個文件。這也是因為 %LIST% 在FOR 語句被讀取時,只被擴充了一次;而且,那時的 LIST 變量是空的。因此,我們真正執行的 FOR 循環是:
for %i in (*) do set LIST= %i
這個循環繼續將 LIST 設成找到的最後一個文件。
延遲環境變量擴充允許您使用一個不同的字符(驚歎號)在執行時間擴充環境變量。如果延遲的變量擴充被啓用,可以將上面例子寫成以下所示,以達到預期效果:
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "!VAR!" == "after" @echo If you see this, it worked
)
set LIST=
for %i in (*) do set LIST=!LIST! %i
echo %LIST%
如果命令擴展名被啓用,有幾個動態環境變量可以被擴展,但不會出現在 SET 顯示的變量列表中。每次變量數值被擴展時,這些變量數值都會被動態計算。如果用户用這些名稱中任何一個定義變量,那個定義會替代下面描述的動態定義:
%CD% - 擴展到當前目錄字符串。
%DATE% - 用跟 DATE 命令同樣的格式擴展到當前日期。
%TIME% - 用跟 TIME 命令同樣的格式擴展到當前時間。
%RANDOM% - 擴展到 0 和 32767 之間的任意十進制數字。
%ERRORLEVEL% - 擴展到當前 ERRORLEVEL 數值。
%CMDEXTVERSION% - 擴展到當前命令處理器擴展名版本號。
%CMDCMDLINE% - 擴展到調用命令處理器的原始命令行。

set補充技巧

set /A 開關可以支持單行定義多個數字變量。其間只需用逗號隔開。
例如:
set /a a=1 set /a b=1+1
可以簡寫為:
set /a a=1,b=1+1
更加簡化,繞過變量延時:
set/a c=(b+=p=1)*100/(a=2000)+(n=0)
FOR等字塊中注意事項")"的轉義:
for /l %%1 in (1,1,2) do (
set/a a=(2+5^)*3
set/a "c=(b+=p=1)*100/(a+=2000)+(n=0)"
)
在 DOS (cmd) 裏Set /p 命令會創建一個輸入區域,按下回車時,將該輸入區域的字符串返回給變量。通常和 If 語句使用。

setVB Set

將對象引用賦給變量屬性或在代碼中創建一個控件到相應窗體上。

set語法

Setobjectvar= { [New] objectexpression |Nothing}
Set語句的語法包含下面部分:

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關鍵字,那麼實際上就會新建一個該對象的實例。

set簡介

一個不包含重複元素的 collection。更確切地講,set 不包含滿足 e1.equals(e2) 的元素對 e1 和 e2,並且最多包含一個 null 元素。正如其名稱所暗示的,此接口模仿了數學上的 set 抽象。
在所有構造方法以及 add、equals 和 hashCode 方法的協定上,Set 接口還加入了其他規定,這些規定超出了從 Collection 接口所繼承的內容。出於方便考慮,它還包括了其他繼承方法的聲明(這些聲明的規範已經專門針對 Set 接口進行了修改,但是沒有包含任何其他的規定)。對這些構造方法的其他規定是(不要奇怪),所有構造方法必須創建一個不包含重複元素的 set(正如上面所定義的)。注:如果將可變對象用作 set 元素,那麼必須極其小心。如果對象是 set 中某個元素,以一種影響 equals 比較的方式改變對象的值,那麼 set 的行為就是不確定的。此項禁止的一個特殊情況是不允許某個 set 包含其自身作為元素。
常用的幾個方法:
boolean add(E e)
如果 set 中尚未存在指定的元素,則添加此元素(可選操作)。
boolean addAll(Collectionc)
如果 set 中沒有指定 collection 中的所有元素,則將其添加到此 set 中(可選操作)。
void clear()
移除此 set 中的所有元素(可選操作)。
boolean contains(Object o)
如果 set 包含指定的元素,則返回 true。
boolean containsAll(Collectionc)
如果此 set 包含指定 collection 的所有元素,則返回 true。
boolean equals(Object o)
比較指定對象與此 set 的相等性。
int hashCode()
返回 set 的哈希碼值。
boolean isEmpty()
如果 set 不包含元素,則返回 true。
Iterator iterator()
返回在此 set 中的元素上進行迭代的迭代器
boolean remove(Object o)
如果 set 中存在指定的元素,則將其移除(可選操作)。
boolean removeAll(Collectionc)
移除 set 中包含在指定 collection 中的元素(可選操作)。
boolean retainAll(Collectionc)
僅保留 set 中包含在指定 collection 中的元素。
int size()
返回 set 中的元素數(其容量)。
Object[] toArray()
返回一個包含 set 中所有元素的數組
T[]
toArray(T[] a)
返回一個包含此 set 中所有元素的數組;返回數組的運行時類型是指定數組的類型。

setmatlab

set定義

1.MATLAB給每種對象的每一個屬性規定了一個名字,稱為屬性名,而屬性名的取值成為屬性值。例如,LineStyle是曲線對象的一個屬性名,它的值決定着線型,取值可以是'-' 、':'、'-.'、'--'或'none'。
2.屬性的操作
set函數的調用格式為:
set(句柄,屬性名1,屬性值1,屬性名2,屬性值2,…)

set例子

clear
x=0:0.2:12;
y1=bessel(1,x);
y2=bessel(2,x);
y3=bessel(3,x);
h=plot(x,y1,x,y2,x,y3);
set(h,{'LineWidth'},{2;5;8}) %set(h,{'LineWidth'},{2})==set(h,'LineWidth',2),將所有線寬設置為2
set(h,{'Color'},{'r';'g';'b'},{'LineStyle'},{'--';':';'-.'}) %設置顏色和線寬
axis([0 12 -0.5 1]) %設置座標軸範圍
grid on
X=0:1:12;
Y=-0.5:0.25:1;
set(gca,'xtick',X,'ytick',Y) %設置網格的顯示格式,gca獲取當前figure的句柄
set(xlabel('Time'),'FontSize',12,'Color','r')
y=ylabel('Amplitude');
set(y,'FontSize',12,'Color','g')
legend(h,'First','Second','Third') %添加圖例
title('Bessel Functions') %添加標題
[y,ix]=min(y1); %找到y1的最小值以及改值的下標,賦給y和ix
text(x(ix),y,'First Min \rightarrow','HorizontalAlignment','right') %插入文本

setFlash Set

允許隱式設置與某些對象關聯的屬性,這些對象基於外部類文件中定義的類。通過使用隱式設置方法,您可以不必直接訪問對象屬性就改變其屬性值。隱式 get/set 方法是對 ActionScript 1.0 中 Object.addProperty() 方法的句法簡化。

set參數

property:String ― 用來引用 set 要訪問的屬性的詞;該值必須與在相應的 get 命令中使用的值相同

set可用性

最低ActionScript 腳本編輯環境:ActionScript 2.0
最低播放器環境:Flash Player 6

set示例

下面的示例創建一個 Login 類,該類演示如何使用 set 關鍵字設置私有變量:
在與 Login。as 位於同一目錄中的 FLA 或 AS 文件中,在時間軸的第 1 幀中輸入以下 ActionScript:
在下面的示例中,在跟蹤值時執行 get 函數。set 函數僅在您向它傳遞值時才觸發,如下行所示:

setXMLUI.set

修改當前 XMLUI 對話框的指定屬性的值。
public static set(name:String, value:String) : Void
可用性
ActionScript 1.0、Flash Player 7
參數
name:String ― 要修改的 XMLUI 屬性的名稱。
value:String ― 指定的屬性將要被設置為的值。 [1] 

setjava中的類

set1、簡介

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的一種變體——可以實現排序等功能的集合,它在講對象元素添加到集合中時會自動按照某種比較規則將其插入到有序的對象序列中。 [2] 

set2、常用方法

按照定義,Set 接口繼承 Collection 接口,而且它不允許集合中存在重複項。所有原始方法都是現成的,沒有引入新方法。具體的 Set 實現類依賴添加的對象的 equals() 方法來檢查等同性。
各個方法的作用描述:
public int size() :返回set中元素的數目,如果set包含的元素數大於Integer.MAX_VALUE,返回Integer.MAX_VALUE;
public boolean isEmpty() :如果set中不含元素,返回true ;
public boolean contains(Object o) :如果set包含指定元素,返回true ;
public Iterator iterator() : 返回set中元素的迭代器,元素返回沒有特定的順序,除非set提高該保證的某些類的實例 ;
public boolean add(Object o) :如果set中不存在指定元素,則向set加入 ;
public boolean remove(Object o) :如果set中存在指定元素,則從set中刪除 ;
public boolean removeAll(Collection c) :如果set包含指定集合,則從set中刪除指定集合的所有元素 ;
public void clear() :從set中刪除所有元素; [2] 
參考資料
  • 1.    檢測服務  .深圳檢測機構[引用日期2014-04-19]
  • 2.    Bruce Eckel.Java編程思想(第四版):機械工業出版社,2013年5月