M>>Только тупой идиот будет гнаться за краткостью ради краткости. Более того, в приведенном примере динамическими структурами даже и не пахнет. И да, для динамических структур в правильных языках eval даром не нужен.
PC_>ЗАБАНИТЬ
Ггг. За что, дорогой ты мой? За выделенное? Ну так извини, если ты общую фразу принял на свой счет, то это сугубо твои личные проблемы. И да, повторю:
Только тупой идиот будет гнаться за краткостью ради краткости. Более того, в приведенном примере динамическими структурами даже и не пахнет. И да, для динамических структур в правильных языках eval даром не нужен.
Здравствуйте, Mamut, Вы писали:
M>Внятно ответить на это ты все равно не сможешь
Только тупой идиот может не применять евал там где он нужен.
Раз ты не можешь представить код короче и читабельней не пытайся свой проигрыш както оправдать.
Это бесполезно.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, PC_2, Вы писали:
PC_>ПРЕДИСЛОВИЕ
PC_>Родилась идея создать язык: PC_>А) Простой PC_>Б) Ультракороткий
Я ж сказал есть такой язык. Простота в синтаксисе. Практически все описывается одной синтаксической формулой. Это же означает что ультра короткий. Где-то 5 базовых понятий и все. На них все строится. Выражения пишутся обычно, но есть и более удобная форма. Дальше что?
Здравствуйте, PC_2, Вы писали:
PC_>Это и есть реверсивный алгоритм.
В школу, родной! Это тот же алгоритм, работающий с другими данными.
PC_>Кстате я не знаю что в твоем говноязыке ascii_numbers константа. PC_>Если A..Z как по условиям задачи то переназови.
Ради бога — назовем ее AZ. Название тупое, но для такого любителя краткости, как ты — в самый раз.
Здравствуйте, batu, Вы писали:
B>Я ж сказал есть такой язык. Простота в синтаксисе. Практически все описывается одной синтаксической формулой. Это же означает что ультра короткий. Где-то 5 базовых понятий и все. На них все строится. Выражения пишутся обычно, но есть и более удобная форма. Дальше что?
Назови имя сему языку.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, Пацак, Вы писали:
П>Ради бога — назовем ее AZ. Название тупое, но для такого любителя краткости, как ты — в самый раз.
AZ — это константа ?
А если нужно поселдовательность с B..Z то будет BZ константа
Ты чо прикалываешся ? Сколько у тебя таких комбинаторных констант будет в говноязыке ?
Тебе всей жизни не хватит чтобы все типы констант просто обьявить
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, PC_2, Вы писали:
PC_>AZ — это константа ? PC_>А если нужно поселдовательность с B..Z то будет BZ константа
Нет, будет AZ[1:], т.е. тот же набор, начиная со второго элемента. Но ты не отвлекайся давай, ты свой вариант пиши. Или опять начнешь свои обычные песни про "не интересно"?
Здравствуйте, Пацак, Вы писали:
П>Нет, будет AZ[1:], т.е. тот же набор, начиная со второго элемента. Но ты не отвлекайся давай, ты свой вариант пиши. Или опять начнешь свои обычные песни про "не интересно"?
Я еще такой хрени не видел.
А если задача как тот парень подсказал, например задать произвольный набор символов для пароля
A, C, E, M, F, #, ^, $, (, @
какая константа ?
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
M>>Внятно ответить на это ты все равно не сможешь
PC_>Только тупой идиот может не применять евал там где он нужен.
Согласен. Только зачем там нужен eval, ты так объяснить внятно и не смог. Ты что-=то сказал про динамические структуры. Ну так для динамических структур eval не нужен
PC_>Раз ты не можешь представить код короче
Короткость ради короткости никому не нужна, нужна понятность
PC_>и читабельней
Твой пример абсолютно нечитабельный
!x='1'..'9' // что такое !x и где оно используется?
// если это счетчик, то где он используется в коде ниже?
i<4?a+=',x'+i // что в итоге будет в a?
^(a+'\!?'+a) // во что развернется выражение внутри скобок?
// как выполняется eval для результирующего выражения?
В итоге уже через неделю при чтении этого кода придется сесть и начать разворачивать все эти конструкции в уме, чтобы понять, что там происходит.
Мне лично непонятно. Я вижу набор букв, среди которых есть какие-то понятные мне вещи (например, вызов функции eval), но что они делают, какие операции производят — абсолютно непонятно.
Вот ты сможешь ответить на каждый вопрос в коде спокойно и без наездов?
Здравствуйте, PC_2, Вы писали:
PC_>А если задача как тот парень подсказал, например задать произвольный набор символов для пароля PC_>A, C, E, M, F, #, ^, $, (, @
Вот когда будет задача задавать произвольный — тогда и будет задаваться произвольный, который в эту функцию придет в качестве входного параметра. Тебе это, правда, все равно не грозит — до функций твой язык не дорос, так что тебе приходится все данные хардкодить непосредственно в тело алгоритма.
Но ты не отвлекайся, ты пиши свою версию, пиши. Я жду.
Здравствуйте, Пацак, Вы писали:
П>Здравствуйте, PC_2, Вы писали:
PC_>>А если задача как тот парень подсказал, например задать произвольный набор символов для пароля PC_>>A, C, E, M, F, #, ^, $, (, @
П>Вот когда будет задача задавать произвольный — тогда и будет задаваться произвольный, который в эту функцию придет в качестве входного параметра. Те
Тоесть ты придумал "убийцу РС" в котором даже нельзя задать произвольный массив элементов и чтобы хоть както
дотянутся до ультракороткого светоча программирования решил просто все массивы харкодить в трансляторе константой ?
Сеня, тебе никто ничего писать не будет т.к. есть большие сомнения эээ в твоих познаниях хотябы бейсика
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, Mamut, Вы писали:
M>!x='1'..'9' // что такое !x и где оно используется?
Это переборщик, читай мануал.
M> // если это счетчик, то где он используется в коде ниже?
Он используется в следующей строке
M>i<4?a+=',x'+i // что в итоге будет в a?
Будет строка из переборщиков, читай мануал
M>^(a+'\!?'+a) // во что развернется выражение внутри скобок?
это конкатенация строк, будет ((x1,x2,x3)\~)?(x1,x2,x3)
M> // как выполняется eval для результирующего выражения?
как обычный евал
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, PC_2, Вы писали:
PC_>Тоесть ты придумал "убийцу РС" в котором даже нельзя задать произвольный массив элементов и чтобы хоть както PC_>дотянутся до ультракороткого светоча программирования решил просто все массивы харкодить в трансляторе константой ?
Да-а-а, родной... Какое там тебе языки писать — ты читать-то толком не умеешь. Еще раз:
Если понадобится произвольный набор — он будет передаваться в эту функцию параметром, а не тупо хардкодиться где-то внутри, как в твоем суперязыке.
Где ты здесь нашел слово "константа", внимательный ты наш?
PC_>Сеня, тебе никто ничего писать не будет
M>>!x='1'..'9' // что такое !x и где оно используется? PC_>Это переборщик, читай мануал.
Я в курсе. Просто запомнилось, что ты их счетчиками в начале называл.
M>> // если это счетчик, то где он используется в коде ниже? PC_>Он используется в следующей строке
M>>i<4?a+=',x'+i // что в итоге будет в a? PC_>Будет строка из переборщиков, читай мануал
M>>^(a+'\!?'+a) // во что развернется выражение внутри скобок? PC_>это конкатенация строк, будет ((x1,x2,x3)\~)?(x1,x2,x3)
С какого перепугу? Будет ^(,x1,x2,x3\~?,x1,x2,x3). Откуда вдруг появились скобки, куда подевались запятые?
M>> // как выполняется eval для результирующего выражения? PC_>как обычный евал
И что же этот евал делает?
То есть. Для того, чтобы понять твой «ультрапонятный» код тебе пришлось выполнять все функции компилятора/интерпретатора — развораичвать в уме конкатенацию, разворачивать в уме поведение eval'а. Уже через неделю-две при чтении этого кода для того, чтобы понять, что он делает, тебе придется сесть и выполнить эти ненужные действия. Это — не читабельный код. Это — write-only код.
Не говоря уже о других нареканиях:
x1 содержит 1, x2 содержит 2, x3 содержит 3? Я правильно понимаю? Тогда зачем !x объявлен до девяти?
Само по себе автоматическое именования x1, x2 — это звиздец, сильно ограничивающий свободу программиста в наименовании переменных. Люди, работающие с обработкой математики и геометрии тебя проклянут.
eval тут не нужен даже даром. Тут и по условию задачи, по сути, тупо работа с двумя списками. Ели твой язык умеет составлять списки только через конкатенацию строк и eval — грош ему цена. Программист не нанимался выполнять работу за интерпретатор при решении задач.
Вся задача должна была быть описана в стиле
!x = 1..9
x \~? x
И да, твой язык на понимание ни чем не луше j/q/k. Там хотя бы есть стройная модель, четко объясняющая, что происходит в коде.
Здравствуйте, Пацак, Вы писали:
П>Здравствуйте, PC_2, Вы писали:
П>
П>Если понадобится произвольный набор — он будет передаваться в эту функцию параметром, а не тупо хардкодиться где-то внутри, как в твоем суперязыке.
что ты за ересь городишь опять.
Еще раз, как ты будешь передавать, хоть в функцию хоть куда, произвольный набор символов
П>Где ты здесь нашел слово "константа", внимательный ты наш?
ascii_numbers. Склероз ?
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Уже десятый раз пишу.
Мой код с Евалом достаточно прост, чтобы даже ты кое как в нем разобрался
после прочтения трехстраничной брошюрки и искал в нем ошибки.
Код Немерле или ФШарпа мало того что длинее так еще и менее понятен.
Невозможно студента обучить этому языку за день. А вот РС запросто.
Все остальное маловажные детали.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
PC_>Уже десятый раз пишу. PC_>Мой код с Евалом достаточно прост, чтобы даже ты кое как в нем разобрался
В десятый раз спрашиваю — нахрена для манипуляции списками нужен eval?
PC_>после прочтения трехстраничной брошюрки и искал в нем ошибки. PC_>Код Немерле или ФШарпа мало того что длинее так еще и менее понятен.
Код Немерле и ФШарпа будет понятен и неделю спустя и две недели спустя и год спустя. Твой код — нет.
PC_>Невозможно студента обучить этому языку за день. А вот РС запросто.
П>>Если понадобится произвольный набор — он будет передаваться в эту функцию параметром, а не тупо хардкодиться где-то внутри, как в твоем суперязыке.
PC_>что ты за ересь городишь опять. PC_>Еще раз, как ты будешь передавать, хоть в функцию хоть куда, произвольный набор символов
П>>Где ты здесь нашел слово "константа", внимательный ты наш?
PC_>ascii_numbers. Склероз ?
Это не константа, а переменная, передаваемая в функцию uniq. ascii_numbers может быть любым произвольным массивом.
Константой ее стал называть ты, но это — твои личные проблемы.
Здравствуйте, PC_2, Вы писали:
PC_>что ты за ересь городишь опять. PC_>Еще раз, как ты будешь передавать, хоть в функцию хоть куда, произвольный набор символов
pwd("QWERTY[]%$#") — устроит?
П>>Где ты здесь нашел слово "константа", внимательный ты наш? PC_>ascii_numbers. Склероз ?
И каким боком она к произвольному набору?
И главное — я увижу уже когда-нибудь решение на твоем супер-пупер-мега-друпер-языке?
Здравствуйте, Mamut, Вы писали:
M>Это не константа, а переменная, передаваемая в функцию uniq.
Да хрен с ней пусть даже и константа. В нормальной подпрограмме произвольные переменная/параметр вместо нее подставляются простой заменой — и все продолжает работать, как работало. Но, боюсь, это будет сложно объяснить человеку, который не отличает друг от друга данные и обрабатывающий их алгоритм.
M>ascii_numbers может быть любым произвольным массивом.
Мало того — в том же питоне он одновременно может быть и строкой.