[PowerShell] Никак не могу понять, как возвращать объекты.
А ведь говорили, что на баш похоже...
Имхо, баш не поддерживает объекты.
лучше бы на питон сделали похожим, или к sh прикрутили объекты
google: powershell function
уже вторая ссылка подробно разбирает, как возвращается значение из функции в powershell-е
http://blogs.msdn.com/powershell/archive/2006/07/31/Suppress...
смысл в том, что у тебя Fill в null не перекинут, соответственно его результат и возвращается.
уже вторая ссылка подробно разбирает, как возвращается значение из функции в powershell-е
http://blogs.msdn.com/powershell/archive/2006/07/31/Suppress...
смысл в том, что у тебя Fill в null не перекинут, соответственно его результат и возвращается.
А чем этот странный язык от C# вообще отличается, кроме несколько извратного синтаксиса?
Местный модератор как-то говорил, что так пишут только униксоиды и прочие неудачники. Нужно XML юзать, чтоб не было SQL injection.
System.Data.OracleClient.OracleDataAdapter
-argumentList ("select * from " + $local:table
"Data Source=source;User ID=usr;Password = psw;Unicode=True"
Местный модератор как-то говорил, что так пишут только униксоиды и прочие неудачники. Нужно XML юзать, чтоб не было SQL injection.
Местный модератор как-то говорил, что так пишут только униксоиды и прочие неудачники. Нужно XML юзать, чтоб не было SQL injection.Почему сразу униксоиды и неудачники?
Валидировать же вводимые пользователем данные можно сразу после ввода, а не в каждой вызываемой функции, которая их юзает.
//Надо мне еще о-иммунитет выработать, и жизнь будет прекрасна... =)
> Почему сразу униксоиды и неудачники?
Ну он вроде говорил про просто униксоидов, кажется.
Про неудачников добавил я, когда посмотрел на этот код - он ведь не для уникса.
> Валидировать же вводимые пользователем данные можно сразу после ввода
Валидировать? То есть не пропускать спецсимволы?
А если их нужно передать базе? Вот и усложняешь код разными *escape
Ну он вроде говорил про просто униксоидов, кажется.
Про неудачников добавил я, когда посмотрел на этот код - он ведь не для уникса.
> Валидировать же вводимые пользователем данные можно сразу после ввода
Валидировать? То есть не пропускать спецсимволы?
А если их нужно передать базе? Вот и усложняешь код разными *escape
Валидировать? То есть не пропускать спецсимволы?Ну, во-первых, если уж на то пошло, то моя имха - валидацией\ескейпом\прочей_лабудой должна заниматься прослойка между БД и языком. В этом случае тебя вообще ничего не парит, и незачем изобретать велосипед.
А если их нужно передать базе? Вот и усложняешь код разными *escape
Во-вторых, в данном случае мы вообще не знаем, откуда берется аргумент этой функции. Читается ли он из конфига, вводится ли пользователем, захаркоуден ли он в код. Не будешь же ты во втором случае писать инпут юзера в xml-ку, а потом оттуда читать, правда? =) А в первом и третьем случае валидацию вообще, имхо, мало смысла делать.
> Почему сразу униксоиды и неудачники?Не буду очередной флейм разводить, и молча проглочу =)
Ну он вроде говорил про просто униксоидов, кажется.
Про неудачников добавил я, когда посмотрел на этот код - он ведь не для уникса.
Ну, во-первых, если уж на то пошло, то моя имха - валидацией\ескейпом\прочей_лабудой должна заниматься прослойка между БД и языком.Ну да. И в данном коде оная прослойка явно не используется.
> Не будешь же ты во втором случае писать инпут юзера в xml-ку, а потом
> оттуда читать, правда?
Ну да. И в данном коде оная прослойка явно не используется.Как и xml =)
> Не будешь же ты во втором случае писать инпут юзера в xml-ку, а потомХм. Хочешь сказать, что к Ораклу теперь запросы можно xml'ями писать?
> оттуда читать, правда?
> Как и xml
Ну там подразумевалось, что в Едином API(tm) эта прослойка использует (или должна использовать) xml в качестве промежуточного языка.
> Хочешь сказать, что к Ораклу теперь запросы можно xml'ями писать?
А что, разве нельзя? По-моему, все ведущие вендоры уже давно включили поддержку XML, так как это модно.
Ну там подразумевалось, что в Едином API(tm) эта прослойка использует (или должна использовать) xml в качестве промежуточного языка.
> Хочешь сказать, что к Ораклу теперь запросы можно xml'ями писать?
А что, разве нельзя? По-моему, все ведущие вендоры уже давно включили поддержку XML, так как это модно.
> Хочешь сказать, что к Ораклу теперь запросы можно xml'ями писать?Не знаю, я не в теме, поэтому и спросил =)
А что, разве нельзя? По-моему, все ведущие вендоры уже давно включили поддержку XML, так как это модно.
Уж XPath-то наверняка кушает.
Кроме того, есть отдельные трансляторы из XPath и XQuery в SQL, которые стандартный SQL выдают.
Кроме того, есть отдельные трансляторы из XPath и XQuery в SQL, которые стандартный SQL выдают.
Судя по гуглу, похоже кушает =)
Интересует всё-таки первый вопрос. Эта поделка чем-то принципиально отличается от C# в лучшую сторону (для применения в скриптах)?
Пока что видны все те же вызовы API, только какие-то навороты в синтаксисе, чтоб код длиннее получался.
Пока что видны все те же вызовы API, только какие-то навороты в синтаксисе, чтоб код длиннее получался.
не знаю, не в теме
я это один раз поставил, ужаснулся временем загрузки, поценил галюциногенный синтаксис, и стер +)
я это один раз поставил, ужаснулся временем загрузки, поценил галюциногенный синтаксис, и стер +)
нарыл в msdn следущее
там специальный упрощённый синтаксис, поддерживающий read-eval-print и пайпы для команд специального типа - .net объектов со специальным интерфейсом
если с юниксами сравнивать, то похож скорее на какой-нибудь perl shell по устройству
там специальный упрощённый синтаксис, поддерживающий read-eval-print и пайпы для команд специального типа - .net объектов со специальным интерфейсом
если с юниксами сравнивать, то похож скорее на какой-нибудь perl shell по устройству
Ну да, он изначально позиционируется всё-таки как _интерактивный_ скриптовый язык. Поэтому программировать что-нибудь сложное на нём как-то неприкольно, а вот пару ключиков из регистри потереть — самое то.
И я всё никак не могу возботать синтаксис до конца =( Недавно переименовывал кучу файликов вида "blabla-23-blablabla.bla" с выдиранием числа, расширением до двух символов и вставлением в другой текст, типа сабы совмещал с авишками, так вот, полчаса пытался наваять эту хню на павершелле, потом плюнул и нафигачил на шарпе процедуру "получить новое имя по старому" и вызывал её из скрипта.
И я всё никак не могу возботать синтаксис до конца =( Недавно переименовывал кучу файликов вида "blabla-23-blablabla.bla" с выдиранием числа, расширением до двух символов и вставлением в другой текст, типа сабы совмещал с авишками, так вот, полчаса пытался наваять эту хню на павершелле, потом плюнул и нафигачил на шарпе процедуру "получить новое имя по старому" и вызывал её из скрипта.
Ну да, он изначально позиционируется всё-таки как _интерактивный_ скриптовый языкЭто нужно вводить интерактивно? Видимо, это для тех, кто твёрд в вере.
> Это нужно вводить интерактивно?
с интелисенсом лучше длинные имена, т.к. даже не обращаясь к документации можно вспомнить, что данная функция делает.
нажав l и увидев подсказку ls - тяжело вспомнить, а что этот ls именно делает.
особенно это важно в мультиязыковом окружении, когда ls в разных языках может делать противоположные вещи, и в голове все эти различия держать не хочется.
с интелисенсом лучше длинные имена, т.к. даже не обращаясь к документации можно вспомнить, что данная функция делает.
нажав l и увидев подсказку ls - тяжело вспомнить, а что этот ls именно делает.
особенно это важно в мультиязыковом окружении, когда ls в разных языках может делать противоположные вещи, и в голове все эти различия держать не хочется.
В твоей вере никто и не сомневался.
если говорить про идеальную интерактивную среду, то удобно было бы - если в intellisense показывается и длинные имена, и алиасы к ним, после ввода длинное имя заменяется на короткое.
при этом любой кусок кода быстрым движением можно опять обратно "распаковать" - вместо алиасов поставив длинные имена.
ps
проблему хорошо видно на регулярных выражениях, потому что либо регулярными выражениями надо постоянно заниматься, чтобы по памяти помнить все сокращения, либо получается, вообще, их не использовать - потому что легко грохается куча времени даже на написание/чтение и отладку даже простейшего рег. выражения
при этом любой кусок кода быстрым движением можно опять обратно "распаковать" - вместо алиасов поставив длинные имена.
ps
проблему хорошо видно на регулярных выражениях, потому что либо регулярными выражениями надо постоянно заниматься, чтобы по памяти помнить все сокращения, либо получается, вообще, их не использовать - потому что легко грохается куча времени даже на написание/чтение и отладку даже простейшего рег. выражения
В Графической ОС(tm) должны быть иконки, а не алиасы. Вот на такое было бы действительно интересно посмотреть.
В Графической ОС(tm) должны быть иконки, а не алиасы. Вот на такое было бы действительно интересно посмотретьно основное преимущество графической ОС - это то, что текст можно выводить в любом месте любого размера с любым оформлением, а никак не иконки.
тот же intellisense в текстовой ОС делается довольно коряво, хотя в intelisense нет ни одной иконки.
> но основное преимущество графической ОС - это то,
> что текст можно выводить в любом месте любого размера с любым оформлением
Старьё, технологии 80-х. В наш информационный век актуальны анимированные иконки с текстурами и шейдерами. И обязательно с DRM.
> что текст можно выводить в любом месте любого размера с любым оформлением
Старьё, технологии 80-х. В наш информационный век актуальны анимированные иконки с текстурами и шейдерами. И обязательно с DRM.
тот же intellisense в текстовой ОС делается довольно коряво, хотя в intelisense нет ни одной иконкитекстовая ОС - это Emacs?
ну в ней требуемые алиасы можно прикрутить самому несколькими строчками, а в сабже?
речь вроде шла про удобный intellisense, а не про alias-ы.
ps
алиасы в сабже тоже пару строчками прикручиваются, и для основных команд они по умолчанию и прикручены
ps
алиасы в сабже тоже пару строчками прикручиваются, и для основных команд они по умолчанию и прикручены
алиасы в сабже тоже пару строчками прикручиваются, и для основных команд они по умолчанию и прикрученыпо нажатию спец. кнопки раскрываются?
> по нажатию спец. кнопки раскрываются?
хз, редактор для powershell-а - я смотрел чуть-чуть и в виде beta-ы
хз, редактор для powershell-а - я смотрел чуть-чуть и в виде beta-ы
какой ещё редактор, если это интерактивные команды?
интерактивные команды - выполняемые из редактора. в чем проблема? 
зы
дальше либо к шеллу прикрутят функционал редактора, либо из редактора сделают шел.

зы
дальше либо к шеллу прикрутят функционал редактора, либо из редактора сделают шел.
ну дык вроде emacs уже есть
или это будет графический редактор?
или это будет графический редактор?
> ну дык вроде emacs уже есть
если он такой хороший, то зачем народ пишет, более специализированный под разработку, редактор Eclipse?
если он такой хороший, то зачем народ пишет, более специализированный под разработку, редактор Eclipse?
вроде редактор, специализированный под разработку, у MS уже тоже есть
> вроде редактор, специализированный под разработку, у MS уже тоже есть
угу, есть, но он хороший, но громоздкий - с кучей, в том числе, унаследованного кода.
соответственно понятно желание под Powershell сделать что-то более простое и современное.
угу, есть, но он хороший, но громоздкий - с кучей, в том числе, унаследованного кода.
соответственно понятно желание под Powershell сделать что-то более простое и современное.
Оставить комментарий
agaaaa
Если после объявления функции написать $x = GetTable "TABLE_NAME", то в $x заносится значение типа Int32. Как добиться того, чтобы туда записывалась полученная таблица?