Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
1 / 1 / 1
Регистрация: 14.08.2014
Сообщений: 11

Область видимости переменных

30.10.2014, 18:55. Показов 5000. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!
Есть простой код. В повергуе работает так как я предполагал, в консоли не очень. Чего я не знаю?
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cls
function f1 (){
    $script:a = "f1"
    Write-Host "---in f1---"
    Write-Host $a
}
 
function f2 (){
    $global:a = "f2"
    Write-Host "---in f2---"
    Write-Host $a
}
 
Set-Variable -Name a -Value "main" -scope global
Write-Host $a
f1
Write-Host "---after f1---"
Write-Host $a
f2
Write-Host "---after f2---"
Write-Host $a
по скрину все понятно
Миниатюры
Область видимости переменных  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.10.2014, 18:55
Ответы с готовыми решениями:

Область видимости переменных в Qt
Проблема такая: Есть глобальная переменная: объект класса, заданная как внешняя переменная ко всей программе. Не могу добиться видимости ее...

Область видимости переменных
Из метода loader.load, который подгружает модель часов, нужно передать значение в переменную var stats = 0. var stats = 0; ... ...

Область видимости переменных
Как использовать одну переменную в нескольких файлах, если эта переменная задана только в одном. Файлы между собой связаны Добавлено...

3
 Аватар для borne
88 / 88 / 37
Регистрация: 28.11.2012
Сообщений: 309
31.10.2014, 14:24
А если так?:
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function f1 (){
    $script:a = "f1"
    Write-Host "---in f1---"
    Write-Host $a
}
 
function f2 (){
    $Global:a="f2"
    Write-Host "---in f2---"
    Write-Host $global:a
}
 
Set-Variable -Name a -Value "main" -scope global
Write-Host $a
f1
Write-Host "---after f1---"
Write-Host $a
f2
Write-Host "---after f2---"
Write-Host $global:a
pause
Добавлено через 1 минуту
Такое ощущение что переменная 'a' начинает делиться на 2 состояния $Global:a и $a
0
1 / 1 / 1
Регистрация: 14.08.2014
Сообщений: 11
01.11.2014, 07:44  [ТС]
В вашем варианте работает, но меня больше заботит вопрос почему результат в повергуе и консольке поша отличается?
Все с чего началось-то... Есть другой скрипт с менюшным интерфейсом, там когда выбираешь действие практически всегда есть выбор либо в консоль делать вывод, либо в файл. Я, дабы не писать по 2 варианта кода для того и другого написал функцию, которая в зависимости от определенного параметра делает вывод либо туда, либо сюда. Переменную, хранящую имя файла, всегда (при установке или чтении значения) пишу через $global, потому что не хочу каждый раз передавать ее в свою функцию вывода. И загвоздка в чем: в повергуе все норм, в консоли мне выдает ошибку, что данная переменная с именем файла = нулл. Начал разбираться, в итоге выяснил, что по непонятным мне причинам один и тот же код в повергуе и консоли работает по разному. WTF?!

З.Ы. Кстати даже несмотря на то, что в этом примере область $script работает норм, то в моем основном скрипте, выходит та же хрень что и $global. У меня возникает странное подозрение, что области повергуй и консоль воспринимают по разному =(
0
1 / 1 / 1
Регистрация: 14.08.2014
Сообщений: 11
10.11.2014, 10:10  [ТС]
Мыслей ни у кого нет получается?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2014, 10:10
Помогаю со студенческими работами здесь

Область видимости переменных
Предположим у меня есть несколько форм. С одной формы я открываю другую. Так вот мне нужно получить доступ из дочерней формы к элементам...

Область видимости переменных
Не компилируется программа, пишет, что count не является однозначным... #include <iostream> #include <stdio.h> using...

Область видимости переменных
Добрый день форумчане! Вопрос так сказать новичка.Есть глобальные переменные и локальные.Если обращатся к глобальной внутри функции то надо...

область видимости переменных
Такая значит интересная задачка: В проекте было две формы и модуль. В модуле описан кучерявый Паблик-массив. Работать с массивом можно из...

Область видимости переменных
Всем привет! Прошу помощи. Есть ajax запрос, который забирает JSON данные с сервера self.readData = function(){ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru