Текущий архив: 2007.11.18;
Скачать: CL | DM;
Вниз
Каковы перспективы Mono? Найти похожие ветки
← →
Petr V. Abramov © (2007-10-13 00:40) [0]будет ли Mono, совместимое с fw 2.0?
пугает
В ноябре 2006 г. между Microsoft и одним из вендоров Linux, компанией Novell, было заключено двухстороннее соглашение. В его рамках компании договорились воздержаться от обвинений в нарушении патентов и незаконного использования интеллектуальной собственности в своих продуктах вплоть до 2012 г.
http://cnews.ru/news/top/index.shtml?2007/10/12/270248#top_static
← →
DrPass © (2007-10-13 00:45) [1]
> будет ли Mono, совместимое с fw 2.0?
А надо?
← →
turbouser © (2007-10-13 00:52) [2]> [0] Petr V. Abramov © (13.10.07 00:40)
мс любят пошуметь. нет по моему (и не только) мнению тупиковая технология.
заявленной кросплатформенности до сих пор нет (а сколько лет прошло??)
моно можно сравнить с wine — «вроде бы все на месте, но чего-то не хватает»
то, что мс опять катит бочку на кого-то чаще всего означает что кто-то
делает что-то полезное и забесплатно.
Для меня вот самое интересное — мс поддерживает suse linux. Зачем?
← →
ferr (2007-10-13 00:57) [3]> будет ли Mono, совместимое с fw 2.0?
Конечно будет, но проблема в том что уже fw 3.5 на подходе..
← →
ferr (2007-10-13 01:02) [4]Да и информация старая, вот что на сайте висит:
The Mono C# compiler is considered feature complete for C# 1.0 and C# 2.0 (ECMA) and also contains some of the C# 3.0 features.
← →
turbouser © (2007-10-13 01:07) [5]> [3] ferr (13.10.07 00:57)
> [4] ferr (13.10.07 01:02)
:-)
> [1] DrPass © (13.10.07 00:45)
+1
← →
Petr V. Abramov © (2007-10-13 01:11) [6]> Конечно будет, но проблема в том что уже fw 3.5 на подходе..
в случае массового перехода платежеспособных на линух - на 3.5 с Останкинской башни
← →
Petr V. Abramov © (2007-10-13 01:15) [7]> нет по моему (и не только) мнению тупиковая технология.
для моих задач суперудобная
> заявленной кросплатформенности до сих пор нет (а сколько лет прошло??)
а я за mono потому и волнуюсь
← →
имя (2007-10-13 02:32) [8]Удалено модератором
← →
Petr V. Abramov © (2007-10-13 02:40) [9]> юзерам сложно, так как фреймворк нужно либо качать,
юзерам по, они слова такого, "фреймворк" не знают и знать не обязаны
мы (я :), конечно, говорим о корпоративных юзерах
← →
turbouser © (2007-10-13 03:13) [10]> [9] Petr V. Abramov © (13.10.07 02:40)
А не шло бы оно лесом, это NET ?
Я еще ни от кого не слышал нормальных
доводов в пользу этой древней вымирающей
(да да!) технологии.
← →
Petr V. Abramov © (2007-10-13 03:17) [11]turbouser © (13.10.07 03:13) [10]
эмоционально но голословно
← →
turbouser © (2007-10-13 03:31) [12]> [11] Petr V. Abramov © (13.10.07 03:17)
Я все же останусь при своем мнении.
← →
Sergey Masloff (2007-10-13 10:25) [13]wl (13.10.07 02:32) [8]
Про b2b слышал что-нибудь? Какие юзеры?
С переходом на .NET то чем раньше целый сектор занимался я сейчас один делаю занимая от своего рабочего времени 10%.
← →
Alkid © (2007-10-13 11:01) [14]
> А не шло бы оно лесом, это NET ?
> Я еще ни от кого не слышал нормальных
> доводов в пользу этой древней вымирающей
> (да да!) технологии.
Нет, не шло бы. У .NET есть куча своих плюсов и кроме мифической кросс-платформенности.
← →
wl (2007-10-13 13:45) [15]Sergey Masloff (13.10.07 10:25) [13]
нет не слышал, а что такое b2b.
ну в целом я говорил о том, что дотнет в первую очередь удобен для программиста, или скорее даже группы программистов
← →
Petr V. Abramov © (2007-10-13 13:55) [16]> ну в целом я говорил о том, что дотнет в первую очередь удобен для
> программиста, или скорее даже группы программистов
а vcl удобна для юзера? :)
← →
Kostafey © (2007-10-13 14:11) [17]> [15] wl (13.10.07 13:45)
> ну в целом я говорил о том, что дотнет в первую очередь
> удобен для программиста, или скорее даже группы программистов
В чем заключается удобство кроме функций наблюдения
и управления кодом и сборщика мусора?
← →
Petr V. Abramov © (2007-10-13 14:14) [18]> Kostafey © (13.10.07 14:11) [17]
reflection, остальное все vcl как vcl
← →
Eraser © (2007-10-13 14:16) [19]в связи с тем, что открыли исходники .net, перспективы думаю есть.
← →
ferr (2007-10-13 14:18) [20]> В чем заключается удобство кроме функций наблюдения
> и управления кодом и сборщика мусора?
Всё перечислять на книгу таки вылезет. Во-первых по мне это один из самых продуманных языков из когда-либо существовавщих, в противовес джаве и с++. Удобства например такие: анонимные делегаты, выводимость типов, поддержка обобщённых классов, удобные делегаты, свойства, события, итераторы, удобная многопоточность, LINQ, Reflection, возможность функции возвращать несколько значений и т д..
Во всём этом нет ничего особо нового, но всё это вместе образует "среду" для эффективного и гланое быстрого создания программ.
← →
Kostafey © (2007-10-13 14:31) [21]> [20] ferr (13.10.07 14:18)
> Во-первых по мне это один из самых продуманных языков из
> когда-либо существовавщих, в противовес джаве и с++.
По-моему речь шла про .net а не про C#, но суть ясна.
> например такие: анонимные делегаты, выводимость типов, поддержка
> обобщённых классов, удобные делегаты, свойства, события,
> итераторы, удобная многопоточность, LINQ, Reflection, возможность
> функции возвращать несколько значений и т д..
К сожалению, пока я не смогу по достоинству оценить все эти преимущества :)
> Во всём этом нет ничего особо нового, но всё это вместе
> образует "среду" для эффективного и гланое быстрого создания
> программ.
Вообще, интересно.
Под средой уже понимаем не IDE а комплекс IDE, язык, среда выполнения.
Наверное, это и правильно.
Но идти на поводу .net не означает ли признание монополии Microsoft?
Да, прошу понять меня правильно, я вовсе не призываю к холивару на тему.
← →
Petr V. Abramov © (2007-10-13 15:09) [22]> Kostafey © (13.10.07 14:31) [21]
а у тебя цель чтоб тебе было хорошо или чтоб МС сдохла?
← →
Kostafey © (2007-10-13 15:22) [23]> [22] Petr V. Abramov © (13.10.07 15:09)
> > Kostafey © (13.10.07 14:31) [21]
> а у тебя цель чтоб тебе было хорошо или чтоб МС сдохла?
Чтоб было хорошо.
А хорошо не может быть в условиях тотальной гигемонии
проприетарных продуктов.
MS не сдохнет. Но и не в этом дело.
Наблюдаемый сегодня бум IT-индустрии во многом обязан
жесткой конкуренции между крупнейшими компаниями.
Конечно, повлиять на это не представляется возможным,
остается наблюдать :)
← →
Petr V. Abramov © (2007-10-13 15:28) [24]> Kostafey © (13.10.07 15:22) [23]
да нет особой конкуренции, все процентов по 70-90 в своих нишах держат.
если только sun-ibm-hpcompaq на больших серверах воюют
← →
Kostafey © (2007-10-13 15:33) [25]> [24] Petr V. Abramov © (13.10.07 15:28)
> > Kostafey © (13.10.07 15:22) [23]
> да нет особой конкуренции, все процентов по 70-90 в своих
> нишах держат.
> если только sun-ibm-hpcompaq на больших серверах воюют
В целом согласен.
Но в Web разработке .net с java все же ощутимо конкурируют.
← →
Petr V. Abramov © (2007-10-13 15:35) [26]> Kostafey © (13.10.07 15:33) [25]
ну это да.
← →
Petr V. Abramov © (2007-10-13 15:40) [27]> Kostafey © (13.10.07 15:33) [25]
по перейти на java - признать монополию sun :))
← →
boa_kaa © (2007-10-13 15:48) [28]
> Но идти на поводу .net не означает ли признание монополии
> Microsoft?
бред какой-то. А если я купил торт, значит ли это, что я признал монополию КФ Север?
← →
oxffff © (2007-10-13 16:32) [29]
> ferr (13.10.07 14:18) [20]
> возможность функции возвращать несколько значений
не поясните?
← →
ferr (2007-10-13 16:43) [30]> не поясните?
Я кратко выразился, так что двусмысленно звучит..
Что-то типа:
IEnumerable<int> MyFunc()
{
for(int i = 0; i < 100; ++i)
yield return i;
yield break;
}
...
foreach(int a in MyFunc())
Console.WriteLine(a);
P.S. мелкая приятность..
← →
oxffff © (2007-10-13 16:52) [31]
> P.S. мелкая приятность..
А знаменитый yield. А вы знаете как он работает?
Если нет, то очень рекомендую заглянуть в отладчик.
Не сломайте себе мозг.
Да и еще к этому знаменитому yield незабудьте приложить help.
The are several restrictions on where a yield statement can appear, as described in the following.
• It is a compile-time error for a yield statement (of either form) to appear outside a method-body,
operator-body, or accessor-body.
• It is a compile-time error for a yield statement (of either form) to appear inside an anonymous method.
• It is a compile-time error for a yield statement (of either form) to appear in the finally clause of a
try statement.
• It is a compile-time error for a yield return statement to appear anywhere in a try statement that
contains catch-clauses.
← →
Kostafey © (2007-10-13 17:36) [32]> [28] boa_kaa © (13.10.07 15:48)
>
> > Но идти на поводу .net не означает ли признание монополии
>
> > Microsoft?
>
> бред какой-то. А если я купил торт, значит ли это, что я
> признал монополию КФ Север?
Гы-гы-гы :)
Почто так перегибать-то?
← →
celades © (2007-10-13 18:13) [33]
> А знаменитый yield. А вы знаете как он работает?
> Если нет, то очень рекомендую заглянуть в отладчик.
> Не сломайте себе мозг.
>
> Да и еще к этому знаменитому yield незабудьте приложить
> help.
>
тебе шашечки или ехать? генераторы на основе yield очень удобная вещь.
← →
oxffff © (2007-10-13 19:09) [34]
> celades © (13.10.07 18:13) [33]
>
> > А знаменитый yield. А вы знаете как он работает?
> > Если нет, то очень рекомендую заглянуть в отладчик.
> > Не сломайте себе мозг.
> >
> > Да и еще к этому знаменитому yield незабудьте приложить
>
> > help.
> >
>
> тебе шашечки или ехать? генераторы на основе yield очень
> удобная вещь.
А я еще раз повторяю. Что смотреть реализацию в C#.
Чтобы не было лишних вопросов.
и Для того, чтобы понять
• It is a compile-time error for a yield statement (of either form) to appear in the finally clause of a
try statement.
• It is a compile-time error for a yield return statement to appear anywhere in a try statement that
contains catch-clauses.
← →
celades © (2007-10-13 19:31) [35]>А я еще раз повторяю.
>чтобы понять
молодец. такое стремление к знаниям похвально.
← →
oxffff © (2007-10-13 19:50) [36]
> celades © (13.10.07 19:31) [35]
> >А я еще раз повторяю.
> >чтобы понять
> молодец. такое стремление к знаниям похвально.
Я не совсем корректно выразился.
Мне собствено без разницы.
Главное, чтобы другие понимали как работает yield.
И не утверждали, что C# - это вверх мастерства.
Стоит различать .NET и сам язык.
Но неплохо бы еще знать реализацию, прежде чем говорить так.
Я кстати, сейчас занимаюсь реализаций yield на delphi.
Правда без ASM не обойтись. :)
← →
oxffff © (2007-10-13 19:52) [37]
> Правда без ASM не обойтись. :)
Если получится, можно будет делать так.
begin
Yield(1);
Yield(2);
Yield(3);
Yield(4);
Yield(5);
......
end;
← →
tesseract © (2007-10-13 20:08) [38]
> Я кстати, сейчас занимаюсь реализаций yield на delphi.
Щас немного не в теме - но типизированные данные через указатель передаються в лёгкую. Это "фича", а не необходимость в стандартных языках.
← →
iZEN © (2007-10-13 22:12) [39]
> Eraser © (13.10.07 14:16) [19]
>
> в связи с тем, что открыли исходники .net, перспективы думаю
> есть.
Один читает вслух другому. Другой рисует диаграмму. Третий по диаграмме пишет библиотеку. Так создаётся Mono 3. :)))
← →
iZEN © (2007-10-13 22:16) [40]
> Petr V. Abramov © (13.10.07 15:40) [27]
>
> > Kostafey © (13.10.07 15:33) [25]
> по перейти на java - признать монополию sun :))
Java — OpenSource, причём по GPLv2. На слуху разработчиков прежде всего группа Apache Foundation, 95% проектов которой написаны на Java.
← →
tesseract © (2007-10-13 22:23) [41]
> Один читает вслух другому. Другой рисует диаграмму. Третий
> по диаграмме пишет библиотеку. Так создаётся Mono 3. :)))
Несколько не так - кому-то понадобилось то-то и то-то, он это сделал и выложил. Mono - это продукт заклятой дружбы novell и sun - ну они друг друга 30 лет не любят, ну что с них взять ? А тут ещё такой подарок от ibm как пиарнутый Linux. Кстати SLED с Solaris - почти единичный нескрещиваемый случай. На остальных дистрах совместиться можно :-)
← →
Petr V. Abramov © (2007-10-14 03:36) [42]> iZEN © (13.10.07 22:16) [40]
> Java — OpenSource, причём по GPLv2.
и чего?
mono - тоже open.
a .Net - не open, а при определенных условиях - тоже хорошо. А windows - так совсем не open, и ничего, работает, и покупают даже. А перестанут покупать - так и волнуюсь за mono, которое open. А даже и не open, вопрос приемлемости цены
> На слуху разработчиков прежде всего группа Apache Foundation
от этого далек, сказать не могу ничего, кроме того, что краем уха слышал, зачем вообще Apache
но так вот получилось (может, злая судьба) - не видел я приложений для end-user, на которые нельзя без слез взглянуть, какие бы именитые компании их ни выпускали и как бы я ни относился к другим продуктам этих компаний. Может, потому что "java для индусов"((с) кто-то отседа)?
← →
Kostafey © (2007-10-14 14:59) [43]> [42] Petr V. Abramov © (14.10.07 03:36)
> Может, потому что "java для индусов"((с) кто-то отседа)?
Один весьма квалифицированный товарищь как-то
высказал такое мнение, что в java можно быть
или очень хорошим специалистом или очень плохим.
Третьего не дано :)
← →
oxffff © (2007-10-14 16:52) [44]
> Я кстати, сейчас занимаюсь реализаций yield на delphi.
> Правда без ASM не обойтись. :)
Сделал, даже с возможностью использования локальных параметров.
пример использования.
var i:integer;
s:string;
begin
s:="1111";
s:=s+"111122222";
for i:= 1 to 20 do Yield(i);
showmessage(s);
Yield(30);
for i:= 80 to 300 do Yield(i);
showmessage(s);
Правда у этого yield есть незначительная особенность надо до-yield-ить до конца, только тогда локальные параметры финализируется.
В .NET проще.
Хотя если codegear сделает это на уровне компилятора, тогда это ограничение можно снять.
← →
oxffff © (2007-10-14 20:29) [45]
> oxffff © (14.10.07 16:52) [44]
>
> > Я кстати, сейчас занимаюсь реализаций yield на delphi.
>
> > Правда без ASM не обойтись. :)
>
>
> Сделал, даже с возможностью использования локальных параметров.
>
Добавил динамическую подстройку EBP при смене расположения локальных параметров после каждого yield
← →
atruhin © (2007-10-14 20:49) [46]> [45] oxffff © (14.10.07 20:29)
Ну дак показал бы код народу.
← →
oxffff © (2007-10-14 20:57) [47]
> atruhin © (14.10.07 20:49) [46]
> > [45] oxffff © (14.10.07 20:29)
>
> Ну дак показал бы код народу.
Я не думаю, что тебе от этого станет легче.
Признаю, что можно оптимизировать.
например заменить movsb на movsd.
function TYieldObject.MoveNext: boolean;
begin
IsYield:=false;
asm
push ebp;
push ecx;
push edx;
push eax;
push ebx;
push edi;
push esi;
push offset @a1
xor edx,edx;
cmp eax.TYieldObject.BESP,edx;
jz @AfterEBPAdjust;
//Правка ebp
mov edx,esp;
sub edx,eax.TYieldObject.BESP;
add [eax.TYieldObject.REBP],edx
@AfterEBPAdjust:
mov eax.TYieldObject.BESP,esp;
//Есть ли локальные параметры
cmp eax.TYieldObject.StackFrameSize,0
jz @JumpIn;
//Восстановить локальные параметры и состояние регистров.
mov ecx,eax.TYieldObject.StackFrameSize;
sub esp,ecx;
mov edi,esp;
lea esi,eax.TYieldObject.StackFrame;
rep movsb;
@JumpIn:
mov ebx,eax.TYieldObject.REBX;
mov ecx,eax.TYieldObject.RECX;
mov edx,eax.TYieldObject.REDX;
mov esi,eax.TYieldObject.RESI;
mov edi,eax.TYieldObject.REDI;
mov ebp,eax.TYieldObject.REBP;
push [eax.TYieldObject.NextItemEntryPoint];
mov eax,eax.TYieldObject.REAX;
ret;
@a1:;
pop esi;
pop edi;
pop ebx;
pop eax;
pop edx;
pop ecx;
pop ebp;
end;
result:=IsYield;
end;
procedure TYieldObject.Yield(i: TYieldItemType);
begin
asm
mov eax.TYieldObject.REBP,ebp;
mov eax.TYieldObject.REAX,eax;
mov eax.TYieldObject.REBX,ebx;
mov eax.TYieldObject.RECX,ecx;
mov eax.TYieldObject.REDX,edx;
mov eax.TYieldObject.RESI,ESI;
mov eax.TYieldObject.REDI,EDI;
pop ecx;
mov eax.TYieldObject.NextItemEntryPoint,ecx;
mov ecx,eax.TYieldObject.BESP;
sub ecx,esp;
mov eax.TYieldObject.StackFrameSize,ecx;
jz @AfterSaveStack;
push edi;
push esi;
lea esi,[esp+8];
lea edi,[eax.TYieldObject.StackFrame];
rep movsb;
pop esi;
pop edi;
mov esp,eax.TYieldObject.BESP;
@AfterSaveStack:
mov eax.TYieldObject.IsYield,1;
end;
Item:=i;
end;
← →
oxffff © (2007-10-14 21:02) [48]
> atruhin © (14.10.07 20:49) [46]
> > [45] oxffff © (14.10.07 20:29)
>
> Ну дак показал бы код народу.
Никаких пока комментариев давать не буду.
Но такая конструкция работает.
var i:integer;
s:string;
begin
s:="1111";
Yield(i);
s:=s+"111122222";
showmessage(s);
Yield(i);
for i:= 1 to 20 do Yield(i);
showmessage(s);
Yield(30);
for i:= 80 to 300 do Yield(i);
showmessage(s);
end;
← →
oxffff © (2007-10-14 21:03) [49]
> oxffff © (14.10.07 21:02) [48]
Естественно локальные переменные нормально финализируются.
← →
oxffff © (2007-10-14 21:41) [50]
> oxffff © (14.10.07 21:03) [49]
>
> > oxffff © (14.10.07 21:02) [48]
>
>
> Естественно локальные переменные нормально финализируются.
>
Их число тоже не ограничено(локальных переменных) и также не требует модификации ASM кода.
← →
KSergey © (2007-10-15 08:47) [51]> oxffff © (13.10.07 19:50) [36]
> Я кстати, сейчас занимаюсь реализаций yield на delphi.
Прошу прощения, а массив динамический вернуть - не то же самое будет по сути?
← →
oxffff © (2007-10-15 12:13) [52]
> Прошу прощения, а массив динамический вернуть - не то же
> самое будет по сути?
По сути не тоже самое.
Для этого вам нужно почитать про С# yield.
Упрощенный пример. Самое главное посмотри на последовательность вывода сообщения.
public static IEnumerable Power(int number, int exponent)
{
yield return 1;
Console.Write("We are here ", i);
yield return 2;
Console.Write("We are here Again", i);
yield return 3;
}
static void Main()
{
// Display powers of 2 up to the exponent 8:
foreach (int i in Power(2, 8))
{
Console.Write("{0} ", i);
}
}
На экране будет следующая последовательность
1 <- Это выводиться из Main
We are here <- Это выводиться из Power!!!!!!!!
2 <- Это выводиться из Main
We are here Again <- Это выводиться из Power!!!!!!!!
3 <- Это выводиться из Main
← →
tesseract © (2007-10-15 14:30) [53]
> По сути не тоже самое. Для этого вам нужно почитать про
> С# yield.
По сути может и не то. Но вот сильного практического смысла не вижу.
← →
KSergey © (2007-10-15 16:18) [54]> oxffff © (15.10.07 12:13) [52]
> Упрощенный пример.
Понял, спасибо.
Ну, раз сделали - значит каким-то индусам оно полезно...
← →
pasha_golub © (2007-10-15 16:24) [55]
> tesseract © (15.10.07 14:30) [53]
Поддерживаю
← →
oxffff © (2007-10-15 17:44) [56]
> KSergey © (15.10.07 16:18) [54]
> > oxffff © (15.10.07 12:13) [52]
> > Упрощенный пример.
>
> Понял, спасибо.
> Ну, раз сделали - значит каким-то индусам оно полезно...
>
Если расчет каждого элемента вычисляется по разным (меняющейся) схемам, то придется сохранять состояние входных параметров схемы расчета, а также где то хранить переключатель на схему для расчета следующего элемента. А если схемы еще и связаны, то выдялять эти состояния будет трудоемко.
Поэтому при написании объекта обертки, можно мягко говоря "сильно попотеть" для "вычленения межсостояний".
Поэтому это востребовано может быть не только индусам, но и нам с вами.
← →
tesseract © (2007-10-15 18:08) [57]
> Если расчет каждого элемента вычисляется по разным (меняющейся)
> схемам, то придется сохранять состояние входных параметров
> схемы расчета, а также где то хранить переключатель на схему
> для расчета следующего элемента. А если схемы еще и связаны,
> то выдялять эти состояния будет трудоемко.
Переведи плиз. Я тут понял, что-то с полиморфными функциями, но вот что не совсем доходит.
← →
oxffff © (2007-10-15 18:21) [58]
> Я тут понял, что-то с полиморфными функциями, но вот что
> не совсем доходит.
Посмотрите oxffff © (15.10.07 12:13) [52].
Последовательность вывода на экран даст тебе понимание.
Если словами то Yield - способ передачи очередного значения Enumerator"a во внешнюю функцию, без "выхода из функции которая формирует значения".
← →
oxffff © (2007-10-15 18:24) [59]
> Если словами то Yield - способ передачи очередного значения
> Enumerator"a во внешнюю функцию, без "выхода из функции
> которая формирует значения".
Ну на самом деле "технически" выход конечно же происходит, но главное возврат будет в то место откуда ты вышел, с тем же восстановленным состоянием, то есть фактически не начало функции, а например "в середину".
← →
jack128 © (2007-10-15 19:46) [60]
> По сути может и не то. Но вот сильного практического смысла
> не вижу.
ну а допустим в серверном курсоре в ado - видешь практический смысл?? Так же хрень...
← →
jack128 © (2007-10-15 19:46) [61]
> Та же хрень...
← →
oxffff © (2007-10-15 19:52) [62]
> jack128 © (15.10.07 19:46) [61]
>
> > Та же хрень...
Ну если ты не видешь смысл, это только значит что ты не видешь
← →
oxffff © (2007-10-15 20:02) [63]Чтобы особо непонятливые поняли, предлагаю вам
особо не понятливым реализовать пример на обычных средствах.
Только с одним условием.
Все элементы формируются по запросу.
А не сначала формируются, а потом выводятся.
Чисто из любопытства сравним ваш код, и мой код.
procedure TYieldObject.YieldUseProc;
var i,g:integer;
number,exponent,counter,Res:integer;
begin
for i := 1 to 10 do Yield(i);
Yield(11);
Yield(24);
for i := 1 to 10 do Yield(trunc(sin(i)));
Yield(15);
g:=1;
for i := 1 to 10 do
begin
g:=trunc(sin(i));
Yield(trunc(g*cos(i*2)));
end;
Yield(g+10);
number:=2;
exponent:=8;
counter:= 1;
Res:=1;
while counter<exponent do
begin
Res:=Res*number;
Yield(Res);
inc(counter);
end;
end;
← →
tesseract © (2007-10-15 21:43) [64]
> особо не понятливым реализовать пример на обычных средствах.
Все равно не понимаю, чем абстрактные классы и Variant хуже. С учётом того, что перестраивать код проще.
Страницы: 1 2 вся ветка
Текущий архив: 2007.11.18;
Скачать: CL | DM;
Память: 0.66 MB
Время: 0.018 c