2016-11-14 19 views
2

Есть ли способ отключения этого предупреждения? Я полностью понимаю, что он говорит, почему это вообще полезно, и почему существует WithFilter, но эта конкретная монада используется для составления отдельных функций, а не для коллекций значений монадического типа, а WithFilter не даст никакого значимого улучшения, требуя дополнительного метода и классы, смешивающие простой интерфейс класса.Предупреждение: (55, 56) Метод `withFilter 'еще не существует на MoldPiece [PressureData (Int, prettyprint.YesNo)], используя вместо этого метод` filter'

ответ

2

Как насчет определения def withFilter(f: A => Boolean) = filter(f) и документирования его существует только для этой цели? К сожалению, у компилятора Scala нет общего способа отключения предупреждений, которые вы не хотите, и я не думаю, что есть способ, характерный для этого.

+0

Ну, я думаю, что это «достаточно хорошо» для практических целей. Это просто нарушает мой эстетический смысл, портит иначе очищенный и минималистичный код. Возможно, если я просто переместил это объявление на новый базовый признак «Монада» и притворись, что последний существует как самодокументирующийся способ описания того, что является фактическим монадическим типом, поскольку он отличается от параметра типа класса монады ... Если никто не придумывает какое-либо другое декларативное решение. Я отвечу на ваш ответ как лучший. – Turin

 Смежные вопросы

  • Нет связанных вопросов^_^