2013-05-08 25 views
6

chciałbym tłumić wyjście zmiennych pomocniczych w Scala arkuszu:Wyłącz wyświetlanie wyniku w Scala arkuszu

val sqs = scen.rssis.toSeq.filter { case (ap,s) => 
    s.exists(e => e.epoch > 1) }.sortBy { -_._2.length }.take(10) 
                //> sqs : 
                // *snip* a lot of stuff I'd rather not have 
                //| Output exceeds cutoff limit. 
    sqs foreach { case (api,s) => 
    println(f"${scen.aps(api).ssid}%-10s ${s.length}% 5d") 
    }            //> 2WIRE230  74 
                //| 2WIRE736  74 
                //| Jamie56  73 
                //| VVHOA   69 
                //| 2WIRE059  68 
                //| Rainsnet  68 
                //| 2WIRE519  67 
                //| 2WIRE604  65 
                //| neo_vex_24 63 
                //| ALEMANIA7  63 

Czy istnieje sposób, aby stłumić wyjście zadania w arkuszu Scala?

Odpowiedz

6

Nie ma wyraźnego sposobu na wyłączenie wyjścia. Jednak można to łatwo osiągnąć, przenosząc deklaracje pomocnicze w zewnętrznym (lub zagnieżdżonym) obiekcie.

Na przykład, co następuje byłoby to zrobić:

object worksheet { 
    object helper { 
    val sqs = scen.rssis.toSeq.filter { case (ap,s) => 
     s.exists(e => e.epoch > 1) }.sortBy { -_._2.length }.take(10) 
    } 

    helper.sqs foreach { case (api,s) => 
    println(f"${scen.aps(api).ssid}%-10s ${s.length}% 5d") 
    } 
} 
+0

Ohhhhh .... Kolejne kroki: 1. Dodać 'import helper._'. 2. Napisz makro, aby zrobić to dla nas ... – gzm0