Ich benutze Lua 5.3.Wie finde ich ein `f`, das` pcall (pcall, f) `` false` in Lua zurückgibt?
Lesen 'Programmierung in Lua 3. Ausgabe', kam ich in eine Übung, die mich auffordert, eine f
zu finden, die pcall(pcall, f)
false
Rückkehr macht. Ich denke, das ist äquivalent zu machen pcall(f)
einen Fehler auslösen. Aber scheint Verwendung pcall
auf etwas wird das nicht tun. Zum Beispiel lassen Sie f = nil
und nichts Schlimmes passiert.
Allerdings habe ich im Internet gefunden, dass f = (function() end)()
den Trick macht. Aber ich verstehe nicht warum. Hier f
ist nur der Rückgabewert (nil
) der Funktion function() end
richtig?
Dank. Es ist also etwas nicht wert, es zu bemerken? –
"In Lua geschriebene Funktionen können diese Unterscheidung nicht treffen": das ist etwas, das 'select ('#', ...)' liefern kann, oder nicht: '(function (...) print (select ('# ', ...)) Ende) ((Funktion() Ende)()) '? –
@PaulKulchenko, ja, aber Sie brauchen Hilfe von einer Bibliotheksfunktion wie 'Select'. – lhf