จากตัวอย่างเกี่ยวกับการหาคำแรกหรือชื่อตัวแปรจาก input file http://www.sakngoi.com/?p=69 เราสามารถเขียนโดยใช้ Mathematica ได้เช่น
ExtractVal[txtin_List, keyword_String] := Module[{pos, val},
(* extract the value of the keyword from the input file *)
(* txtin = Import[inputfile,”Table”]; *)
pos = Select[Position[ToLowerCase /@ txtin, keyword], #[[2]] == 1 &];
If[Length@pos == 1, val = txtin[[pos[[1, 1]], 2]];];
val
];
โดยที่ keyword ใน function ExtractVal นั้นก็เป็นชื่อตัวแปรที่เราต้องการนำไปใช้
ตัวอย่าง function ReadPar นี้จะให้ค่าที่อ่านได้จาก input file โดยในที่นี้สมมุติให้ ชื่อตัวแปรที่ต้องการค่าสำหรับ function DistributeN มีดังนี้คือ “initn”, “lifecycle”, “mu”, และ “sigma”
ReadPar[inputfile_String] := Module[{txtin, outls, distributenparms},
txtin = Import[inputfile, “Table”];
outls = {};(* for DistributeN *)
distributenparms = {“initn”, “lifecycle”, “mu”, “sigma”};
outls = ToExpression/@(ExtractVal[txtin, #] & /@ distributenparms);If[Length@outls!=Length@distributenparms,
Print[“Please check your input file. Some values are missing.”];
];outls
];
ตัวอย่างของ input file (input.in)
initN 2.30*10^11
Mu 10
LifeCycle 48
Sigma 5
การใช้ก็เพียงพิมพ์ ReadPar[“input.in”] โดยคำตอบที่ได้จะเป็น
{2.3*10^11, 48, 10, 5}