2015-03-10 7 views
2

Я строю модель для отображения пользовательского интерфейса с использованием SDL2 на Rebol3.Объект против блока

До сих пор, я хотел бы сделать что-то вроде этого:

gui: copy [] 
append gui context [style: 'h1 at: 10x30 text: "Hello World!" font: arial] 

, но я должен использовать объект! когда мне нужен Блок! например:

gui: copy [] 
append/only gui reduce/no-set [style: 'h1 at: 10x30 text: "Hello World!" font: arial] 

Что вы думаете об этом? Что лучше всего использовать? Любое другое предложение?

+0

Я думаю, что ключ «почему диалект» (как это предлагает @rebolek) в основном потому, что, когда вы выполняете свои спецификации как объекты в этой форме, это действительно можно сделать на любом языке. Вы не играете в сильные стороны среды. Это не значит, что это плохо, это просто делает то, что вы делаете, что-то не замечательное ... и у кого-то с JSON или QML или с подобным будет решение, похожее на него. Конечно, говоря о вилках и [различие во имя разницы] (http://files.abovetopsecret.com/files/img/rl52152b96.jpg) ... – HostileFork

ответ

3

Почему не диалект?

[h1 10x30 "Hello World!" font arial] 

Внутренне я бы сохранить его как объект!, поскольку он обеспечивает более легкую манипуляцию.

+0

Да, диалект очень удобен, но это действительно что-то добавьте сверху. Затем диалект должен быть переведен на объекты или блоки или что угодно. И вот эта часть, о которой я сейчас думаю. Оба можно манипулировать таким же образом, например: widget/style – GregP

+0

Их можно манипулировать аналогичным образом, но то, что вам нужно, - это действительно объект. Вы можете легко блокировать блок, удалять что-то, добавлять дублирующее поле и т. Д. Вам нужно будет сделать свои собственные функции манипуляции, чтобы убедиться, что все будет работать нормально, и зачем это делать, когда вы просто можете использовать объект? – rebolek

+0

Мне было интересно, насколько это возможно, с точки зрения памяти и скорости, но я понимаю, что это не простота вещей, и я соглашаюсь использовать Object! является самым естественным способом. Фактически, используя Gob! было бы даже более разумным, но вы не можете установить какое-либо поле в Gob !, например, мне нужен атрибут стиля или по щелчку или включенное, и это может быть установлено только в Gob! атрибут. Теперь это еще один вопрос: Объект! vs Gob !. – GregP