(L *LState)
| 134 | } |
| 135 | |
| 136 | func strFormat(L *LState) int { |
| 137 | str := L.CheckString(1) |
| 138 | args := make([]interface{}, L.GetTop()-1) |
| 139 | top := L.GetTop() |
| 140 | for i := 2; i <= top; i++ { |
| 141 | args[i-2] = L.Get(i) |
| 142 | } |
| 143 | npat := strings.Count(str, "%") - strings.Count(str, "%%") |
| 144 | L.Push(LString(fmt.Sprintf(str, args[:intMin(npat, len(args))]...))) |
| 145 | return 1 |
| 146 | } |
| 147 | |
| 148 | func strGsub(L *LState) int { |
| 149 | str := L.CheckString(1) |