Eclipse: Присоедините source/javadoc к библиотеке через локальное свойство

Я внес некоторые изменения в реализацию github для получения правильного вывода, как показано ниже.

1. В Python 3 range () не возвращает автоматически список, поэтому я сделал это list(range(n+1))

2. Я сделал это int(n/i-i)

import math

# return a dict or a list of primes up to N
# create full prime sieve for N=10^6 in 1 sec
def prime_sieve(n, output={}):
    nroot = int(math.sqrt(n))
    sieve = list(range(n+1))
    sieve[1] = 0

    for i in range(2, nroot+1):
        if sieve[i] != 0:
            m = int(n/i - i)
            sieve[i*i: n+1:i] = [0] * (m+1)

    if type(output) == dict:
        pmap = {}
        for x in sieve:
            if x != 0:
                pmap[x] = True
        return pmap
    elif type(output) == list:
        return [x for x in sieve if x != 0]
    else:
        return None

Затем в приведенной ниже функции я установил значение по умолчанию primelist=None

def get_prime_factors(n, primelist=None):
    if primelist is None:
        primelist = prime_sieve(n,output=[])

    fs = []
    for p in primelist:
        count = 0
        while n % p == 0:
            n /= p
            count += 1
        if count > 0:
            fs.append((p, count))

    return fs

Теперь, если вы попытаетесь:

print(get_prime_factors(140))

, вы получите правильный вывод:

[(2, 2), (5, 1), (7, 1)]
10
задан Chris Conway 19 November 2008 в 00:11
поделиться

2 ответа

Я полагаю, что это было бы лучше достигнуто через:

  • создание связанной папки, объединенной с
  • объявление связанного ресурса

Связанный ресурс определяет переменную пути, которая была бы, равняется /my/path/to/lib/src

Eclipse Linked Resources

Связанная папка была бы относиться к Вашему связанному ресурсу

Linked Resources

(можно использовать переменную и не фиксированный путь с кнопкой "Variable"),

Переменная на самом деле всегда локальна (для рабочей области) и будет изменена через Linked Resources предпочтительный экран.

Связанная папка может также быть... связанным файлом, таким образом позволив ссылку архива через относительный путь (относительно переменной).
Затем этот связанный файл (здесь связанный архив) может быть связан с Вашим classpathentry в"source"атрибут.


Проблема со Связанными Ресурсами, они локальны для рабочей области в предпочтениях.
Можно экспортировать предпочтения в a [myPrefs.epf] файл, и затем обрезает экспортируемый файл для отъезда только строк, содержащих pathvariable:

/instance/org.eclipse.core.resources/pathvariable.MY_DIRECTORY=/my/path/to/lib/src

Любой может затем импортировать этот специальный предпочтительный файл, который будет только влиять"Linked Resources"часть.

То решение не очень удовлетворяет, начиная с .epf предпочтительный файл не может быть загружен автоматически в проекте.
Когда я устанавливаю проект со связанные ресурсы, определяющие путь, я всегда оставляю большое README.txt в корне моего проекта, для подстрекательства пользователя упомянутого проекта определить те же самые связанные ресурсы с его собственным фиксированным локальным путем.

Несколько ошибок происходят для улучшения этой ситуации или вокруг Связанной темы Ресурсов.

Особенно:


DevByStarlight упоминает в комментариях проект (не очень активный с октября 2011) workspacemechanic.

Механик Рабочей области автоматизирует обслуживание Вашей среды Eclipse путем тонкой настройки предпочтений, добавления дополнительных местоположений, и так далее. Можно использовать его для:

  • Создайте последовательную среду среди групп, столь же многочисленных как вся компания, Ваша локальная команда, или даже среди Вашего собственного много рабочих областей
  • Сохраните настройку времени новые рабочие области
  • Создайте задачи, которые гарантируют, что Ваши любимые новые предпочтения применяются ко всем Вашим текущим и будущим рабочим областям. (Это - одна из наших любимых функций!)

Ключ к поведению Механика Рабочей области Task.
Задача описывает простой тест и действие, которое, когда выполнено, изменяет среду, таким образом, тест впоследствии передаст.
Tasks может прибыть во многие формы: предпочтительные файлы, классы Java, сценарии Groovy и расширения Eclipse. Можно легко определить собственные Задачи.

Это идет с набором сценариев:

17
ответ дан 3 December 2019 в 17:22
поделиться

Можно сделать это с переменными пути к классу.

Каждый разработчик создает несколько новых переменных в Окне-> Предпочтения-> Java-> Путь Сборки-> Переменные Пути к классу.

Определите переменную (скажите, JAVA_LIB_DIR), что точки к каталогу, содержащему сторонний JAR (или БАНКИ). Определите другую переменную, которая указывает на каталог, содержащий код из независимого источника (JAVA_SRC_DIR). Можно настроить это, как Вам нравится, но у нас есть структура как это:

common/   
  lib/
    java/       <-- JAVA_LIB_DIR variable points to this directory
      axis/
      bitronix/
        1.0/bitronix.jar   "extension" is "bitronix/1.0/bitronix.jar"
      ...

В пути сборки Вашего проекта используйте опцию "Add Variable..." добавить библиотеку. Затем Вы, когда "источник присоединения", Вам предложат переменную и расширение исходного кода.

Таким образом, сингл, в совместно использованном .classpath файле можно зарегистрироваться, позволяя каждому разработчику определить местоположение их собственной библиотеки и исходных каталогов, где им нравится.

0
ответ дан 3 December 2019 в 17:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: