Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在scala中读取多行作为输入_Scala - Fatal编程技术网

在scala中读取多行作为输入

在scala中读取多行作为输入,scala,Scala,我有很多行作为输入,希望阅读和打印完全相同的内容。问题是我不知道怎么做!(readLine) 输入来自用户在终端中键入的内容 第一个整数是总行数 输入: 4 word localization internationalization 输出: word localization internationalization 差不多 // default condition: string is not empty, not inclusive! class TermLines (cond: (

我有很多行作为输入,希望阅读和打印完全相同的内容。问题是我不知道怎么做!(
readLine
) 输入来自用户在终端中键入的内容

第一个整数是总行数

输入:

4
word
localization
internationalization
输出:

word
localization
internationalization
差不多

// default condition: string is not empty, not inclusive! 
class TermLines (cond: (String => Boolean) = _ != "") extends Iterator[String] { 
  var s = readLine; 
  def hasNext = cond(s); 
  def next = { var r = s; s = readLine; r } 
} 
那就这样说吧

println((new TermLines).toVector.mkString("\n")) // till empty

解决了

import scala.io.StdIn

object Solution extends App
{
    val numOfLines = StdIn.readInt()
    def words: Seq[String] = for (_ <- 1 to numOfLines) yield StdIn.readLine()
    def sort = words.map
    {
        case word => word
    }
    sort.foreach(println)
}
导入scala.io.StdIn
对象解决方案扩展应用程序
{
val numOfLines=StdIn.readInt()
def words:Seq[String]=for(uword)
}
sort.foreach(println)
}

输入来自用户在终端中输入。因为readLine从stdin中读取了一行输入。什么不起作用?我希望程序同时读取多行!readLine只读取一行2个选项:调用
readLine
多次,或者根据中的
编写自己的实用程序putStream
调用
.map()
没有做任何事情
排序
单词
完全相同。这不是全部代码。我剪切了代码。如果word.length>10=>(s“${word.head}${(word.length-2)。toString}${word word last}”)case word=>word但是你是对的!两组参数
()
是不必要的,而
.toString
是不必要的。使用
readInt()
是危险的。很高兴它对您有用,但对于实际发布的问题,它不是一个很好的解决方案。
import scala.io.StdIn

object Solution extends App
{
    val numOfLines = StdIn.readInt()
    def words: Seq[String] = for (_ <- 1 to numOfLines) yield StdIn.readLine()
    def sort = words.map
    {
        case word => word
    }
    sort.foreach(println)
}