Jump to content

Module talk:Yesno: Difference between revisions

From Fifth Empire Wiki
No edit summary
why?
Line 98: Line 98:
::Thanks. Fixed. I moved your test case to the table above. --[[User:Ori.livneh|Ori.livneh]] ([[User talk:Ori.livneh|talk]]) 05:58, 3 March 2013 (UTC)
::Thanks. Fixed. I moved your test case to the table above. --[[User:Ori.livneh|Ori.livneh]] ([[User talk:Ori.livneh|talk]]) 05:58, 3 March 2013 (UTC)
:::Yesno has ~8M transclusions. No question it should handle the legacy 1:1. Test it. -[[User:DePiep|DePiep]] ([[User talk:DePiep|talk]]) 22:31, 11 March 2013 (UTC)
:::Yesno has ~8M transclusions. No question it should handle the legacy 1:1. Test it. -[[User:DePiep|DePiep]] ([[User talk:DePiep|talk]]) 22:31, 11 March 2013 (UTC)
== Why? ==
{{tl|yesno}} is quite simple, so I'm not sure if there is a point in replacing it with functionally equivalent Lua.  There are many cases where Lua can be much faster and easier to read, but I'm not sure that is the case here.  In fact, because of the slight overhead with #invoke, simple parser functions can actually be slightly faster than the equivalent Lua.  I haven't tested that here, but I wouldn't be surprised if there is no performance advantage in a case like this.  Seems like a strange template to target for Lua conversion.  [[User:Dragons flight|Dragons flight]] ([[User talk:Dragons flight|talk]]) 14:57, 12 March 2013 (UTC)
==See also==
==See also==
* {{ml|module=Yesno}}
* {{ml|module=Yesno}}

Revision as of 14:57, 12 March 2013

Test Cases (via Template:Yesno/doc)
Module output Template output Expected
Script error: The module returned a function value. It is supposed to return an export table. yes yes
Script error: The module returned a function value. It is supposed to return an export table. yes yes
Script error: The module returned a function value. It is supposed to return an export table. yes yes
Script error: The module returned a function value. It is supposed to return an export table. yes yes
Script error: The module returned a function value. It is supposed to return an export table. (blank)
Script error: The module returned a function value. It is supposed to return an export table. (blank)
Script error: The module returned a function value. It is supposed to return an export table. (blank)
Script error: The module returned a function value. It is supposed to return an export table. (blank)
Script error: The module returned a function value. It is supposed to return an export table. yes yes
Script error: The module returned a function value. It is supposed to return an export table. bacon bacon
Script error: The module returned a function value. It is supposed to return an export table. ham ham
Script error: The module returned a function value. It is supposed to return an export table. eggs
Script error: The module returned a function value. It is supposed to return an export table. ham
Script error: The module returned a function value. It is supposed to return an export table. eggs
Script error: The module returned a function value. It is supposed to return an export table. sausage sausage
Script error: The module returned a function value. It is supposed to return an export table. cup-of-tea cup-of-tea
Script error: The module returned a function value. It is supposed to return an export table. bacon bacon
Script error: The module returned a function value. It is supposed to return an export table. cup-of-tea cup-of-tea
Script error: The module returned a function value. It is supposed to return an export table. no no
Script error: The module returned a function value. It is supposed to return an export table. yes yes
Script error: The module returned a function value. It is supposed to return an export table. no no

As you can see, the template does not behave exactly as its documentation claims it does. I was not sure which to regard as authoritative: the ideal or actual implementation. I ultimately went with the former. Removing and not any from the Lua code will make the module behave like exactly like the template.

--Ori.livneh (talk) 10:46, 28 February 2013 (UTC)

Just needs to handle spaces in the params better. -- WOSlinker (talk) 11:41, 2 March 2013 (UTC)
Thanks. Fixed. I moved your test case to the table above. --Ori.livneh (talk) 05:58, 3 March 2013 (UTC)
Yesno has ~8M transclusions. No question it should handle the legacy 1:1. Test it. -DePiep (talk) 22:31, 11 March 2013 (UTC)

Why?

{{yesno}} is quite simple, so I'm not sure if there is a point in replacing it with functionally equivalent Lua. There are many cases where Lua can be much faster and easier to read, but I'm not sure that is the case here. In fact, because of the slight overhead with #invoke, simple parser functions can actually be slightly faster than the equivalent Lua. I haven't tested that here, but I wouldn't be surprised if there is no performance advantage in a case like this. Seems like a strange template to target for Lua conversion. Dragons flight (talk) 14:57, 12 March 2013 (UTC)

See also

  • {{[[Module:{{{1}}}|#invoke:{{{1}}}]]|function}}