我目前正在開發一個Scala項目。作爲第一次嘗試處理這種困難的項目,我現在非常失落和沮喪。Scala:讀取和過濾行
在這個項目中我應該:
- 讀稱爲map.txt一個txt文件,裏面包含了很多的幾個房間 信息
- 商店專項線(部分)兩大 陣列的不同元素(房間&動作),它由兩個定義的類組成。
的文件中的行的含義:
- 在第一行是總數的房間
- 0在第二行是的所述room_number第一房
- 哈爾塞爾228是第一個房間的房間
- 段落是第一個房間的描述
- 第四行是用戶可以選擇去的不同方向的數量。在這裏是1,因爲用戶在第一個房間只能選擇去往東
- 東在第五行是方向選項,用戶可以選擇去
- 1除了東是對的room_number選擇去往東的目的地房
- 然後室1等等等等...
所以在這個的map.txt基本上,我有3個房間:Halsell 228(室1),Halsell第二走廊(房間2),CS辦公室(房間3)
我想我必須利用兩個函數來過濾或取出我想要保存的行的部分。但我真的不知道該怎麼做。這是我想出迄今:
import io.Source
case class Action(direc: String, dest: Int)
case class Room(roomNumber: Int, roomName: String, desc: String, array: Array[Action])
val source = Source.fromFile("map.txt")
val lines = source.getLines
def parseLineR(line: String):Room = {
// apparently IDK anything...
Room(parts(0).toInt, parts(1),parts(2),parts(3))
}
def parseLineD(line: String):Action = {
// really don't know
Action(parts(0),parts(1).toInt)
}
val room =
val actions =
source.close
我要創建兩個數組,這可能看起來像這些:
val rooms = Array(Room(0,"sa","sb",actions),Room(1,"ww","wa",actions),...)
val actions = Array(Action("east", 0), Action("west", 1),...)
而且每個數組中的元素的數量應取決於
-
在房間
- :是總房間數和
- 在行動:是的總方向選擇的號碼。
我們無法查看文件時不要求許可。 –
會不會是一個: http://www.cs.trinity.edu/~mlewis/CSCI1320-F12/Code/map.txt – Marco
1.指定的文件格式。你的做法是行不通的,因爲房間信息和方向分佈在多個線路。 2.你最終的數據結構是什麼樣子。你如何檢索房間的方向?或者這些數字是否存在? –