Permanently protected module

모듈:로맨

Module:Roman

-- 이 모듈은 {{Roman}}을(를) 구현한다.  국부적 p = {}  -- {{overline}} 템플리트를 구현하는 기능 입니다. 국부적 기능을 하다 도를 넘다(s)     돌아오다 mw.우스트링.형식을 갖추다( '<span style="text-thread:overline;"%s</span'', s ) 종지부를 찍다  -- 주어진 숫자 표에 대한 로마 숫자 가져오기.두 문자열 모두 반환 -- 숫자와 처리 완료 후의 숫자 값. 국부적 기능을 하다 게틀렛츠(숫자, t)     국부적 되받아치다 = {}     을 위해 _, v  아이페어(t) 하다         국부적 발랄하게 하다, 글자 = 짐을 풀다(v)         하는 동안에 숫자 >= 발랄하게 하다 하다             숫자 = 숫자 - 발랄하게 하다             table.insert(되받아치다, 글자)         종지부를 찍다     종지부를 찍다      돌아오다 table.classat(되받아치다), 숫자 종지부를 찍다  -- 모듈의 주 컨트롤 흐름. 국부적 기능을 하다 _주요(아그)     -- 입력을 가져오고 입력이 비어 있으면 아무것도 표시하지 않고 종료하십시오.     만일 아그[1] == 못을 박다 그때 돌아오다 종지부를 찍다     국부적 숫자 = 톤넘버(아그[1])     만일 아닌 숫자 또는 숫자 < 0 또는 숫자 == 수학.수학. 그때      착오('잘못된 숫자 ' .. 아그[1], 2)     그렇지 않으면 숫자 == 0 그때         돌아오다 'N'     종지부를 찍다      -- 숫자가 너무 커서 로마 숫자로 표현할 수 없는 경우 메시지를 반환하십시오.     만일 숫자 >= 5000000 그때         돌아오다 아그[2] 또는 '없음'     종지부를 찍다      국부적 되받아치다 = ''     -- 숫자의 많은 부분을 위한 로마 숫자를 찾으십시오.     -- 2016년 4월 23일 - 큰 로마인을 받아들이기 위해 >= 4000으로 수정했다.'IV'     -- if 문장이 엄격하게 필요한 것은 아니지만 알고리즘을 만든다.     -- 적은 숫자에 더 효율적임.     만일 숫자 >= 4000 그때         국부적 비그로맨스 = {             { 1000000, 'M' },             { 900000, 'CM' }, { 500000, 'D' }, { 400000, 'CD' }, { 100000, 'C' },             {  90000, 'XC' }, {  50000, 'L' }, {  40000, 'XL' }, {  10000, 'X' },             {   9000, 'IX' }, {   5000, 'V' }, {   4000, 'IV' },         }         국부적 빅레터즈         빅레터즈, 숫자 = 게틀렛츠(숫자, 비그로맨스)         되받아치다 = 도를 넘다(빅레터즈)     종지부를 찍다      -- 로마자의 큰 임계값보다 작은 숫자에 대한 로마 숫자를 찾으십시오.     국부적 스몰로맨스 = {         { 1000, 'M' },         { 900, 'CM' }, { 500, 'D' }, { 400, 'CD' }, { 100, 'C' },         {  90, 'XC' }, {  50, 'L' }, {  40, 'XL' }, {  10, 'X' },         {   9, 'IX' }, {   5, 'V' }, {   4, 'IV' }, {   1, '나' }     }     국부적 스몰레터즈 = 게틀렛츠( 숫자, 스몰로맨스 )     되받아치다 = 되받아치다 .. 스몰레터즈      만일 아그.분수 == '그렇다' 그때         -- 숫자의 소수 부분들에 대한 로마 숫자를 찾아라.         -- 숫자가 정수가 아닌 경우 반올림과 같도록 1/1728(최소 단위)의 절반을 추가하십시오.         -- 최소 단위 이상 또는 1 - 최소 단위 이상이어야 함         - 두 개의 "반" 기호를 받거나 기호가 전혀 없는 것을 피하기 위해         숫자 = 숫자 - 수학을 하다.(숫자)         만일 숫자 ~= 0 그때             숫자 = math.max(1.1/1728, math.min(1727.1/1728, 숫자 + 1/3456))         종지부를 찍다         국부적 분수로맨스 = {             { 1/2, 'S' }, { 5/12, "''':'''•''':'''" }, { 1/3, "'''::'''" },             { 1/4, "''':'''•" }, { 1/6, "''':'''" }, { 1/12, '•' },             { 1/24, 'Є' }, { 1/36, 'ƧƧ' }, { 1/48, 'Ɔ' }, { 1/72, 'Ƨ' }, { 1/144, '''' },             { 1/288, '℈' }, { 1/1728, '»' },         }         국부적 fractalLetters = 게틀렛츠(숫자, 분수로맨스)                  되받아치다 = 되받아치다 .. fractalLetters     종지부를 찍다      돌아오다 되받아치다 종지부를 찍다  기능을 하다 p.본래의(액자에 넣다)     -- #invoke를 통해 호출될 경우 호출에 전달되는 아그를 사용하십시오.     -- 템플릿 또는 #messages로 전달된 아그(arg)가 존재하는지 여부.그렇지 않으면     -- 디버그 콘솔에서 직접 아그가 전달되는 것으로 가정     - 또는 다른 루아 모듈에서.     국부적 종이접기     만일 액자에 넣다 == mw.getCurrentFrame() 그때         종이접기 = 액자에 넣다:getParent().아그         을 위해 k, v  쌍들(액자에 넣다.아그) 하다             종이접기 = 액자에 넣다.아그             부숴뜨리다         종지부를 찍다     다른         종이접기 = 액자에 넣다     종지부를 찍다     -- 공백을 자르고 빈 인수 제거     국부적 아그 = {}     을 위해 k, v  쌍들(종이접기) 하다         만일 타자를 치다( v ) == '끈' 그때             v = mw.문자 메시지를 보내다.다듬다(v)         종지부를 찍다         만일 v ~= '' 그때             아그[k] = v         종지부를 찍다     종지부를 찍다          - 아무것도 주어지지 않으면 퇴장소     만일 아그 == 못을 박다 또는 아그 == {} 그때 돌아오다 종지부를 찍다     -- 수학 식을 지정하면 숫자로 단순화     만일 타자를 치다(아그[1]) == '끈' 그때         아그[1] = mw.내분의.파서 기능.생략하다(아그[1])     종지부를 찍다     돌아오다 _주요(아그) 종지부를 찍다  돌아오다 p