現在、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 というフォルダーがあるとします。結果のリストは次のとおりです。
非常に奇妙な...
関数を次のように変更します。
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
によって生成されたカンマが一致しないのはなぜですか?