0
Я хочу, чтобы сохранить состояние в возвращаемом закрытии:Сложные объекты в затворах
function HashMaker {
$enc = [System.Text.Encoding]::UTF8
$hasher = New-Object System.Security.Cryptography.SHA1CryptoServiceProvider
return {
param($value)
[System.BitConverter].ToString($hasher.ComputeHash($enc.GetBytes($value)))
}.GetNewClosure()
}
Там явно что-то не так с этим подходом
Что именно неправильно? Какое поведение вы получаете? И как он отличается от того, что вы ожидаете? – PetSerAl
На самом деле трудно угадать намерения. Вышеприведенный код возвращает блок сценария, но не очень полезен, поскольку ни один хэш-файл $, а $ enc не будет существовать после его возврата. –
@ChrisDent Они, безусловно, будут (любезно предоставлены 'GetNewClosure()') –