Fortress는 Sun 프로그래밍 언어 리서치 그룹 (RIP Fortress)이 개발 한 언어로 고유 한 속성을 지니고 있으며, 다양한 글꼴 스타일 (예 : 칠판 굵은 체, 굵은 체, 이탤릭체, 로마 등). 목표는 HTML 마크 업으로 한 문자 요새 변수를 나타내는 것입니다.
한 문자 변수의 강화가 작동하는 방법은 다음과 같습니다 (코드 골프 목적으로 문서에서 단순화 / 수정).
- 변수가 반복 된 대문자 (예 :)
ZZ이면 칠판 굵은 체 (𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ)로 형식화됩니다. - 변수 앞에 밑줄이 있으면 변수가 로마자 글꼴로 표시됩니다 (왼쪽 만)
- 변수 뒤에 밑줄이 있으면 변수는 굵은 글꼴 (
<b>v</b>)로 렌더링됩니다. - 변수 앞에 밑줄이없고 밑줄이 없으면 변수는 기울임 꼴 글꼴 (
<i>v</i>)로 렌더링됩니다. - 칠판
𝔸굵은 체의 코드 포인트는 : 1D538,𝔹: 1D539,ℂ: 2102,𝔻: 1D53B,𝔼: 1D53C,𝔽: 1D53D,𝔾: 1D53E,ℍ: 210D,𝕀: 1D540,𝕁: 1D541,𝕂: 1D542,𝕃: 1D543,𝕄: 1D544,ℕ: 2115,𝕆: 1D546,ℙ: 2119,ℚ: 211A,ℝ: 211D,𝕊: 1D54A,𝕋: 1D54B,𝕌: 1D54C,𝕍: 1D54D,𝕎: 1D54E,𝕏: 1D54F,𝕐: 1D550,ℤ: 2124. 이들은 프로그램에서 각각 1 바이트 로 계산됩니다 (선택한 언어가 이러한 문자를 전혀 처리 할 수없는 경우)
입력은 반복 된 ASCII 대문자이거나 밑줄, 밑줄 또는 밑줄이없는 단일 ASCII 문자입니다 (AKA _a_는 입력이 아님). 이것은 코드 골프이므로 바이트 수가 가장 적습니다!
테스트 사례 :
a => <i>a</i>
BB => 𝔹
c_ => <b>c</b>
_d => d
E => <i>E</i>
G_ => <b>G</b>
_H => H
ZZ => ℤ
링크 : 사양 , 버전 0.1 알파의 직접 다운로드 .
참조 구현 (Fortress에 있지만 Fortress는 대부분의 이중 타격 문자를 좋아하지 않으므로이 구현은 D에 있습니다) :
dstring fortify(string arg) {
import std.string, std.conv;
alias D = to!dstring; //Convert to a string that accepts the unicode needed
dstring BB = "𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ"d; //blackboard bold capitals
string UC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //normal ASCII capitals
if(arg.length == 1)
return D("<i>" ~ arg ~ "</i>");
if(arg[0] == a[1])
return D(BB[UC.indexOf(arg[0])]);
if(arg[0] == '_')
return D(arg[1]);
return D("<b>" ~ arg[0] ~ "</b>");
}
_____입력되지 않습니다.