Как "showpage ()" работает в этом фрагменте кода? - PullRequest
1 голос
/ 30 сентября 2019

Я учил Lua у http://www.lua.org/pil/4.3.1.html, и у них был этот кусок кода:

if line > MAXLINES then
  showpage()
  line = 0
end

Я не понимаю, что здесь делает "showpage ()". Я не знаю, является ли это просто примером функции, которую нужно было предварительно определить (и я не знаю, действительно ли вы можете сделать это с помощью функции) или это библиотека, о которой я не знаю.

1 Ответ

2 голосов
/ 01 октября 2019

showpage не является стандартной функцией Lua. Вы можете найти любую из встроенных функций Lua в справочном руководстве Lua .

. Если функция там не найдена, она определяется пользователем. Вы узнаете, как определять функции в главе 5.

Действительно необходимо, чтобы showpage был определен перед тем, как вы его вызовете. В противном случае вы получите сообщение об ошибке при вызове значения nil.

Вы обнаружите, что во многих примерах кода пропускается определение некоторых переменных.

 if a<0 then a = 0 end

 if a<b then return a else return b end

 if line > MAXLINES then
   showpage()
   line = 0
 end

В этом примере a, b, showpage, line и MAXLINES - все nil. Все это может привести к ошибкам, так как вы не можете ни вызывать нулевые значения, ни сравнивать нулевые значения с числами.

Не уверен, что авторы были ленивы, хотели уменьшить количество страниц или намеревались заставить васподумай об их коде.

...