Как получить Management Studio 2005 для копирования заголовков из наборов результатов?

По умолчанию, когда вы копируете / вставляете данные из окна запроса в SSMS, они не копируют заголовки столбцов. я был преобразован в словарную форму) - я проверяю числовую версию поля (в скобках), а не английскую версию:

    BeginString (8): FIX.4.2
    BodyLength (9): 132
    MsgType (35): D (ORDER SINGLE)
    SenderCompID (49): XXXX
    TargetCompID (56): EXCHANGE
    MsgSeqNum (34): 1409104
    SendingTime (52): 20100723-12:49:52.296
    Side (54): 1 (BUY)
    Symbol (55): A002
    ClOrdID (11): BUY704552
    OrderQty (38): 1000
    OrdType (40): 2 (LIMIT)
    Price (44): 130002
    TimeInForce (59): 3 (IMMEDIATE OR CANCEL)
    QuoteID (117): A002
    RelatdSym (46): A002
    CheckSum (10): 219 [correct]

В настоящее время у меня есть аргументы, выходящие из командной строки во вложенный список:

[[35, 'D'], [55, 'A002']]

(где первый элемент каждого подсписка является номером поля, а второй - значением)

Я попытался перебрать этот список правил для накопления лямбда-выражения:

for field, value in args.send["fields_filter"]:
    if matchers["send"] == None:
        matchers["send"] = lambda fix : field in fix and fix[field] == value
    else:
        matchers["send"] = lambda fix : field in fix and fix[field] == value and matchers["send"](fix)

Когда я запускаю программу, я получаю вывод:

RuntimeError: maximum recursion depth exceeded in cmp

Лямбды имеют позднюю привязку? Так относится ли это ко всем идентификаторам в выражении или только к тем, которые передаются в качестве аргументов? Кажется, первое верно

. Как лучше всего реализовать эту функциональность? Я чувствую, что сейчас поступаю неправильно. Может быть, это плохое использование лямбда-выражений, но я не знаю лучшей альтернативы для этого.

1
задан davedavedave 27 August 2010 в 14:44
поделиться