Type of _ * _

GS-812
Windoof-User
Windoof-User
Beiträge: 30
Registriert: 25. Apr 2015 12:47

Type of _ * _

Beitrag von GS-812 »

Hallo Zusammen,

hatten wir schon mal in der Übung besprochen, finde es aber gerade nicht.

Wie kann ich den Typ für

Code: Alles auswählen

_ * _
angeben?

Aktuell erkennt er nicht, da ich nicht richtig sage, dass es ein Int ist.

Code: Alles auswählen

def factorialFolding(n: Int): Int = {
    fold(2 to n toList, (x : Int,y: Int) => x * y, 1)
  }
  
  def factorialFoldingNotWorking(n: Int): Int = {
    fold(2 to n toList, _ * _: (Int,Int), 1)
  }
 
Gruß

Georg

0b101101101
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 179
Registriert: 15. Apr 2015 18:24

Re: Type of _ * _

Beitrag von 0b101101101 »

Hm, ich hatte das Problem auch mal. Aber _*_ ist natürlich kein Int. Es ist auch kein Tupel.

Denn es ist eine Funktion. Ich bin mir nicht sicher, aber probier mal so: (_*_ : (Int, Int)=>Int)
Alternativ müsstest du auch den Typ des Folds angeben können: fold[Int](2 to n toList, _*_, 1)

GS-812
Windoof-User
Windoof-User
Beiträge: 30
Registriert: 25. Apr 2015 12:47

Re: Type of _ * _

Beitrag von GS-812 »

Danke

Code: Alles auswählen

fold[Int,Int](2 to n toList, _ * _, 1)
geht.

Code: Alles auswählen

fold(2 to n toList, (_*_) : (Int, Int) => Int, 1)
geht.

Laut IDEA "Unnecessary parentheses" bei "(_*_)" aber ohne geht es nicht.

Antworten

Zurück zu „Archiv“