Какие языки обеспечивают использование объектных литералов?

StackOverflow https://stackoverflow.com/questions/4569848

Вопрос

Какие языки обеспечивают использование объектных литералов? (Или на каких языках вы можете легко их подражать?) Вы можете привести пример кода?

Начиная с очевидного фрагмента JavaScript:

var someObj = {
    someProperty: 123,
    someFunction: function() {
        alert('hello!');
    }
};
Это было полезно?

Решение

Если вы замените объект на «термин», тогда Prolog делает это естественным образом (на самом деле, нет другого способа построить объект). Вот пример с бинарными деревьями:

% find a node in List with a nil left child and call its rightmost grandchild X
member(node(nil,node(_,X)), List).

LISP и схема также имеют некоторые красивые функции достижений в этой области, в частности, цитирование и полукосинг:

;; construct right-leaning binary tree with x as the rightmost grandchild
`(nil . (nil . ,x))

Практически все языки функционального программирования скопировали это в той или иной форме.

Другие советы

Оформление C# анонимные типы

var Customer = new
{
    Company = "AgileApps",
    Website = "http://www.agileapps.co.uk",
    Name = "Big Al",
    Entered = DateTime.Now
};
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top