所謂賦值語句,小編在最早學C語言時就知道那就是“a=1;”。這么多年來,雖然語言在變,但賦值語句基本沒變過。但今天在看一串PowerShell代碼的時候,這種理念被推翻了。小編看到了多變量同時賦值的語句。
小編看到的語句是這樣的:
其實很好猜,第一眼看上去就像是把$a[0]和$a[1]這兩個數組元素顛倒。而事實上的效果也是這樣的。難道說這就是兩個變量互換值的語句嗎?我們知道在傳統的編程語言里面,要把兩個變量的值交換,至少需要三個語句,還需要一個中間變量的。比如要把a與b的值交換,那么代碼應該這樣寫:
這里的c是新增加出來的一個變量。這樣看來,PowerShell還真TMD強大啊!
小編還異想天開的做了一些嘗試,發現原來這個語法不僅僅顛倒兩個值那么簡單。比如:
小編還做了這樣一個測試:
相當于是對照等號的前后,按順序逐個賦值。很好理解吧!再看看下面這個:
所以小編把這個語法稱之為“多變量同時賦值”,就是把多個變量同時賦值,當然賦值中存在一些細節,已經在上面的例子中展示了。
最后有人一定想問,如果變量個數多于值的個數,會是什么樣的結果呢?呵呵,看看: