
arisu
08.03.2017
19:12:03
там была стена кода
на 6000 строк в одном файле

Игорь
08.03.2017
19:15:53
угу. потеряй одну кавычку и все

arisu
08.03.2017
19:17:20
для этого есть иде

Google

Игорь
08.03.2017
19:35:53
для этого есть иде
оно умеет считать количство кавычек в строках, разбитых плюсами и переменными?

arisu
08.03.2017
19:36:51
как будто ни разу не писал в IDE?

Игорь
08.03.2017
19:37:33
это было дааавно. я тогда еще ток в школе учился
начало этого века

Aragaer
08.03.2017
19:37:55
причем тут IDE? Любой нормальный редактор с подсветкой синтаксиса на это способен
а такие редакторы еще в прошлом тысячелетии были

arisu
08.03.2017
19:38:40
любой нормальный редактор == редактор IDE, а не это ваше гнутое поделие с плагинами

Gans
08.03.2017
19:39:41

arisu
08.03.2017
19:40:18
ну из 300к в секунду можно выделить бюджет на иде

Игорь
08.03.2017
19:40:32

arisu
08.03.2017
19:40:42
ладно, я перетолстил

Aragaer
08.03.2017
19:40:44
с какими плагинами?

Igor
08.03.2017
19:40:55
не забьет

Google

Igor
08.03.2017
19:41:02
BracketHighlighter отлично работает

Aragaer
08.03.2017
19:41:30
прям вот вим из коробки все подсветит
да и даже гедит все подсветит

Игорь
08.03.2017
19:42:24
не забьет
у саблайма ограничение точно есть. Я проверял. Пробовал json руками разбирать.

Aragaer
08.03.2017
19:42:41
с вимом помню был шикарный трюк, когда у тебя есть html файл и в нем инлайн js и инлайн css и все три подсвечены своим синтаксисом

arisu
08.03.2017
19:43:34
сливается в общую кучу

Alex
08.03.2017
19:44:02

arisu
08.03.2017
19:44:03
было бы шикарно, если бы подсветка языка делалась при вхождении в фрагмент кода

Aragaer
08.03.2017
19:44:04
когда я был маленьким и глупым и занимался вебом, мне это казалось очень удобным

Игорь
08.03.2017
19:44:42
но блин. руками разгребать это такой треш. Что-то просмотреть очень легко. Если мне надо что-то вытащить из json выхлопа, то я просто его прямо в консоли питона. Так проще не запутаться

arisu
08.03.2017
19:44:47
находишься в куске хтмл - хтмл подсвечен, джс подсвечен как обычный текст
тыкнул в блок джс - хтмл подсвечен как обычный текст, джс окрашен

Aragaer
08.03.2017
19:45:20
я думаю, это можно сделать, но нужно уже немного поковырять вимскрипт. Или найти готовый плагин

Pavel
08.03.2017
19:45:46

Denis
08.03.2017
19:47:09

Aragaer
08.03.2017
19:47:21
наверно умеет, но 10 лет назад у меня не было какого-то особо богатого выбора

arisu
08.03.2017
19:47:27
нет, пайчарм тоже всё подсвечивает
сразу

Маришка
08.03.2017
19:47:41
Зачем?

Google

Маришка
08.03.2017
19:47:55
Ты хочешь затемнить остальной скоуп?

arisu
08.03.2017
19:48:02
именно

Маришка
08.03.2017
19:48:08
Который не относится к тому в котором ты сейчас работаешь?
Нахрена?

arisu
08.03.2017
19:48:12
да.

Игорь
08.03.2017
19:49:06
кто сейчас верстает хтмл руками? О_о.

arisu
08.03.2017
19:49:40
не знаю, мне кажется, при работе с разметкой было бы удобно видеть блоки подсвечеными так, чем они являются в контексте языка

Aragaer
08.03.2017
19:49:45
когда мне что-то ударяет в голову и мне нужен хтмл, то руками
но это бывает нечасто

arisu
08.03.2017
19:50:26
с точки зрения хтмл - хоть собаку, хоть мамку админа вписывай, хоть джс - это строка по идее

Aragaer
08.03.2017
19:50:34
последний раз - когда я рисовал статический сайт для предпросмотра бронек для eso

Марк
08.03.2017
19:55:48
Чуваки, в чем прикол писать так:
class a:
s = 10

Марк
08.03.2017
19:55:58
Без init

arisu
08.03.2017
19:57:40
это статическое свойство
оно принадежит пространству имен cls

Марк
08.03.2017
19:58:44
Ну а практическая целесообразность какая?

arisu
08.03.2017
19:59:09
объявить статическое свойство
которое будет доступно либо без создания инстанса print(a.s)
либо будет общим для всех инстансов
x, y = a(), a()

Google

arisu
08.03.2017
20:00:23
x.s = 6
y.s == 6

Марк
08.03.2017
20:00:38
То есть, если я в init хуйну s = 10 принципиально ничего не поменяется
?

Igor
08.03.2017
20:00:59
поменяется

arisu
08.03.2017
20:01:00
откуда я знаю, что ты хочешь этим добиться

Igor
08.03.2017
20:01:04
инит определит для инстанса
ну, то есть, arisu desu правильно все написал
а про принципиально это уже тебе лучше знать

arisu
08.03.2017
20:02:34
если тебе нужно каждому объекту класса иметь отдельное значение s

Admin
ERROR: S client not available

arisu
08.03.2017
20:02:36
тогда в инит

Марк
08.03.2017
20:02:53
Да я в коде у друго чувака натолкнулся на иерархию классов, где такие переменные были забиты вне init. Вот и хочу всосать, нахуя он так делал

arisu
08.03.2017
20:02:53
если общее состояние для всех - тогда как в твоем примере

Aragaer
08.03.2017
20:03:57
class C():
s = 6
x, y = C(), C()
print(x.s, y.s)
y.s = 8
print(x.s, y.s)
для примитивных типов ты не заметишь отличия от "дефолтное значение"
но если там не примитивный тип, а допустим список, то тут-то и вскроется его истинная натура - это общее поле для всех инстансов и до него можно добраться череж C.s
в пилинте есть предупреждение, если ты вдруг пытаешься у объекта класса создать вне инита новое поле, но все норм, если оно же объявлено на уровне класса

wf
08.03.2017
20:07:43
class C():
s = 6
x, y = C(), C()
print(x.s, y.s)
y.s = 8
print(x.s, y.s)
имхо, полнее картину даст:
class C():
s = 6
x, y = C(), C()
print(x.s, y.s)
y.s = 8
print(x.s, y.s)
C.s=10
print(x.s, y.s)

Марк
08.03.2017
20:07:47
Это вообще нормальная практика? А то я обычно все в init хуячу

Aragaer
08.03.2017
20:07:50
да

Google

arisu
08.03.2017
20:08:09
это повод разобраться
как это устроено

Aragaer
08.03.2017
20:08:35
ну я когда хочу совсем подробно, то делаю примерно так:
class C():
_f = None
def __init__(self):
self._f = []
это способ явно указать, какими полями я вообще планирую пользоваться в данном классе
потому что инит может быть сложным, а список полей в самом начале описания класса это просто несколько строк

Igor
08.03.2017
20:10:10

Nikolay
08.03.2017
20:10:20

Aragaer
08.03.2017
20:10:37
так до них и не дорос

Nikolay
08.03.2017
20:10:41
и не всегда стоит мешать переменные класса и инстанса
и еще - как насчет properties с геттерами и сеттерами?

Марк
08.03.2017
20:11:06
То есть, если совсем по колхозному - это типо глобальных переменных в рамках класса.
?

Aragaer
08.03.2017
20:11:21
почти

Маришка
08.03.2017
20:11:21
Да
По колхозному

Aragaer
08.03.2017
20:11:36
когда ты ищешь поле у инстанса, а у него такого нет, то получишь поле класса

wf
08.03.2017
20:11:46

Nikolay
08.03.2017
20:12:17

wf
08.03.2017
20:12:21
имхо, полнее картину даст:
class C():
s = 6
x, y = C(), C()
print(x.s, y.s)
y.s = 8
print(x.s, y.s)
C.s=10
print(x.s, y.s)

Nikolay
08.03.2017
20:12:41
экземпляр - это когда ты пишешь s = S()
а объект класса - это S
поля, которые объявлены в классе вне __init__ - это поля объекта класса S