[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 не перекинут, соответственно его результат и возвращается.
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
Во-вторых, в данном случае мы вообще не знаем, откуда берется аргумент этой функции. Читается ли он из конфига, вводится ли пользователем, захаркоуден ли он в код. Не будешь же ты во втором случае писать инпут юзера в xml-ку, а потом оттуда читать, правда? =) А в первом и третьем случае валидацию вообще, имхо, мало смысла делать.
> Почему сразу униксоиды и неудачники?Не буду очередной флейм разводить, и молча проглочу =)
Ну он вроде говорил про просто униксоидов, кажется.
Про неудачников добавил я, когда посмотрел на этот код - он ведь не для уникса.
Ну, во-первых, если уж на то пошло, то моя имха - валидацией\ескейпом\прочей_лабудой должна заниматься прослойка между БД и языком.Ну да. И в данном коде оная прослойка явно не используется.
> Не будешь же ты во втором случае писать инпут юзера в xml-ку, а потом
> оттуда читать, правда?
Ну да. И в данном коде оная прослойка явно не используется.Как и xml =)
> Не будешь же ты во втором случае писать инпут юзера в xml-ку, а потомХм. Хочешь сказать, что к Ораклу теперь запросы можно xml'ями писать?
> оттуда читать, правда?
Ну там подразумевалось, что в Едином API(tm) эта прослойка использует (или должна использовать) xml в качестве промежуточного языка.
> Хочешь сказать, что к Ораклу теперь запросы можно xml'ями писать?
А что, разве нельзя? По-моему, все ведущие вендоры уже давно включили поддержку XML, так как это модно.
> Хочешь сказать, что к Ораклу теперь запросы можно xml'ями писать?Не знаю, я не в теме, поэтому и спросил =)
А что, разве нельзя? По-моему, все ведущие вендоры уже давно включили поддержку XML, так как это модно.
Кроме того, есть отдельные трансляторы из XPath и XQuery в SQL, которые стандартный SQL выдают.
Судя по гуглу, похоже кушает =)
Пока что видны все те же вызовы API, только какие-то навороты в синтаксисе, чтоб код длиннее получался.
я это один раз поставил, ужаснулся временем загрузки, поценил галюциногенный синтаксис, и стер +)
там специальный упрощённый синтаксис, поддерживающий read-eval-print и пайпы для команд специального типа - .net объектов со специальным интерфейсом
если с юниксами сравнивать, то похож скорее на какой-нибудь perl shell по устройству
И я всё никак не могу возботать синтаксис до конца =( Недавно переименовывал кучу файликов вида "blabla-23-blablabla.bla" с выдиранием числа, расширением до двух символов и вставлением в другой текст, типа сабы совмещал с авишками, так вот, полчаса пытался наваять эту хню на павершелле, потом плюнул и нафигачил на шарпе процедуру "получить новое имя по старому" и вызывал её из скрипта.
Ну да, он изначально позиционируется всё-таки как _интерактивный_ скриптовый языкЭто нужно вводить интерактивно? Видимо, это для тех, кто твёрд в вере.
с интелисенсом лучше длинные имена, т.к. даже не обращаясь к документации можно вспомнить, что данная функция делает.
нажав l и увидев подсказку ls - тяжело вспомнить, а что этот ls именно делает.
особенно это важно в мультиязыковом окружении, когда ls в разных языках может делать противоположные вещи, и в голове все эти различия держать не хочется.
В твоей вере никто и не сомневался.
при этом любой кусок кода быстрым движением можно опять обратно "распаковать" - вместо алиасов поставив длинные имена.
ps
проблему хорошо видно на регулярных выражениях, потому что либо регулярными выражениями надо постоянно заниматься, чтобы по памяти помнить все сокращения, либо получается, вообще, их не использовать - потому что легко грохается куча времени даже на написание/чтение и отладку даже простейшего рег. выражения
В Графической ОС(tm) должны быть иконки, а не алиасы. Вот на такое было бы действительно интересно посмотреть.
В Графической ОС(tm) должны быть иконки, а не алиасы. Вот на такое было бы действительно интересно посмотретьно основное преимущество графической ОС - это то, что текст можно выводить в любом месте любого размера с любым оформлением, а никак не иконки.
тот же intellisense в текстовой ОС делается довольно коряво, хотя в intelisense нет ни одной иконки.
> что текст можно выводить в любом месте любого размера с любым оформлением
Старьё, технологии 80-х. В наш информационный век актуальны анимированные иконки с текстурами и шейдерами. И обязательно с DRM.
тот же intellisense в текстовой ОС делается довольно коряво, хотя в intelisense нет ни одной иконкитекстовая ОС - это Emacs?
ну в ней требуемые алиасы можно прикрутить самому несколькими строчками, а в сабже?
ps
алиасы в сабже тоже пару строчками прикручиваются, и для основных команд они по умолчанию и прикручены
алиасы в сабже тоже пару строчками прикручиваются, и для основных команд они по умолчанию и прикрученыпо нажатию спец. кнопки раскрываются?
хз, редактор для powershell-а - я смотрел чуть-чуть и в виде beta-ы
какой ещё редактор, если это интерактивные команды?
зы
дальше либо к шеллу прикрутят функционал редактора, либо из редактора сделают шел.
или это будет графический редактор?
если он такой хороший, то зачем народ пишет, более специализированный под разработку, редактор Eclipse?
вроде редактор, специализированный под разработку, у MS уже тоже есть
угу, есть, но он хороший, но громоздкий - с кучей, в том числе, унаследованного кода.
соответственно понятно желание под Powershell сделать что-то более простое и современное.
Оставить комментарий
agaaaa
Если после объявления функции написать $x = GetTable "TABLE_NAME", то в $x заносится значение типа Int32. Как добиться того, чтобы туда записывалась полученная таблица?