Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Vartovyj

Страницы: 1 ... 3 4 [5] 6 7 ... 14
61
xs: array [1..10] of integer;
ys: array [0..9] of byte;
xs:[1..10] int
ys:[0..9] byte или тоже самое ys:[9] byte, так как с нуля
намного красивее.

62
Это обероновский стиль. От чудовищных конструкций типа ARRAY OF необходимо избавиться, как и от бегинов.

63
Правильно будет:
M4: [9] int := ( 1, 2, 3, 4, 5, 6, 7, 48, 0 )
M4: [] int := ( 1, 2, 3, 4, 5, 6, 7, 48, 0 )

64
а что такое erec - сокращение от erection?  - нет ... принцип построения
 у форм должен быть один   начинаться с   id (уникальный идентификатор формы) - кончаться e_id (добавлением e_  к идентификатору)
erecord
начинаться с id, заканчиваться с eid

65
Чтобы было понятно куда двигаться, скажи, где предполагается использовать анонимные функции? (не делаем же мы их, просто для того чтобы "было")
Сложно сказать, где они незаменимы, может как сахар.

66
2.  END - нафиг (е_module и e_proc без  повторения названий )
может eif, erec, emodule, efor?
proc, e_proc - не нужен, просто foo() уже определяет, что это процедура или функция.
Цитировать
вроде сильно не обгадив основную идею Вирта
 еще бы repeat until бы говенный  заменить...
Так уже обговорили, что лучше do while и while do

67
разумеется ( кроме nil, еще и '' - для литер) - все должно иметь начальное значение..
2. нужна.. - в противном случае  мыбудем иметь блочную локальность - а это уже не Оберон
если нужна, то только без слова var, а саму секцию можно завершить ;
кстати, мы так лихо порезали ;  где его еще можно притулить?

68
Какая ж она анонимная, если у нее есть имя - foo ? :-)
сорри
(a, b: int)  return a*a + b*b  end

69
инициализацию 0 по умолчанию,  инициализацию переменных в секции var, для хардкорщиков модификатор undef (показатель что переменная не инициализируется), перегрузку процедур, и вместо безликих end ов -  e_rec, e_if,e_for, e_while... и массивы  индексируемые с единицы
0 и nil, секция var не нужна
e_rec, e_if,e_for, e_while - еще варианты: end rec, endrec
про пагубность массивов с единицы уже обсуждалось

70
foo(a, b: int)
    return a*a + b*b
end
Чем плоха такая форма?
Тем, что без вывода типа это работать не будет. Где указан тип возвращаемого значения?
Как анонимная функция не годится?

71
foo(a, b: int)
    return a*a + b*b
end
Чем плоха такая форма?

72
foo :: Integer Integer -> Integer
foo a b = a*a + b*b
Мод Оберон:
foo(a, b: int): int
    return a*a + b*b
end foo;

73
С точками с запятой действительно нужно что-то делать, в обероне да и в С их явная избыточность.

74
Конструкцию с end можно оставить там, где сейчас: end name.

75
о! Красота!
Только убираем var и def.

Страницы: 1 ... 3 4 [5] 6 7 ... 14