「Windows/powershell/クラス」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→ハッシュの値を返す) |
(→ハッシュの値を返す) |
||
| 行57: | 行57: | ||
$config1 = [IniClass]::load() | $config1 = [IniClass]::load() | ||
Write-Host $config1.number # 1 | Write-Host $config1.number # 1 | ||
| + | </pre> | ||
| + | |||
| + | ==globalにしたデータは取得できない=== | ||
| + | <pre> | ||
| + | class HashClass { | ||
| + | static [hashtable] load() { | ||
| + | $global.hash = @{ Number = 1; Shape = "Square"; Color = "Blue"} | ||
| + | return $hash | ||
| + | } | ||
| + | } | ||
| + | $config1 = [IniClass]::load() | ||
| + | > Unable to find type [IniClass]. | ||
</pre> | </pre> | ||
2021年8月23日 (月) 20:58時点における版
サンプル(インスタンス生成)
HelloClass.ps1
class HelloClass {
[string] hello() {
return "Hello!!"
}
[void] test() {
Write-Host "hoge"
}
}
$helloObj = New-Object HelloClass
# $helloObj = [HelloClass]::new() #こちらでもよい
$helloObj.hello()
$helloObj.test() # hoge
参考:https://www.vwnet.jp/Windows/PowerShell/2017082401/PSv5Class06.htm
サンプル(インスタンス生成)
HelloClass.ps1
class HelloClass {
[string] $name
HelloClass([string] $name) {
Write-Host $name
$this.name = $name
}
[string] hello() {
return "Hello!! " + $this.name
}
}
$helloObj = [HelloClass]::new("taro")
$helloObj.hello()
参考:https://www.vwnet.jp/Windows/PowerShell/2017082401/PSv5Class06.htm
サンプル静的クラス
HelloUtil.ps1
class HelloUtil {
static [int] hello([int] $test) {
return $test
}
}
[HelloUtil]::hello(11)
ハッシュの値を返す
ハッシュの型はhashtableになる。
class HashClass {
static [hashtable] load() {
$hash = @{ Number = 1; Shape = "Square"; Color = "Blue"}
return $hash
}
}
$config1 = [IniClass]::load()
Write-Host $config1.number # 1
globalにしたデータは取得できない=
class HashClass {
static [hashtable] load() {
$global.hash = @{ Number = 1; Shape = "Square"; Color = "Blue"}
return $hash
}
}
$config1 = [IniClass]::load()
> Unable to find type [IniClass].
