| 第1行: |
第1行: |
| − | local p = {} --p代表一个包(package) | + | local p = {} |
| | | | |
| − | function p.hello( frame ) | + | local getArgs = require('Module:Arguments').getArgs |
| − | a=3 | + | |
| − | mw.log(a) | + | function p.hello() |
| − | return "Hello, world!" | + | return "Hello world!" |
| | + | end |
| | + | |
| | + | function p.lang(frame) |
| | + | local args=getArgs(frame) |
| | + | local text=args[1] |
| | + | local lang=args[2] |
| | + | local span=mw.html.create('span') |
| | + | :attr('lang',lang) |
| | + | :wikitext(text) |
| | + | return span |
| | + | end |
| | + | |
| | + | local function qp(a,b,c) |
| | + | local ans=1 |
| | + | local base=a |
| | + | local exp=b |
| | + | while exp>0 do |
| | + | if exp%2==1 then |
| | + | ans=ans*base%c |
| | + | end |
| | + | base=base*base%c |
| | + | exp=(exp-(exp%2))/2 |
| | + | end |
| | + | return ans |
| | end | | end |
| | | | |
| | + | function p.rand(frame) |
| | + | local prime=0x125E591 |
| | + | local args=getArgs(frame) |
| | + | local bound=args[1] |
| | + | local time=math.modf(os.time()*math.random())%prime |
| | + | local pert=3254518517%prime |
| | + | pert=qp(qp(pert,time,prime),qp(time,pert,prime),prime) |
| | + | return pert%bound |
| | + | end |
| | return p | | return p |