S>>>А я и с транслятором не понимаю, что за косяк с мутабельностью. Прав Mamut что они все здесь мутабельные. PC_>>
МС>Вместо того, чтобы ржать, как лошадь, прочитайте хотя бы пару книжек по программированию. МС>А заодно подучите английский: mutable — изменяемый.
только я ему сказал это три раза. Сейчас еще и DarkGray
Здравствуйте, Мишень-сан, Вы писали:
МС>Здравствуйте, PC_2, Вы писали:
S>>>А я и с транслятором не понимаю, что за косяк с мутабельностью. Прав Mamut что они все здесь мутабельные. PC_>>
МС>Вместо того, чтобы ржать, как лошадь, прочитайте хотя бы пару книжек по программированию. МС>А заодно подучите английский: mutable — изменяемый.
Мутабл потому что мутирует по диапазону в выражениях. Итератор это итератор, это для всяких там форов.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, PC_2, Вы писали:
PC_>Здравствуйте, DarkGray, Вы писали:
PC_>>>Что значит S мутабл переменная ?
DG>>тогда это скорее iterator, cursor, может быть связанная переменная, но уж точно не mutable
PC_>Ну не знаю, это не совсем итератор. PC_>Например этот "итератор" можно натравить на алфавит или словать слов, и тогда уже будет перебирать значения
PC_>Например вот такая простая и понятная конструкция
PC_>!iter := 'green', 'white', 'yellow'
PC_>тогда гдето в коде можно будет написать просто
PC_>print iter
PC_>и это будет эквивалент
PC_>print 'green' PC_>print 'white' PC_>print 'yellow'
PC_>Тоесть у меня значительно более мощная конструкция чем во всяких там Сишных языках ...
Снова с С ?
Давайте с C#: (Нет, не Nemerle )
var arr = new[] { "green", "white", "yellow" };
foreach (var v in arr) Console.WriteLine(v);
// Или если хотите и так:
Array.ForEach(arr, Console.WriteLine);
А что насчет других типов ?
var arr = new Dictionary<int, string> { { 1, "green" }, { 2, "white" }, { 3, "yellow" } };
foreach (var v in arr) Console.WriteLine("{0} - {1}", v.Key, v.Value);
PC_>>Что значит S мутабл переменная ?
DG>тогда это скорее iterator, cursor, может быть связанная переменная, но уж точно не mutable
Судя по тому, что пишет PC_2, это что-то вроде монад. Итераторы и курсоры "пассивные", их снаружи нужно дергать, а это !N внутрь себя операции всякие затягивает. Хотя на выходе после всяких операций вроде !N := 1..5 Y := N + 1 хотелось бы тоже монаду получать. Хотя может быть это и есть вроде !Y := N + 1.
S>>>>А я и с транслятором не понимаю, что за косяк с мутабельностью. Прав Mamut что они все здесь мутабельные. PC_>>>
МС>>Вместо того, чтобы ржать, как лошадь, прочитайте хотя бы пару книжек по программированию. МС>>А заодно подучите английский: mutable — изменяемый.
PC_>Мутабл потому что мутирует по диапазону в выражениях.
Мутируют зомби. А тут происзодит перемещение по диапазону
PC_>Итератор это итератор, это для всяких там форов.
Не льсти себе, здесь тот же for, только скрытый синтаксисом.
M>Судя по тому, что пишет PC_2, это что-то вроде монад. Итераторы и курсоры "пассивные", их снаружи нужно дергать, а это !N внутрь себя операции всякие затягивает. Хотя на выходе после всяких операций вроде !N := 1..5 Y := N + 1 хотелось бы тоже монаду получать. Хотя может быть это и есть вроде !Y := N + 1.
согласен
но с затягиванием автора ожидает еще много интересных открытий:
например, как зафиксировать на какую именно область распространяется затягивание,
ссылки идут по именам или по значениям
и т.д.
Здравствуйте, maxkar, Вы писали:
M>Здравствуйте, DarkGray, Вы писали:
PC_>>>Что значит S мутабл переменная ?
DG>>тогда это скорее iterator, cursor, может быть связанная переменная, но уж точно не mutable
M>Судя по тому, что пишет PC_2, это что-то вроде монад. Итераторы и курсоры "пассивные", их снаружи нужно дергать, а это !N внутрь себя операции всякие затягивает. Хотя на выходе после всяких операций вроде !N := 1..5 Y := N + 1 хотелось бы тоже монаду получать. Хотя может быть это и есть вроде !Y := N + 1.
Никаких там монад. Это если как в коде
for(var i = 0; i < 10; i++)
DoSomethingWith(i);
первую строчку держать в уме. Нижняя граница всегда 0, верхняя выбирается из контекста, а при неудаче — 10.
Это судя по исходникам полуторамесячной давности. Очень сомневаюсь что там за полтора месяца выросла монада
Здравствуйте, _nn_, Вы писали:
__>Давайте с C#: (Нет, не Nemerle ) __>
__>var arr = new[] { "green", "white", "yellow" };
__>foreach (var v in arr) Console.WriteLine(v);
Ну опять в два раза длинее код. И ?
__>// Или если хотите и так:
__>Array.ForEach(arr, Console.WriteLine);
__>
А это сделали библиотечной функцией, тоесть вычеркиваем
__>А что насчет других типов ? __>
Здравствуйте, Mamut, Вы писали:
S>>>>>А я и с транслятором не понимаю, что за косяк с мутабельностью. Прав Mamut что они все здесь мутабельные. PC_>>>>
МС>>>Вместо того, чтобы ржать, как лошадь, прочитайте хотя бы пару книжек по программированию. МС>>>А заодно подучите английский: mutable — изменяемый.
PC_>>Мутабл потому что мутирует по диапазону в выражениях.
M>Мутируют зомби. А тут происзодит перемещение по диапазону
PC_>>Итератор это итератор, это для всяких там форов.
M>Не льсти себе, здесь тот же for, только скрытый синтаксисом.
Тотже да не тотже, попробуй например выписать такую задачу:
"Построить генератор паролей по алфавиту. Длина пароля задается динамически"
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
А за фор нужно мне сказать отдельное спасибо,
ибо у каждого быдлокодера конструкция for(int i=0; i<100; i........
набирается со скоростью света на автопилоте =)
Я же в коде просто предлагаю использовать просто I и J.
Даже оленю понятно что это счетчики, записал и полчил перебор. Все ультрапросто.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Здравствуйте, VladD2, Вы писали:
VD>А между прочим ты обещал, что "Кодить на нем будет действительно просто и быстро". Какой же кодить, если люди даже понять его не могут?
Оне просто вредничают (С). У них фобия (С).
... << RSDN@Home 1.2.0 alpha 4 rev. 1476 on Windows 7 6.1.7600.0>>
Здравствуйте, PC_2, Вы писали:
PC_>А за фор нужно мне сказать отдельное спасибо, PC_>ибо у каждого быдлокодера конструкция for(int i=0; i<100; i........ PC_>набирается со скоростью света на автопилоте =)
PC_>Я же в коде просто предлагаю использовать просто I и J. PC_>Даже оленю понятно что это счетчики, записал и полчил перебор. Все ультрапросто.
Здравствуйте, PC_2, Вы писали:
PC_>А за фор нужно мне сказать отдельное спасибо, PC_>ибо у каждого быдлокодера конструкция for(int i=0; i<100; i........ PC_>набирается со скоростью света на автопилоте =)
PC_>Я же в коде просто предлагаю использовать просто I и J. PC_>Даже оленю понятно что это счетчики, записал и полчил перебор. Все ультрапросто.
"Построить генератор паролей по алфавиту. Длина пароля задается динамически"(с) код в студию (!!!рабочий!!!) или тролль.
Впрочем, и так ясно, что тролль. Так что код в студию.
Здравствуйте, PC_2, Вы писали:
PC_>Ну опять в два раза длинее код. И ? PC_>А это сделали библиотечной функцией, тоесть вычеркиваем
Это значит все что можно в язык пихать , чтобы короче было ?
Ну сделаю я себе метод:
void P<T>(IEnumerable<T> seq) { foreach (var v in seq) Console.WriteLine(v); }
и все, можно юзать, одна буква.
P(new [] {"a", "b", "c"});
Зато, никому код не нагадил, никого пользоваться этим методом не заставил, никаких конфликтов имен.
PC_>А за фор нужно мне сказать отдельное спасибо,
Где вы увидели for в моем примере ?
PC_>ибо у каждого быдлокодера конструкция for(int i=0; i<100; i........ PC_>набирается со скоростью света на автопилоте =)
Я не знаю как вы, но я уже давно for-ы не пишу.
PC_>Я же в коде просто предлагаю использовать просто I и J. PC_>Даже оленю понятно что это счетчики, записал и полчил перебор. Все ультрапросто.
Это у вас счетчики I и J, а у меня переменные item, name, и в зависимости от контекста.
А как вложенность делать ? Тут букв может не хватить.
МС>"Построить генератор паролей по алфавиту. Длина пароля задается динамически"(с) код в студию (!!!рабочий!!!) или тролль. МС>Впрочем, и так ясно, что тролль. Так что код в студию.
Раз ты считаешь меня тролем зачем, зачем тебе код.
Значит выйди вон и не корми троля.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН