我有一個保存分數的 .csv 檔案。這是它的樣子:
"name",10
.csv 是用這個函式決議的:
func _ready():
var file = File.new()
file.open("user://scores.csv", file.READ)
while !file.eof_reached():
line = file.get_csv_line()
text = text "%s: %s" % [line[0], line[1]] "\n" ## Invalid get index: '1' (on base: PoolStringArray)
uj5u.com熱心網友回復:
該檔案必須以新行結尾。結果,您在閱讀時會得到兩行。第一個有你所期望的 ( [name, 10]),第二個是空的,當你嘗試索引它時會導致錯誤。
當我對此進行測驗時,最后一行不是作為空陣列出現,而是作為帶有單個空字串的陣列出現。環顧四周,這種行為已經存在一段時間了。但是,我沒有發現錯誤報告或建議,我想知道是否有原因,或者只是忽略了這一點。
您可以檢查獲得的列數。例如,下面的代碼將跳過任何沒有足夠欄位的行來滿足您的情況:
if line.size() < 2:
continue
此代碼將專門針對額外的行:
if file.eof_reached() and line.size() == 1 and line[0] == "":
break
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/365293.html
