Здравствуйте, ambel-vlad, Вы писали:
AV>Здравствуйте, PC_2, Вы писали:
AV>>>Очень стремное решение с a1,a2.
PC_>>чем ?
AV>Потенциальным источником багов. Думаю, иной раз даже очень веселых багов.
Просто не нужно говнокодить и все будет пучком.
Не нужно создавать десять переменных tmp1, tmp2 и тд.
Фактически я заставляю кодера более ответственно относится к именованию переменных, чтобы не нужно
было потом в конце добавлять индексы. Поэтому интерпретатор такие переменные будет воспринимать как копии.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, Пацак, Вы писали:
П>Здравствуйте, PC_2, Вы писали:
PC_>>
PC_>>Иногда удобно единожды обьявив переборщик, использовать его копии. Например
PC_>>!a=1..5
PC_>>s+=a1+a2
П>К слову о переборщиках... Реквестую пояснения для этой фразы из "руководства": П>
П>В этом примере обьявляется переборщик p и инициализируется массивом 0,1,2,3,4
П>В частности интересует: П>а) Верно ли, что для переборщика всегда неявно создается инстанс соответствующего массива? Скажем, в примере выше — будет ли создан массив из пяти элементов {1,2,3,4,5}?
в текущей версии будет.
В будуйщем не будет.
П>б) Как мне создать переборщик всех нечетных чисел от одного до миллиарда?
Например вот так
a,= (i%2==0 & i<1000000000)?i //заполнили массив
!n = a //проинициализировали переборщик массивом
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, PC_2, Вы писали:
PC_>Генерация пароля по динамически заданому алфавиту динамически заданой длины, нормальная задача для Евал.
Да ладно! Задача прекрасно решается без всяких eval'ов.
П>>Про prepared statements благородный дон ничего не слышал? PC_>Слышал, но причем тут Евал ?
При том, что одна из причин их использования (помимо быстродействия) — как раз борьба с sql-инъекциями. Т.е. даже в sql люди стараются как можно дальше уйти от интерпретации динамически слепленного кода. Не говоря уж о более других языках, где нормальный тимлид, найдя его в проекте, обычно пару раз выворачивает программиста наизнанку, после чего устраивает ему допрос с пристрастием третьей степени, дыбой и каленым железом. Дабы впредь подобное делать без серьезной причины было неповадно.
Здравствуйте, PC_2, Вы писали:
PC_>в текущей версии будет. PC_>В будуйщем не будет.
Тогда как это будет реализовано в будущей версии?
П>>б) Как мне создать переборщик всех нечетных чисел от одного до миллиарда? PC_>Например вот так PC_>a,= (i%2==0 & i<1000000000)?i //заполнили массив PC_>!n = a //проинициализировали переборщик массивом
Увы, на моей машине мы уже ничего не проинициализируем. У меня гиг памяти и, следовательно, мы еще в предыдущей строчки словим OutOfMemoryException.
Здравствуйте, PC_2, Вы писали:
AV>>Насчет синтаксиса, то мои идеи тебе точно не понравятся. И было бы интересно узнать о планируемых операциях с этими массивами.
PC_>Высказывай идеи. Любые идеи интересно читать, особенно не велосипедные.
Ну мне, например, нравится питоновский вариант. Но тебе он не подойдет. Слишном длинный.
AV>>А что там с причинами отсутствия трехмерных массивов?
PC_>Причина проста, есть пример есть фича. Нет примера, нет фичи, отложено на потом.
Если честно, то не понимаю чем трехмерный массив отличается от двумерного. Это ж надо специально так постараться
Здравствуйте, kochetkov.vladimir, Вы писали:
AV>>>>Я не фанат Немерле и смотрел краем глаза, но вроде там нет ничего такого, чтобы могло помешать транлировать Немерле во что-то другое нежели .NET.
PC_>>>Немерле можно транслировать в Java ?
AV>>Сейчас нельзя. Но насколько я понял, то сам по себе Немерле не сильно завязан на .NET. Но это лучше спросить того же VladD2.
KV>На дотнет, там, по большому счету, завязан только кодогенератор.
Здравствуйте, PC_2, Вы писали:
KV>>На дотнет, там, по большому счету, завязан только кодогенератор.
PC_>Так что есть шансы у немерле на линукс ? PC_>В каком году планируется ?
Вообще-то, насколько я помню, то именно под линухом и начиналась разработка Немерла
Здравствуйте, PC_2, Вы писали:
AV>>>>Очень стремное решение с a1,a2.
PC_>>>чем ?
AV>>Потенциальным источником багов. Думаю, иной раз даже очень веселых багов.
PC_>Просто не нужно говнокодить и все будет пучком. PC_>Не нужно создавать десять переменных tmp1, tmp2 и тд.
Никогда не говори никогда.
PC_>Фактически я заставляю кодера более ответственно относится к именованию переменных,
Фактически ты внедрил фичу, которая гарантировано будет приводить к багам. Это как-то не соответствует тому, что ты заявлял про свой язык.
Здравствуйте, Пацак, Вы писали:
П>Здравствуйте, PC_2, Вы писали:
PC_>>Генерация пароля по динамически заданому алфавиту динамически заданой длины, нормальная задача для Евал.
П>Да ладно! Задача прекрасно решается без всяких eval'ов.
Ты опоздал с сравнениями. Уже все сравнили, перемеряли, переделали и забыли ...
Если же всеже не дает тебе покоя этот пример, можешь посидеть попробовать реализовать хотябы короче.
Я уже не говорю о проще и гибче.
П>>>Про prepared statements благородный дон ничего не слышал? PC_>>Слышал, но причем тут Евал ?
П>При том, что одна из причин их использования (помимо быстродействия) — как раз борьба с sql-инъекциями. Т.е. даже в sql люди стараются как можно дальше уйти от интерпретации динамически слепленного кода.
Чтото они плохо стараются уйти, если честно ...
П>Не говоря уж о более других языках, где нормальный тимлид, найдя его в проекте, обычно пару раз выворачивает программиста наизнанку, после чего устраивает ему допрос с пристрастием третьей степени, дыбой и каленым железом. Дабы впредь подобное делать без серьезной причины было неповадно.
У вас за любой EXEC пытают каленым железом ?
Странно что такие тимлиды еще живы ...
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, Пацак, Вы писали:
П>Увы, на моей машине мы уже ничего не проинициализируем. У меня гиг памяти и, следовательно, мы еще в предыдущей строчки словим OutOfMemoryException.
у когото не хватает оперативки ...
помойму гдето это я уже слышал ....
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, ambel-vlad, Вы писали:
AV>Фактически ты внедрил фичу, которая гарантировано будет приводить к багам. Это как-то не соответствует тому, что ты заявлял про свой язык.
приведи пример бага
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, ambel-vlad, Вы писали:
AV>Ну мне, например, нравится питоновский вариант. Но тебе он не подойдет. Слишном длинный.
Питоновский мне тоже нравится, но он не совсем ложится на архитектуру интерпретатора.
AV>Если честно, то не понимаю чем трехмерный массив отличается от двумерного. Это ж надо специально так постараться
Да скорей всего он уже там есть, в виде дерева.
Просто я это не тестил и не строю догадок как оно сейчас работает.
Хотя и работает может уже само собой.
Элементом массива может быть коллекция.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, ambel-vlad, Вы писали:
AV>Вообще-то, насколько я помню, то именно под линухом и начиналась разработка Немерла
Начиналась ...
Дело не совсем в Линухе, дело в кросплатформенности как таковой.
РС можно переписать на Джаву.
Это ровно настолько сложно, насколько переписать приложение в тысяч 5 строк.
И тем самым запустить даже на мобильных.
А вот с Немерле ситуация не прояснена
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, PC_2, Вы писали:
AV>>Фактически ты внедрил фичу, которая гарантировано будет приводить к багам. Это как-то не соответствует тому, что ты заявлял про свой язык.
PC_>приведи пример бага
Здравствуйте, ambel-vlad, Вы писали:
AV>Здравствуйте, PC_2, Вы писали:
AV>>>Фактически ты внедрил фичу, которая гарантировано будет приводить к багам. Это как-то не соответствует тому, что ты заявлял про свой язык.
PC_>>приведи пример бага
AV>!a=1..5 AV>a1=10..20 AV>s+=a1+a2
Пример и вправду запутанный.
Но можно запретить обьявление переменных с индексом в имени, только использование
и жить спокойно.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, PC_2, Вы писали:
PC_>Здравствуйте, kochetkov.vladimir, Вы писали:
KV>>На дотнет, там, по большому счету, завязан только кодогенератор.
PC_>Так что есть шансы у немерле на линукс ? PC_>В каком году планируется ?
Немерле прекрасно работал изначально и продолжает работать сейчас под линуксом
Нет, но открыть нужный неймспейс(ы) для выполняемого кода — можно
PC_>Можно использовать в евал переменные которые обьявлены из вне ?
Понятния не имею, но сейчас проверить не могу. Насколько я помню, можно, путем передачи эволюатору ссылок на эти объекты в качестве начального состояния. Но зачем? В статически-типизированных языках, существование eval хоть как-то оправдано разве что необходимостью всяческих REPL'ов, не более того. Я сходу не могу придумать задачу, которая бы решалась в таких языках имеющимися средствами хуже, чем с использованием eval.
Здравствуйте, PC_2, Вы писали:
AV>>Ну мне, например, нравится питоновский вариант. Но тебе он не подойдет. Слишном длинный.
PC_>Питоновский мне тоже нравится, но он не совсем ложится на архитектуру интерпретатора.
Какие именно проблемы?
AV>>Если честно, то не понимаю чем трехмерный массив отличается от двумерного. Это ж надо специально так постараться
PC_>Да скорей всего он уже там есть, в виде дерева.
Чего? Причем деревья к многомерным массивам?
PC_>Элементом массива может быть коллекция.
И какое это имеет отношение к многомерным массивам?