RosettaCodeData/Task/Read-a-configuration-file/Phix/read-a-configuration-file.phix
2017-09-25 22:28:19 +02:00

31 lines
878 B
Text

integer fn = open("RCTEST.INI","r")
sequence lines = get_text(fn,GT_LF_STRIPPED)
close(fn)
constant dini = new_dict()
for i=1 to length(lines) do
string li = trim(lines[i])
if length(li)
and not find(li[1],"#;") then
integer k = find(' ',li)
if k!=0 then
string rest = li[k+1..$]
li = li[1..k-1] -- (may want upper())
if find(',',rest) then
sequence a = split(rest,',')
for j=1 to length(a) do a[j]=trim(a[j]) end for
putd(li,a,dini)
else
putd(li,rest,dini)
end if
else
putd(li,1,dini) -- ""
end if
end if
end for
function visitor(object key, object data, object /*user_data*/)
?{key,data}
return 1
end function
traverse_dict(routine_id("visitor"),0,dini)
?getd("FAVOURITEFRUIT",dini)