0
我々のようなアルゴリズムを参照してください。私はScalaのでこれを実装しようとしている間違っ前方参照Javaでかなり頻繁に
MyObject currentObject = null
for(MyObject oldObject: objects){
if(currentObject != null) doSomething
else doSometing
currentObject = oldObject
}
を:
var currentObject: MyObject = null
for(oldObject <- objects){
if(currentObject != null) doSomething
else doSometing
currentObject = oldObject
}
しかし、私が受けていますWrong Forward参照コンパイルエラー。
私の問題は、 currentObjectのヌルとして初期化されていると思いますか?
更新:ここでは、実際のコード
:事前に
var protCoord:Coordinates = new Coordinates()
var prevprotCoord:Coordinates = new Coordinates()
var coordMap = mutable.Map[Coordinates, GenomeCoordinates]()
var protein:EnsemblProteinEntry = null
var codingLength = 0
for (gtfEntry <- gtfEntries.toStream) {
if (gtfEntry.isGene)
mapping.addGene(new GTFGeneEntry(gtfEntry))
if(gtfEntry.isTranscript){
mapping.addTranscriptID(gtfEntry)
if(protein != null) protein.multiMapCoordinates = coordMap // **I'm receiving the error here**
var protein = fastaEntries.getOrElse(gtfEntry.transcriptIdentifier, null)
if(protein == null)
protein = new EnsemblProteinEntry()
protCoord = new Coordinates()
prevprotCoord = new Coordinates()
coordMap = mutable.Map[Coordinates, GenomeCoordinates]()
codingLength = 0
}
感謝を。
詳細情報が必要です。コードは正常に見えます。 – pamu
注意:Scalaで 'null'を使わないようにしてください。代わりに' Some'と 'None'というサブタイプを使って' Option'を使ってください。参照してください:http://stackoverflow.com/questions/9698391/when-to-use-option – Jesper
私はあなたが '{何の< - ...} {theVar = whatever}'を実行すればうまくいくと思いますが、このすべてのエンコーディング。 – pedrofurla