Расширение идеи Томаша Зато. Tomas Array.prototype.compare должен быть infact, называемый Array.prototype.compareIdentical.
Он проходит:
[1, 2, [3, 4]].compareIdentical ([1, 2, [3, 2]]) === false;
[1, "2,3"].compareIdentical ([1, 2, 3]) === false;
[1, 2, [3, 4]].compareIdentical ([1, 2, [3, 4]]) === true;
[1, 2, 1, 2].compareIdentical ([1, 2, 1, 2]) === true;
Но не работает:
[[1, 2, [3, 2]],1, 2, [3, 2]].compareIdentical([1, 2, [3, 2],[1, 2, [3, 2]]])
Здесь лучше (на мой взгляд) версия:
Array.prototype.compare = function (array) {
// if the other array is a falsy value, return
if (!array)
return false;
// compare lengths - can save a lot of time
if (this.length != array.length)
return false;
this.sort();
array.sort();
for (var i = 0; i < this.length; i++) {
// Check if we have nested arrays
if (this[i] instanceof Array && array[i] instanceof Array) {
// recurse into the nested arrays
if (!this[i].compare(array[i]))
return false;
}
else if (this[i] != array[i]) {
// Warning - two different object instances will never be equal: {x:20} != {x:20}
return false;
}
}
return true;
}
Первую вещь, которую Вы хотите попробовать, называют Пацифист - чему позволяет Пацифист, сделать необходимо открыть большой пакет (такой как XCode) и получить доступ к частям ее непосредственно. Я вполне уверен, Вы будете в состоянии найти меньший пакет в пакете XCode, который просто имеет gcc.
ОДНАКО мне не ясно, что это - оптимальный маршрут. Если Вы планируете сделать, I разработки Какао или Углерода сильно предлагает установить весь пакет, потому что Вам будут нужны вся документация и заголовки. Если Вы - только планирование выполнения материала командной строки, все еще можно найти, что необходимо ввести по абсолютному адресу вокруг в XCode для идентификации всех пакетов, в которых Вы будете нуждаться - вещи, такие как библиотеки, заголовки, страницы справочника и так далее.
, В целом, Вы - вероятно, все еще более обеспеченная установка всего этого - если пространство HD действительно трудно (потому что Вы находитесь на крошечной старой iMac, например), тогда смотрят на инструменты как Одноязычный - Одноязычный, удаляет всю международную поддержку со стороны всех различных приложений OS X, которые могут легко уменьшить размер приложения на 50%.
Я вполне уверен, что это не возможно. Однако я также не уверен, нужен ли Вам целый комплект разработчика для устанавливания инструментов разработчика. Довольно много инструментов установлены наряду с XCode, который мог бы быть дополнительным. Однако я думаю, что Вы являетесь неудачливыми для того, чтобы не должный быть стиснуть зубы и использовать wget или DownThemAll или некоторый другой менеджер загрузок, который позволит Вам медленно загрузить инструменты разработчика в блоках.
Каждый раз, когда я устанавливаю OS X, я устанавливаю инструменты разработчика, как правило, просто потому что он открывает мир доступного программного обеспечения чрезвычайно. Возможно, необходимо рассмотреть выполнение этого в будущем также.
Существует штрейкбрехер и MacPorts, если Вы хотите легкий installer/updater.
Установите пакет GCC из каталога Packages в образе диска XCode, и у Вас будет просто GCC. Обратите внимание, что, конечно, у Вас не будет автоинструментов или других стандартных инструментов сборки, для которых необходимо будет установить больше пакетов от той папки.
Я нашел этот , гугление вокруг этого, кажется, устанавливает его без XCode.