Scala (Breeze) + Intellij: не удается разрешить символ *

Я использую Breeze для суммирования простых операций линейной алгебры с плотными матрицами. Я использую Intellij IDEA. Вот фрагмент моего кода:

import breeze.linalg._    
val X1:DenseMatrix[Double] = DenseMatrix.zeros[Double](10, 5) + 1.0
val n1 : Double = X1.rows.toDouble
val one_tall_t1  = DenseMatrix.zeros[Double](1, n1.toInt) + 1.0
val mu1=one_tall_t1*X1/n1

В последней строке символы * и / отображаются в среде IDE красным цветом. Сообщение об ошибке: «Невозможно разрешить символ *».

Но Intellij создает программу без ошибок и работает нормально.

Я пытался выяснить причину: поскольку я новичок в Scala, я не уверен, что это из-за Intellij, Breeze или просто из-за моего кода. В некоторых сообщениях люди предлагали сделать кеш недействительным и перезапустить Intellij, но это не решает мою проблему.

Я ценю ваши комментарии или решения!


person Alt    schedule 13.07.2015    source источник
comment
Вы когда-нибудь находили обходной путь, чтобы устранить красные волнистые линии. У меня все еще есть эта проблема через 5 лет после вашей первоначальной публикации!   -  person quine    schedule 18.03.2020
comment
@quine, нет, тогда не было. И впоследствии я никогда не кодировал Scala с использованием IntelliJ. Хотя будет хорошо, если вы разместите здесь решение (если вы его найдете) для товарища-программиста, который может столкнуться с той же проблемой через пять лет :-) ;-)   -  person Alt    schedule 18.03.2020


Ответы (1)


IntelliJ сбивается с толку из-за сложных неявных поисков, подобных тем, которые используются в Breeze. Я регистрирую ошибки, когда могу их минимизировать и исправить, но это утомительно. (Eclipse, как бы то ни было, не намного лучше.)

Обычно это работает лучше, если вы просто зависите от Breeze, а не развиваетесь внутри него. Я предполагаю, что вы уже это делаете.

person dlwh    schedule 13.07.2015
comment
Спасибо, это правда, я просто использую Breeze для очень простых операций. - person Alt; 14.07.2015