Задано
var animals = ["cats", "dogs", "chimps", "moose"]
animals.removeFirst() // "cats"
print(animals) // ["dogs", "chimps", "moose"]
animals.removeLast() // "moose"
print(animals) // ["cats", "dogs", "chimps"]
animals.remove(at: 2) // "chimps"
print(animals) // ["cats", "dogs", "moose"]
Только для одного элемента
if let index = animals.index(of: "chimps") {
animals.remove(at: index)
}
print(animals) // ["cats", "dogs", "moose"]
Для нескольких элементов
var animals = ["cats", "dogs", "chimps", "moose", "chimps"]
animals = animals.filter(){$0 != "chimps"}
print(animals) // ["cats", "dogs", "moose"]
Или, альтернативно
animals.index(of: "chimps").map { animals.remove(at: $0) }
filter
) и возвращают удаленный элемент. dropFirst
или dropLast
для создания нового массива. Обновлено до Swift 3
У Вас на самом деле должен быть сервер, запускают рассматриваемый веб-браузер и делают снимок экрана приложения с соответствующими библиотеками. Apache не представит страницу для Вас так, у Вас должно быть программное обеспечение, которое будет.
Да, именно это необходим. Я делаю это в asp.net, и я на самом деле создаю объект WebBrowser, который avaialable в библиотеках классов платформы .NET для генерации снимка экрана.
ЕСЛИ Вашим сервером является Mac, то я рекомендую webkit2png, который является короткой программой Python, которая усиливает Objective C WebKit API для рендеринга URL. Лично, я использую его в сочетании с WWW:: Механизируйте, чтобы обойти мой участок разработки и сделать снимки экрана каждой страницы - полезными для тестирования функциональности, показа клиентов и совершенствования снимков экрана. Получающийся снимок экрана прекрасен, но долгое время иногда очень высок, прокручивая страницы.
ЕСЛИ Ваш сервер имеет небазовый дистрибутив Linux с установленным KDE, то Вы могли бы попробовать khtml2png. Я не попробовал это сам, но видел, что это упомянуло на webkit2png странице.
Вы могли бы также хотеть смотреть на WebKit, он известен тем, что он был легче встроить (используемый Adobe для AIR, Google для Chrome, Apple для iPhone...) затем другие механизмы визуализации. Это могло бы взять немного больше работы для установки, но это будет намного более стабильно, чем некоторый взлом, который запустил webbrowser и сделал снимок экрана.
Я использую сервис http://webthumb.bluga.net для поколения миниатюры. Устойчивые, мощные, простые в использовании, и очень разумные уровни. У меня есть производственный веб-сайт интенсивного трафика с помощью этого сервиса, и он работает очень хорошо. Учитывая трудность создания устойчивого веб-сервиса снимка экрана, хорошо сделать, чтобы кто-то еще сделал тяжелую работу.
Небесплатным решением для Java является WebRenderer. Интересная функция: это может эмулировать Safari, IE или браузеры Firefox при рендеринге. У них есть настольная версия и бездисплейная серверная версия. Также у них есть пример кода, показывающий, как представить изображение снимка экрана веб-страницы.
виртуальный X-сервер кадрового буфера
Я рекомендовал бы, чтобы XVFB (виртуальный X-сервер кадрового буфера) был лучшим решением для того, чтобы сделать снимки экрана бездисплейного сервера. Виртуальный X-сервер кадрового буфера xvfb обеспечивает X-сервер, который может работать на машинах без аппаратных средств дисплея и никаких физических устройств ввода данных. Я использую это на своем сервере для тестирования URL и делания его снимка экрана. Мы используем Ubuntu & XVFB + Firefox. Это хорошо работает. Измените согласно своим потребностям. Смотрите на этих статьях. Это могло бы быть использование, полное для Вас.
http://www.semicomplete.com/blog/geekery/xvfb-firefox.html