0

現在、UNIXls -mコマンドを使用して一連のファイルをリストし、正規表現を使用してそれらをリストに変換する関数を作成しています。

私の機能は次のとおりです。

    def genFileList(path : String = "~") : Iterator[String] = {

  val fileSeparatorRegex: Regex = "(.*),".r

  val fullCommand : String = s"ls -m $path"

  val rawFileList: String = fullCommand.!!

  val files: Iterator[String] = fileSeparatorRegex.findAllIn(rawFileList).matchData.map(_.group(1))

  var debug : List[String] = files.toList

  debug

  files

}

例: test.txt test1.txt test2.txt という 3 つのファイルを含む test というフォルダーがあるとします。結果のリストは次のとおりです。

res1

非常に奇妙な...

関数を次のように変更します。

    def genFileList(path : String = "~") : Iterator[String] = {

  val fileSeparatorRegex: Regex = "(.*)\\n".r \\ Changed to match newline

  val fullCommand : String = s"ls -1 $path" \\ Changed to give file name separated via newline 

  val rawFileList: String = fullCommand.!!

  val files: Iterator[String] = fileSeparatorRegex.findAllIn(rawFileList).matchData.map(_.group(1))

  var debug : List[String] = files.toList

  debug

  files

}

ただああ:

ここに画像の説明を入力

最初のケースの失敗を理解するのを手伝ってくれる人はいますか? ls -mによって生成されたカンマが一致しないのはなぜですか?

4

2 に答える 2