k47.cz  — každý den dokud se vám to nezačne líbit
výběr foto Praha povídky kultura
TECH ▞▞ kolo | twitter RSS

Historie REPLu

1. 8. 2011 (před 8 lety) — k47 (CC by) (♪)

Scala má skvělý REPL (in­ter­ak­tivní kon­zoli). Celkem často, než se pustím do pro­gra­mo­vání „na­čisto“, tak začnu ex­pe­ri­men­to­vat v REPLu. Někdy bych vý­sle­dek těhle pokusů chtěl za­cho­vat, ale z his­to­rie se vy­ta­huje dost ne­po­ho­dlně. Proto jsem nepsal skript, který his­to­rii REPLu uloží do sou­boru.

import java.io.{ File, FileWriter }

/*
usage:
------
:power             // switch power mode on
:load repl.scala   // load this file
ReplHistory.save() // save history
*/

object ReplHistory {
  def historyToString =
    repl.history.grep("").init.filter(!_.startsWith(":")).mkString("\n")

  def save() = {
    val f = new File("repl-"+System.currentTimeMillis+".scala")
    val fw = new FileWriter(f)
    fw.write(historyToString)
    fw.close()
    println("repl history saved to file "+f)
  }

  def print() = println(historyToString)
}
píše k47 & hosté, ascii@k47.cz