Anda dapat membuat halaman dokumentasi untuk buat pada modul Scribunto ini.
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
-- this module implements [[template:geobox coor]] localgeobox_coor={} localfunctionisnotempty(s) returnsands:match('^%s*(.-)%s*$')~='' end -- Wrapper function to grab args (from Module:Coordinates), -- see Module:Arguments for this function's documentation. localfunctionmakeInvokeFunc(funcName) returnfunction(frame) localargs=require('Modul:Arguments').getArgs(frame,{ wrappers='Templat:Geobox coor' }) returngeobox_coor[funcName](args,frame) end end localfunctioncoord_wrapper(frame,in_args) returnframe:expandTemplate{title='coord',args=in_args} end geobox_coor.coord=makeInvokeFunc('_coord') functiongeobox_coor._coord(args,frame) localtstr=args['9']or'type:other' localdstr=isnotempty(args['title'])and'inline,title'or'inline' locallat_dir=isnotempty(args[4])andargs[4]or'N' locallon_dir=isnotempty(args[8])andargs[8]or'E' localprefix=args['prefix']or'' localsuffix=args['suffix']or'' localinnerprefix=args['innerprefix']or'' localinnersuffix=args['innersuffix']or'' localcstr='' if(isnotempty(args[3]))then cstr=coord_wrapper(frame, {args[1],args[2],args[3],lat_dir,args[5],args[6],args[7],lon_dir, tstr,format=args['format']or'dms',display=dstr} ) elseif(isnotempty(args[2]))then cstr=coord_wrapper(frame, {args[1],args[2],lat_dir,args[5],args[6],lon_dir, tstr,format=args['format']or'dms',display=dstr} ) elseif(isnotempty(args[4]))then cstr=coord_wrapper(frame, {args[1],lat_dir,args[5],lon_dir, tstr,format=args['format']or'dec',display=dstr} ) elseif(isnotempty(args[1]))then cstr=coord_wrapper(frame, {args[1],args[5], tstr,format=args['format']or'dec',display=dstr} ) elseif(isnotempty(args['wikidata'])andmw.wikibase.getEntityObject())then localentity=mw.wikibase.getEntityObject() if(entityandentity.claimsandentity.claims.P625 andentity.claims.P625[1].mainsnak.snaktype=='value')then localmath_mod=require("Modul:Math") localprecision=entity.claims.P625[1].mainsnak.datavalue.value.precision locallatitude=entity.claims.P625[1].mainsnak.datavalue.value.latitude locallongitude=entity.claims.P625[1].mainsnak.datavalue.value.longitude ifprecisionthen precision=-math_mod._round(math.log(precision)/math.log(10),0) latitude=math_mod._round(latitude,precision) longitude=math_mod._round(longitude,precision) end cstr=coord_wrapper(frame, {latitude,longitude,tstr,format=args['format']or'dms',display=dstr} ) end else return'' end if(isnotempty(args['wrap']))then returnprefix..innerprefix..cstr..innersuffix..suffix else returnprefix..'<span style="white-space:nowrap">'..innerprefix..cstr..innersuffix..'</span>'..suffix end end returngeobox_coor