ä»£å ¥æŒç®å
ãããŸã§èª¬æããããšãªãä»£å ¥æŒç®åã䜿ã£ãŠããããããåå++ãšâã«ã€ããŠåãäžããããšã ããããã§ä»£å ¥æŒç®åãåãäžããŠãããã
æã代衚çãªä»£å ¥æŒç®åã¯=ã ã=ã®å³åŽãå ã«è©äŸ¡ãããã®çµæãå·ŠåŽã®å€æ°ãªã©ã«ä»£å ¥ãããšããã®ããã䜿ãããæ¹æ³ã ãä»£å ¥æŒç®åã®æžãæ¹ããã£ãšæžããšæ¬¡ã®ããã«ãªãã
ä»£å ¥æŒç®åã®äœ¿ãæ¹
代å
¥å¯èœåŒ 代å
¥æŒç®å å€
ä»£å ¥æŒç®åã¯=ã ãã§ã¯ãªãã+=ã-=ãšãã£ããã®ããããPowerShell Coreã§äœ¿ãããŠããä»£å ¥æŒç®åãšãã®å 容ããŸãšãããšæ¬¡ã®ããã«ãªãã
| ä»£å ¥æŒç®å | å 容 |
|---|---|
| = | 倿°ã®å€ãæå®ãããå€ã«èšå® |
| += | æå®ãããå€ã ã倿°ã®å€ãå¢ãããæå®ãããå€ãæ¢åã®å€ã«è¿œå ããå Žåã«äœ¿çšãã |
| -= | æå®ãããå€ã ã倿°ã®å€ãæžãããæå®ãããå€ãæ¢åã®å€ããæžç®ããå Žåã«äœ¿çšãã |
| *= | æå®ãããå€ã倿°ã®å€ã«ä¹ç®ãããä¹ç®ã®çµæãä»£å ¥ããã |
| /= | æå®ãããå€ã§å€æ°ã®å€ãé€ç®ãããé€ç®ã®çµæãä»£å ¥ããã |
| %= | æå®ãããå€ã§å€æ°ã®å€ã®å°äœç®ã宿œãããäœãã倿°ã«ä»£å ¥ããã |
| ++ | 倿°ãä»£å ¥å¯èœããããã£ãé åèŠçŽ ã«1ãå ç®ãã |
| â | 倿°ãä»£å ¥å¯èœããããã£ãé åèŠçŽ ã«1ãæžç®ãã |
ååãåãäžããããã€ã³ã¯ãªã¡ã³ãæŒç®åã®++ããã¯ãªã¡ã³ãæŒç®åã®âãä»£å ¥æŒç®åãšãªããåé æŒç®åãšããããšã«ãªããæžãæ¹ãšããŠã¯æ¬¡ã®ããã«å眮åãšåŸçœ®åããããååã玹ä»ããããå眮åãšåŸçœ®åã§ã¯æŒç®ã®åªå é äœãšãããåŠçã®é åºãç°ãªãã®ã§æ³šæãå¿ èŠã ã
åŸçœ®åã®ã€ã³ã¯ãªã¡ã³ã/ãã¯ãªã¡ã³ãæŒç®å
代å
¥å¯èœåŒ<æŒç®å>
å眮åã®ã€ã³ã¯ãªã¡ã³ã/ãã¯ãªã¡ã³ãæŒç®å
<æŒç®å>代å
¥å¯èœåŒ
PowerShell Coreã§ã¯ä»£å ¥æŒç®åã䜿ã£ãŠå€æ°ã«ä»£å ¥ãè¡ã段éã§å¯Ÿè±¡å€æ°ãååšããŠããªããã°ããã®ã¿ã€ãã³ã°ã§å€æ°ãäœæãããããã§ã«å€æ°ãååšããå Žåã«ã¯äžæžããšãªãããŸããPowerShell Coreã§ã¯æç€ºçã«åºå®ããªãéãåã®çžãã¯ååšãããä»£å ¥å ã®åãå€ããã°ä»£å ¥ããã倿°ã®åãå€ããããšã«ãªãã
ä»£å ¥æŒç®å =
ããšãã°æ¬¡ã®äŸã¯ä»£å ¥æŒç®å=ã䜿ã£ãŠå€æ°ã«å€ãå²ãåœãŠããã®ã ã
ä»£å ¥åŸã®åã¯åçã«å€åãã
PS /Users/daichi> $v = 1
PS /Users/daichi> $v.GetType().FullName
System.Int32
PS /Users/daichi> $v = "str"
PS /Users/daichi> $v.GetType().FullName
System.String
PS /Users/daichi> $v = "a", "b", "c"
PS /Users/daichi> $v.GetType().FullName
System.Object[]
PS /Users/daichi> $v = @{a=1; b=2; c=3}
PS /Users/daichi> $v.GetType().FullName
System.Collections.Hashtable
PS /Users/daichi> $v = 1
PS /Users/daichi> $v.GetType().FullName
System.Int32
PS /Users/daichi> $v = 0x10
PS /Users/daichi> $v.GetType().FullName
System.Int32
PS /Users/daichi> $v = 1.01
PS /Users/daichi> $v.GetType().FullName
System.Double
PS /Users/daichi> $v = 1kb
PS /Users/daichi> $v.GetType().FullName
System.Int32
PS /Users/daichi> $v = "str"
PS /Users/daichi> $v.GetType().FullName
System.String
PS /Users/daichi> $v = "a", "b", "c"
PS /Users/daichi> $v.GetType().FullName
System.Object[]
PS /Users/daichi> $v = @{a=1; b=2; c=3}
PS /Users/daichi> $v.GetType().FullName
System.Collections.Hashtable
PS /Users/daichi>
PowerShell Coreã¯æå®ããªãéã倿°ã®åãåºå®ãããªãã®ã§ãä»£å ¥ãããå€ã®åãå€ãããšãããã«åãããŠå€æ°ã®åãå€ãã£ãŠããããšããããã
ä»£å ¥æŒç®å +=
ä»£å ¥æŒç®åã®äžã§ãã£ãšãæ©èœãå€ãã®ã+=ã ã
ãŸããåºæ¬çã«ã¯æ¬¡ã®ãããªäœ¿ãæ¹ãšãªãã+=ã¯å€æ°ã«å¯ŸããŠå€ã远å ããŠããä»£å ¥ããæŒç®åãªã®ã§ã次ã®ããã«+=ã䜿ããã«=ã§ä»£æ¿ããããšãã§ããã
ä»£å ¥æŒç®å+=ã®åºæ¬çãªäœ¿ãæ¹
PS /Users/daichi> $v = 1
PS /Users/daichi> $v += 2
PS /Users/daichi> $v
3
PS /Users/daichi> $v = 1
PS /Users/daichi> $v = $v + 2
PS /Users/daichi> $v
3
PS /Users/daichi>
æ¬¡ã«æååã«å¯Ÿãã+=ã ãæååã«å¯ŸããŠæååã+=ããå Žåãããã¯æ¬¡ã®ããã«æååã®çµåãæå³ããã
ä»£å ¥æŒç®å+=ã«ããæååã®çµå
PS /Users/daichi> $v = "Hash"
PS /Users/daichi> $v += "table"
PS /Users/daichi> $v
Hashtable
PS /Users/daichi> :ew
+=ã¯é åã«å¯ŸããŠãé©çšããããšãã§ããé åãã®ãã®ã«å¯ŸããŠ+=ã宿œãããšã次ã®ããã«é åã®æåŸã®èŠçŽ ãšããŠå€ã远å ããããšã«ãªãã
+=ã䜿ã£ãé åãžã®å€ã®è¿œå
PS /Users/daichi> $v = 1,2,3
PS /Users/daichi> $v
1
2
3
PS /Users/daichi> $v += 2
PS /Users/daichi> $v
1
2
3
2
PS /Users/daichi> $v += "str"
PS /Users/daichi> $v
1
2
3
2
str
PS /Users/daichi>
+=ã¯ããã·ã¥ããŒãã«ã«å¯ŸããŠãé©çšã§ãããããã·ã¥ããŒãã«ã«å¯ŸããŠã¯ããã·ã¥ããŒãã«ã®ã¿ãå©çšããããšãã§ããæå®ããããã·ã¥ããŒãã«ãããã·ã¥ããŒãã«ã«çµåãããšãã£ãåŠçã«ãªãããã®ããããã¹ãŠã®éµãéã£ãŠããããšãåŠçã®åæãšãªãã
+=ã䜿ã£ãããã·ã¥ããŒãã«ã®çµå
PS /Users/daichi> $v = @{a=1; b=2; c=3}
PS /Users/daichi> $v
Name Value
---- -----
b 2
c 3
a 1
PS /Users/daichi> $v += @{d="str"}
PS /Users/daichi> $v
Name Value
---- -----
a 1
c 3
b 2
d str
PS /Users/daichi>
ãã®ããã«ãä»£å ¥æŒç®åã®äžã§ã¯+=ã¯æäœå¯Ÿè±¡ãå€å²ã«ãããããããã«ãããªãããšãããã®ã§ãé åãšããã·ã¥ããŒãã«ã«é¢ããŠã¯+=ã¯äœ¿ããªãã§ã¡ãœããã䜿ãããã«ããæ¹ãããå Žé¢ããããããããªãã
ä»£å ¥æŒç®å -=
ä»£å ¥æŒç®åã¯å€ãæžç®ãããã®ã ãæ¬¡ã®åŠçãèŠããšããããããã
ä»£å ¥æŒç®å-=ã®åºæ¬çãªäœ¿ãæ¹
PS /Users/daichi> $v = 1
PS /Users/daichi> $v -= 2
PS /Users/daichi> $v
-1
PS /Users/daichi> $v = 1
PS /Users/daichi> $v = $v - 2
PS /Users/daichi> $v
-1
PS /Users/daichi>
+=ãšç°ãªã-=ã«ã¯é åãããã·ã¥ããŒãã«ã«å¯ŸããåŠçã¯ãªãïŒé åã®èŠçŽ ã«å¯ŸããŠé©çšãããšãã£ãããšã¯ã§ããïŒã
ä»£å ¥æŒç®å *=
ä»£å ¥æŒç®å*=ã®åºæ¬çãªäœ¿ãæ¹ã¯æ¬¡ã®ããã«ãªããä¹ç®ããçµæãä»£å ¥ãããšãããã®ã ã
ä»£å ¥æŒç®å*=ã®åºæ¬çãªäœ¿ãæ¹
PS /Users/daichi>
PS /Users/daichi> $v = 1
PS /Users/daichi> $v *= 5
PS /Users/daichi> $v
5
PS /Users/daichi> $v = 1
PS /Users/daichi> $v = $v * 5
PS /Users/daichi> $v
5
PS /Users/daichi>
+=ã»ã©ã§ã¯ãªããã=ã®å Žåã«ã¯å¯Ÿè±¡ãæååã ã£ãå Žåã®åŠçã«æ³šæãå¿ èŠã ãæ¬¡ã®ããã«æååã«å¯ŸããŠ=ã䜿çšããå Žåãæå®ããåæ°åã ãæååãè€è£œããŠçµåãããšããæå³ã«ãªãã
æååã«å¯ŸããŠ*=ã䜿çšããå Žåã®ãµã³ãã«
PS /Users/daichi> $v = "str"
PS /Users/daichi> $v *= 5
PS /Users/daichi> $v
strstrstrstrstr
PS /Users/daichi>
ä»£å ¥æŒç®å /=
ä»£å ¥æŒç®å/=ã®äœ¿ãæ¹ã¯-=ãšåãããã«ã·ã³ãã«ã ãæå®ããå€ã§é€ç®ãããšãããã®ã ã
ä»£å ¥æŒç®å/=ã®åºæ¬çãªäœ¿ãæ¹
PS /Users/daichi> $v = 1
PS /Users/daichi> $v /= 2
PS /Users/daichi> $v
0.5
PS /Users/daichi> $v = 1
PS /Users/daichi> $v = $v / 2
PS /Users/daichi> $v
0.5
PS /Users/daichi>
ä»£å ¥æŒç®å %=
ä»£å ¥æŒç®å%=ã®äœ¿ãæ¹ãåºæ¬çã«æ¬¡ã®ããã«ã·ã³ãã«ã«ãªã£ãŠããã
ä»£å ¥æŒç®å%=ã®åºæ¬çãªäœ¿ãæ¹
PS /Users/daichi> $v = 1
PS /Users/daichi> $v = 5
PS /Users/daichi> $v %= 2
PS /Users/daichi> $v
1
PS /Users/daichi> $v = 5
PS /Users/daichi> $v = $v % 2
PS /Users/daichi> $v
1
PS /Users/daichi>
%=ãšãããåºæ¬çã«å°äœæŒç®èªäœãããŸãäœ¿ãæ©äŒããªããããããªãã奿°ãšå¶æ°ã§åŠçãåãããïŒããšãã°ããŒãã«ã®èæ¯è²ã1è¡ããã«å€ããããšãïŒãšãã£ããããªå Žåã«äœ¿ãããšããããªã©ãããçšåºŠããã°ã©ãã³ã°ããããã«ãªã£ãŠãããšäœ¿ãæ©äŒãåºãŠããæ©èœã§ã¯ãªãããšæãã
ä»£å ¥æŒç®å ++ â
++ãâã¯å€æ°ãšããåäœã§æå³ãæã€ã$v++ã++$vãšãã£ãæžãæ¹ãããããã®åºæ¬çãªäœ¿ãæ¹ã¯æ¬¡ã®ãšããã
ä»£å ¥æŒç®å++ã®åºæ¬çãªäœ¿ãæ¹
PS /Users/daichi> $v = 1
PS /Users/daichi> ++$v
PS /Users/daichi> $v
2
PS /Users/daichi> $v = 1
PS /Users/daichi> $v++
PS /Users/daichi> $v
2
PS /Users/daichi> $v = 1
PS /Users/daichi> $v = $v + 1
PS /Users/daichi> $v
2
PS /Users/daichi>
äžèšãµã³ãã«ã¯ã©ããåãçµæã ãã++$vãš$v++ã§ã¯åŠçã®é åºãç°ãªã£ãŠããããã®éãã¯ã¡ãããšçè§£ããŠããå¿ èŠãããã
次ã®ãµã³ãã«ãèŠããš++$vãš$v++ã®åŠçã®éãããããã ããã$tã®å€ãã©ã®ããã«éã£ãŠãããã«æ³šç®ããŠèªãã§ã¿ãŠã»ããã
å眮åãšåŸçœ®åã®åŠçåªå é äœã®éã
PS /Users/daichi> $v = 1
PS /Users/daichi> $t = ++$v
PS /Users/daichi> $v
2
PS /Users/daichi> $t
2
PS /Users/daichi> $v = 1
PS /Users/daichi> $t = $v++
PS /Users/daichi> $v
2
PS /Users/daichi> $t
1
PS /Users/daichi>
++$vã§ã¯$vã«å€ã1ã€è¿œå ããŠããæ¬¡ã®åŠçãè¡ãããŠããã$v++ã§ã¯åŠçãè¡ãããŠãããã€ãŸã$tãž$vãä»£å ¥ãããŠããã$vãžã®å€ã®è¿œå ãè¡ãããŠããããã®ãããã¯ç¹°ãè¿ãæ§æãªã©ã䜿ãå Žåã«ç¹ã«éèŠã«ãªã£ãŠããã®ã§ãåŠçã®éããããçè§£ããŠããããã
è€æ°ä»£å ¥
PowerShell Coreã«ã¯ä»£å ¥åŠçã1è¡ã«ãŸãšããŠæžãããã®ã·ã³ã¿ãã¯ã¹ã·ã¥ã¬ãŒãçšæãããŠãããæ¬¡ã®ãããªæãã ãæ¬¡ã®åŠçã§3ã€ã®åå¥ã®ä»£å ¥åŠçã1è¡ã«ãŸãšããããŠããã
3ã€ã®ä»£å ¥åŠçã1è¡ã«ãŸãšããŠæžããå Žå
PS /Users/daichi> $a, $b, $c = 1, 2, 3
PS /Users/daichi> $a
1
PS /Users/daichi> $b
2
PS /Users/daichi> $c
3
PS /Users/daichi>
ãã ãããã®æžãæ¹ã¯å°ã 泚æãå¿ èŠã ãæ¬¡ã®ãããªæžãæ¹ããããšãæåŸã®å€æ°ã«ã¯æ®ãã®å€ãé åãšããŠä»£å ¥ãããããšã«ãªãã
ããŸã£ãåã¯é åãšããŠãŸãšããŠå€æ°ã«ä»£å ¥ããã
PS /Users/daichi> $a, $b, $c = 1, 2, 3, 4, 5
PS /Users/daichi> $a
1
PS /Users/daichi> $b
2
PS /Users/daichi> $c
3
4
5
PS /Users/daichi>
éã«ãé åããåå¥ã®å€æ°ã«ä»£å ¥ãããšãã£ãããšãã§ããã説æããŠãããããããªããšæãã®ã§ã次ã®ãµã³ãã«ãèŠãŠã»ããã
é åããåã ã®å€æ°ã«ä»£å ¥
PS /Users/daichi> $v = 1, 2, 3
PS /Users/daichi> $v
1
2
3
PS /Users/daichi> $a, $b, $c = $v
PS /Users/daichi> $a
1
PS /Users/daichi> $b
2
PS /Users/daichi> $c
3
PS /Users/daichi>
次ã®ãããªä»£å ¥ã®ä»æ¹ãã§ãããæ¬¡ã®ãããªæžãæ¹ãããå Žåã«ã¯ãåãå€ããã¹ãŠã®å€æ°ã«ä»£å ¥ãããããšã«ãªãã
åäžã®å€ããã¹ãŠã®å€æ°ã«ä»£å ¥
PS /Users/daichi> $a = $b = $c = 1
PS /Users/daichi> $a
1
PS /Users/daichi> $b
1
PS /Users/daichi> $c
1
PS /Users/daichi> $a = $b = $c = 1, 2, 3
PS /Users/daichi> $a
1
2
3
PS /Users/daichi> $b
1
2
3
PS /Users/daichi> $c
1
2
3
PS /Users/daichi>
ããã€ãã®ä»£å ¥åŠçã1è¡ã«ãŸãšããŠæžãæ©èœã¯æ¯èŒçæè¿ã®ããã°ã©ãã³ã°èšèªã«ã¯çšæãããŠããæ©èœã ã
ä»£å ¥æŒç®åã¯ã©ããŸã§äœ¿ãã°ããã®ã
ä»£å ¥æŒç®å=ã¯åœç¶ãããšããããã·ãŒã³ã§äœ¿ãããšã«ãªãããããšãã°+=ã䜿ãã¹ãã++ã䜿ãã¹ãã+ããŠãã=ã§ä»£å ¥ãã¹ãããçµå±ãã®ãããã¯ã³ãŒãã£ã³ã°ãã人ã®å¥œã¿ã«ãããšãããããã
++ãâã«é¢ããŠã¯ç®çãããããããã®ã§ã䜿ã£ãã»ããä»ã®äººãæå³ãæ±²ã¿åãããããªããããªæ°ã¯ããã+=ãš-=ã¯ã±ãŒã¹ãã€ã±ãŒã¹ãšãã£ããšããã ãããã
ããŸãåãå¿ èŠã¯ãªããåºæ¬çã«ã¯=ã䜿ã£ãæ¹ãåŸããèªãã§ãããããããããšãå€ãã®ã§ãç©æ¥µçã«ããããªä»£å ¥æŒç®åã䜿ããããªããšã¯ããªããŠããã ããã
åèè³æ
- Microsoft PowerShell Module Browser
- Microsoft PowerShell6ïœMicrosoft.PowerShell.CoreïœAboutïœAbout Variables
- Microsoft PowerShell6ïœObject Pipeline
- Microsoft PowerShell6ïœUnderstanding the Windows PowerShell Pipeline
- Microsoft PowerShell6ïœAbout Regular Expressions
- Microsoft PowerShell6ïœMicrosoft.PowerShell.CoreïœAbout Assignment Operators