a={} for i=1,10 do a[i]={} for j=0,10 do if(i%2==0) then a[i][j]=0 end end end print(a[9][10]) print(a[10][10]) print() --双端队列 List={} function List.new() return {first = 0,last = -1} end function List.pushleft(list,value) local first= list.first-1 list[first] = value list.first= first end function List.pushright(list,value) local last = list.last+1 list[last]= value list.last=last end function List.popleft(list) local first=list.first if(first>list.last) then error("list is empty") end local res= list[first] list[first]=nil list.first=list.first+1 return res end function List.popright(list) local last = list.last if last<first then error("the list is empty") end local res = list[last] list[last]= nil list.last= list.last-1 return res end function List.display(list) if(list.first>list.last) then error("the list is empty",2) end for i=list.first ,list.last do print(list[i]) end end mylist=List.new() List.pushleft(mylist,12) List.pushleft(mylist,"00") List.pushright(mylist,34) List.pushright(mylist,56) List.display(mylist) print() function newStack () return {""} end function serialize(o) if type(o) == "number" then io.write(o) elseif type(o) == "string" then --不要手动加入引号,否则会有边际效应 io.write(string.format("%q",o)) elseif type(o) == "table" then io.write("{\n") for i,v in pairs(o) do io.write(" "..i.." = ") serialize(v) io.write(",\n") end io.write("}\n") end end serialize(123) print() serialize("112233") print() tab = { a=11,haha="www" ,c=333} serialize(tab) function basicSerialize (o) if type(o) == "number" then return tostring(o) else return string.format("%q", o) end end function save (name, value, saved) saved = saved or {} -- 参数未传入的初始化 io.write(name, " = ") if type(value) == "number" or type(value) == "string" then io.write(basicSerialize(value), "\n") elseif type(value) == "table" then if saved[value] then io.write(saved[value], "\tcircle\n") else saved[value] = name io.write("{}\n") for k,v in pairs(value) do local fieldname = string.format("%s[%s]", name, basicSerialize(k)) save(fieldname, v, saved) end end else error("cannot save a " .. type(value)) end end a = {x=1, y=2; {3,4,5}} a[2] = a -- 循环表 a.z = a[1] -- 共享子表 save('a',a)
运行结果:
nil 0 00 12 34 56 123 "112233" { a = 11, c = 333, haha = "www", } a = {} a[1] = {} a[1][1] = 3 a[1][2] = 4 a[1][3] = 5 a[2] = a circle a["y"] = 2 a["x"] = 1 a["z"] = a[1] circle
我们可以看到格式化就是通过格式字符串得到特定格式: format!("{}", foo) -> "3735928559" format!("0x{:X}", foo) -> "0xDEADBEEF" format!("0o{:o}", foo) -> "0o33653337357" 根据使用的参数类型,同样的变量(foo)能够格式化成不同的形式:X, o 和未指定形式。 这个格式化的功能是通过 t
fmt::Debug 看起来并不简洁,然而它对自定义输出外观通常是有好处的。而fmt::Display是通过手动的方式来实现,采用了{}来打印标记。实现方式看起来像这样: // (使用 `use`)导入 `fmt` 模块使 `fmt::Display` 可用 use std::fmt; // 定义一个结构体,使用 `fmt::Display` 来实现。这只是简单地给元组结构体`Structure`
我从LDAP中检索所有kerberos用户(但只检索他们的一些变量,例如kerberosid、location、mail、name、Nushe,...)到一个平面文件中(分隔符是管道)。 每行在新行上,记录之间为空新行
当我在snowflake中查询外部表(指向CSV文件)时,结果以JSON格式显示。 我如何检索我的结果在表格格式,而不使用任何这样的sql下面。我想做,我希望它以显示格式显示。 有什么想法吗?谢了。
我正在使用JComboCalendar小部件来让用户选择一个日期。JComboCalendar有一个方法getDate(),它返回一个Date对象。 根据Oracle docs,date.toString应该返回一个格式为yyyy-mm-dd的字符串,但我接收到的字符串如下: 如何才能得到预期的输出?对于如何像dd-mm-yyyy那样格式化它的奖励,因为我只是发现了如何读取给定格式的字符串,而不是
主要内容:实例,实例,格式变量,实例,实例,实例,实例,输出到其它文件,实例,实例Perl 是一个非常强大的文本数据处理语言。 Perl 中可以使用 format 来定义一个模板,然后使用 write 按指定模板输出数据。 Perl 格式化定义语法格式如下: 参数解析: FormatName :格式化名称。 fieldline :一个格式行,用来定义一个输出行的格式,类似 @,^,<,>,| 这样的字符。 value_one,value_two…… :数据行,用来向前面的格式行