Справочник по стандартным функциям AUTOLISP

Взято отсюда http://aco.ifmo.ru/~nadinet/html/other/lsp_book/lisp.html

Математические
функции

Алфавитный
список
A B
C
D E F G
I L M N
O P Q R
S T U V
W Z

Примитивы
и механизмы доступа

 

Сообщения
об ошибках

Continue Reading →

Pascal Динамические структуры данных

Линейные
списки, изучение основных операций

Списком называется структура данных, каждый элемент
которой посредством указателя связывается со следующим элементом. Из
определения следует, что каждый элемент списка содержит как минимуму
одно поле данных (назовем его data
и для простоты считаем его типа Integer),
оно может иметь сложную структуру, и поле ссылки на следующий элемент
(назовем его next). Поле ссылки
последнего элемента списка имеет значение Nil.
Указатель на начало списка (первый элемент) является значением отдельной
переменной. Пример списка, содержащего в поле данных целые числа 3. 5,
1, 9, приведен на рисунке.

Continue Reading →

Mongo и C#: агрегация, pipeline

Очень старый кусок кода (~2012-13 гг.), но вдруг пригодится когда-нибудь, память освежить.

            var match = new BsonDocument 
            { { 
                    "$match", new BsonDocument 
                    {         
                        {
                            "Date", new BsonDocument 
                            { { "$lte", DateTime.Now } }
                        }
                    } 
            } };
            var group = new BsonDocument
            { {
                    "$group", new BsonDocument
                    {
                        { "_id","$Blog._id" },
                        {
                            "PublishDate", new BsonDocument 
                            { { "$max", "$Date" } }
                        }
                    }
            } };

            var project = new BsonDocument
            { {
                    "$project", new BsonDocument
                    {
                        { "Blog._id", "$_id" },
                        { "PublishDate", "$PublishDate" }
                    }
            } };

            var sort = new BsonDocument { { "$sort", new BsonDocument { { "PublishDate", -1 } } } };
            var skip = new BsonDocument { { "$skip", (page - 1) * count } };
            var limit = new BsonDocument { { "$limit", count } };

            var pipeline = new[] { match, group, sort, project, skip, limit };
            var lastPostsInBlogs = this.mongoContext.Posts
                .Aggregate(pipeline)
                .ResultDocuments.Select(x => BsonSerializer.Deserialize(x))
                .ToList();

            return
                lastPostsInBlogs.Join(
                    this.mongoContext.Blogs.AsQueryable()
                        .Where(condition),
                    pb => pb.Blog.Id,
                    b => b.Id,
                    (pb, b) =>
                    new BlogItem()
                    {
                        Id = b.StrId,
                        Alias = b.Alias,
                        Title = b.Title,
                        Description = b.Info,
                        CoverFile = b.CoverFile ?? DomainAppSettings.DefaultPreview,
                        CanPost = b.Owner.AccountId == visitorId || (b.IsCommon && b.Members.Contains(visitorId)),
                        LastUpdated = b.LastUpdated,
                        LastPosts = this.mongoContext.Posts
                            .AsQueryable()
                            .Where(p => p.Blog.Id == b.Id && p.PublishDate  p.PublishDate)
                            .Take(3)
                            .Select(p => new PostLine()
                            {
                                Id = p.StrId,
                                Number = p.Number,
                                BlogAlias = p.Blog.Alias,
                                Title = p.Title,
                                Date = p.Date
                            })
                    }).ToArray();