Оператор различия в списке Haskell в F#

Я работаю в Android Studio и столкнулся с этой ошибкой при попытке создать подписанный APK для выпуска. Мне удалось создать и протестировать отладочную APK без проблем, но как только я захочу создать APK выпуска, процесс сборки будет работать в течение нескольких минут подряд, а затем окончательно завершится с помощью «Ошибка java.lang.OutOfMemoryError: GC превышение верхнего предела ". Я увеличил размеры кучи как для VM, так и для компилятора Android DEX, но проблема не устранена. Наконец, после многих часов и кружек кофе выяснилось, что проблема была в моем файле buildGradle на уровне приложения. У меня был параметр minifyEnabled для типа сборки релиза, установленного на «ложь», и, следовательно, работа с продуктами Proguard по коду, который не прошел через процесс сжатия кода (см. https://developer.android.com/studio/build/shrink-code.html ). Я изменил параметр «minifyEnabled» на «true», а сборка релиза была выполнена как сон:)

. Короче, мне пришлось изменить файл «build.gradle» на уровне приложения из: //. ..

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.sign_config_release
    }
    debug {
        debuggable true
        signingConfig signingConfigs.sign_config_debug
    }
}

//...

-

    //...

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.sign_config_release
    }
    debug {
        debuggable true
        signingConfig signingConfigs.sign_config_debug
    }
}

//...

8
задан bytebuster 15 September 2012 в 06:43
поделиться

2 ответа

Нет... Просто запишите это и сделайте это инфиксным оператором - использование набора специальных символов. Обратная косая черта (\) не находится в списке ниже, таким образом, он не будет работать инфиксным оператором. См. руководство:

инфикс-op: =

or || & && <OP >OP $OP = |OP &OP ^OP :: -OP +OP *OP /OP %OP

**OP

префикс-op: =

!OP ?OP ~OP -OP +OP % %% & &&
5
ответ дан 5 December 2019 в 17:43
поделиться

Предполагая, что вам действительно нужна обычная разница наборов, а не странное вычитание упорядоченных, но несортированных мультимножеств, которое, по-видимому, обеспечивает Haskell, просто преобразуйте списки в наборы с помощью встроенного набора , а затем с помощью встроенного оператора - вычислить разность наборов:

set xs - set ys

Например:

> set [1..5] - set [2..4];;
val it : Set<int> = seq [1; 5]
-3
ответ дан 5 December 2019 в 17:43
поделиться
Другие вопросы по тегам:

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