Как я создаю список в Oz?

Смотрите на спецификация PNG. Этот формат имеет некоторое очень хорошее объяснение позади него.

кроме того, решите то, что важно для Вашего будущего формата: компактность, совместимость, позволяя встраивать другие форматы (различные алгоритмы сжатия) в нем. Другой интересный пример был бы буферы протокола Google , где размер переданных данных является королем.

Что касается порядка байтов, я предложил бы, чтобы Вы выбрали одну опцию и придерживались его, не позволяя различные заказы байта. Иначе чтение и запись библиотек только станут более сложными и медленнее.

6
задан The Unfun Cat 26 September 2012 в 07:24
поделиться

2 ответа

Не уверен, что вы хотите, но чтобы создать список всех целых чисел от X до Y (включительно), вы мог бы сделать:

local
   fun {Loop From To}
      if From > To
      then nil
      else From | {Loop From+1 To}
      end
   end
in
   {Browse {Loop 0 10}} % Displays: [0,1,2,3,4,5,6,7,8,9,10]
end
7
ответ дан 10 December 2019 в 00:41
поделиться

Также причина, по которой вы не получаете никакого окна браузера, заключается в том, что поток оценки приостанавливается из-за этой строки:

Xs={List.append Xs I}

Как уже упоминалось ранее, переменная может быть назначена только один раз, но есть еще кое-что, что не так с этой строкой. Вы пытаетесь добавить Xs к I, но Xs все еще не связана. Таким образом, поток приостанавливает свою работу до тех пор, пока не будет присвоено значение Xs.

Введите это в интерактивном режиме:

declare Xs in
{Browse {List.append Xs [2 3 4]}}

Так как вы видите, что ничего не происходит, браузер не открывается. Теперь введите следующее:

Xs= [1]

Поскольку Xs становится связанным, он разблокирует первый оценочный "поток", и откроется браузер.

P.S. Извините за поздний ответ, меня только что заинтересовал Оз :P

.
3
ответ дан 10 December 2019 в 00:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: