LINUX.ORG.RU

Ломаются строки после C-o

 


0

1

Есть кусок кода

try:
    if 'add' in args.tag:
        Tags().add(**dict({'tagname': args.tag[1]}, **connect))
    elif 'lst' in args.tag:
        |Tags().lst(**dict(**connect))
Делаю C-o и получаю
try:
    if 'add' in args.tag:
        Tags().add(**dict({'tagname': args.tag[1]}, **connect))
    elif 'lst' in args.tag:
        |    
Tags().lst(**dict(**connect))
Что это вообще за безобразие и как это предотвратить ?

Вариант2:

try:
    if 'add' in args.tag:
        Tags().add(**dict({'tagname': args.tag[1]}, **connect))
    elif 'lst' in args.tag:
        |Tags().lst(**dict(**connect))
Делаю Enter и C-p и получаю:
try:
    if 'add' in args.tag:
        Tags().add(**dict({'tagname': args.tag[1]}, **connect))
    elif 'lst' in args.tag:
|        
        Tags().lst(**dict(**connect))

★★★★

Последнее исправление: bryak (всего исправлений: 2)

Если это Пистон, то что это за |Tags, и что это за наркоманский синтаксис **dict({, сделайте меня развидить, учи уже целевой язык а не редактор.

add(tagname='foo', **connect)

А ему еще какие-то хоткеи советуют, человек думает что умственно богатеет.

anonymous
()

**dict(**connect тоже перл тот еще, нужно больше звездочек и скобочек, ТС. А то пацаны засмеют.

anonymous
()
Ответ на: комментарий от anonymous

Про архитектурное решение с if-in я уже молчу, ДНК пока менять не научились.

anonymous
()

У тебя вообще, когда что-то происходит НЕ ТАК КАК ТЫ ДУМАЛ, не возникают мысли что ТЫ ДУМАЛ НЕ ПРАВИЛЬНО? ДЕЛАЛ НЕ ПРАВИЛЬНО? Только редакторы и языки виноваты, библиотеки глючные?

anonymous
()
Ответ на: комментарий от anonymous
  • покажи мне пункт в правилах лор, в котором я должен обсужать не проблему, из-за которой создан топик, а код с anonymous
  • сказал а, говори и z. Покажи, умник, как можно конкатенировать два dict без изменения содержимого первого словаря. Неужто сейчас про update() будешь вещать. Для anonymous повторю еще раз: без изменения словаря connect. Блесни умом.
bryak ★★★★
() автор топика
Последнее исправление: bryak (всего исправлений: 3)

Щас попробовал, УМВР, emacs 25.1.50.1 + elpy

C-o конечно всегда помещает с начала строки, но enter всё делает правильно.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от bryak

И что? У меня-то:

try:
    if 'add' in args.tag:
        Tags().add(**dict({'tagname': args.tag[1]}, **connect))
    elif 'lst' in args.tag:
        |
        Tags().lst(**dict(**connect))

Или ты что-то другое хотел? elpy стоит?

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от no-such-file

Дык у меня | на одном уровне с try стоит после Enter + C-p

bryak ★★★★
() автор топика

anonymous до сих пор кешируется с его

и что это за наркоманский синтаксис **dict({, сделайте меня развидить
Видимо так и не надумал, как два dict конкатенировать без изменения dict

bryak ★★★★
() автор топика
Ответ на: комментарий от bryak

dict1 + dict2 пробовал, придурок? маловат ты еще с дядьками спорить, все что угодно можно сделать переганяя в списки-таплы и обратно, дойдешь до itertools/functools маякуй.

anonymous
()
Ответ на: комментарий от bryak

ты не понял сути вопроса вообще, а еще вы...ешься. тебе достаточно

foo = dict(val='val', val2='val2'), но ты трижды конвертнул словарь в словарь, еще звездочки приплел зачем-то. dict(**first, **second) тоже не прокатило?

и повторяю последний раз, что это за палка у тебя на строке, которая НЕ ДОЛЖНА типа изменяться? Расскажи чего пытаешься ею добиться, ясен пень форматер охренел от твоей безграмотности и явно указал тебе на косяк, а ты еще не доволен.

пс когда придумать не можешь гугли лучше, клован

anonymous
()
Ответ на: комментарий от anonymous

Слушай, ты утомил тупить.

x = {'one': 1, 'two': 2}
y = {'some': 12}
print(dict(y, **x))
out:

{'some': 12, 'two': 2, 'one': 1}

А что, если args.tag[1] не является словарём ? Что, мне гадить в коде, создавая отдельно

zzz = {'taglist: args.tag[1]}, а потом 
**dict(y, **x)
Tags().add(**dict({zzz, **connect))
распаковка **dict нужна для метода, в котором *args, **kwargs.

PS: 19 января на дворе, может уже пора завязывать праздновать нг ?

bryak ★★★★
() автор топика
Ответ на: комментарий от anonymous

Какой форматер, что ты лепишь ? Оно ломается и на

for x in 'zzz':
   print(x)

bryak ★★★★
() автор топика

Ну что ж, подождем, когда в стейбле появится 25 версия.

bryak ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.