[問題] 以字串為變數名稱
板上各位好,我的問題在於能否有辦法將讀入的字串拿來命名變數?
我的目的在於將說明檔內的項目及內容對應讀出至同個cell中後,
將該項目字串作為其內容字串的變數名稱。
說明檔內容概略如下:
.
.
.
FILE_DATE = 2015-07-25T14:36:47Z
STATION_ID = "LGN"
PROCESSING_SOFTWARE_VERSION = "LPGS_2.5.1"
.
.
.
我以for迴圈及fgetl逐條讀取後以strtok取出等號前後的文字分別為項目及內容,
並存至cell內table{line,1}及table{line,2}中。
目前卡住的地方在於我想用table{line,1}的字串逐項為table{line,2}內的字串命名,
即鍵入FILE_DATE會直接跳出2015-07-25T14:36:47Z。
請板上先進不吝提點,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.218.39.53
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1471834535.A.C93.html
推
08/22 11:16, , 1F
08/22 11:16, 1F
感謝sun大提示,之前就有用eval但一直失敗,剛終於試成功,
對於引號放置的位置感覺仍是嘗試錯誤...
eval([table{str_lines,1} '= table{str_lines,2}'])
主要是因為這個說明檔未來仍有可能增減內容,而用這種方式就能將所有資訊讀入。
而對於特定用途的應用,我只需知道哪些項目是我需要的就可以把內容抓出來使用。
※ 編輯: fxxkjoe1231 (49.218.39.53), 08/22/2016 15:04:35
推
08/22 15:42, , 2F
08/22 15:42, 2F
→
08/22 15:42, , 3F
08/22 15:42, 3F
→
08/22 15:42, , 4F
08/22 15:42, 4F
→
08/22 15:43, , 5F
08/22 15:43, 5F
→
08/22 15:44, , 6F
08/22 15:44, 6F
→
08/22 15:44, , 7F
08/22 15:44, 7F
我用回文內的部分沒問題,內容都以項目名重新命名。
我的意思為,假設我的說明檔內有一百條,則跑了我詢問部分前的程序後,
可得到一個table,內部有該說明檔內的項目及內容(值)各一百項。
而我的問題部分則可以將該table內的內容以項目命名,且該項目名稱不變。
若未來的說明檔增加了其他項目(>一百條),則我一樣可以讀檔,
並將我要的項目及其值抓出來使用。
即使說明檔內的項目增加而改變各項目的排序,而我事先已經確定我需要的項目為何,
我都可以快速讀檔並用該項目名稱找到對應的值。
早期我是先記好各項目位置後,只抓特定值,但自從說明檔改版後新增資訊,
就得親自打開說明檔去找被更改後各項目的位置。
前文我提到的方法是我想到目前較自動化且好維護的方法
※ 編輯: fxxkjoe1231 (49.218.39.53), 08/22/2016 16:36:13
推
08/22 16:44, , 8F
08/22 16:44, 8F
→
08/22 16:44, , 9F
08/22 16:44, 9F
→
08/22 16:45, , 10F
08/22 16:45, 10F
→
08/22 16:45, , 11F
08/22 16:45, 11F
我大概懂意思了,是指透過字串判斷直接去找table內對應的值?
※ 編輯: fxxkjoe1231 (49.218.39.53), 08/22/2016 22:14:11
推
08/22 22:23, , 12F
08/22 22:23, 12F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章