மொழி
இ-தமிழ் மொழி
தொடரியல் அறிமுகம் — பரிமாறிக்கொள்ளக்கூடிய மூன்று எழுத்து வடிவங்கள், துல்லியமான தசமப் பணம், செயல்கள், தொகுப்புகள், முடிவுகள், தொகுதிகள், ezuqqu எழுத்துப்பெயர்ப்பு.
இ-தமிழ் தமிழில் நிரல் எழுத அனுமதிக்கிறது. இது மொழிபெயர்க்கப்பட்ட திறவுச்சொற்களைக் கொண்ட
ஆங்கில மொழி அல்ல: நிதி இதன் சொல்லகராதியிலேயே கட்டப்பட்டுள்ளது — வரவு, பற்று, வரி,
இருப்புநிலை ஆகியவை மொழியின் அங்கமே.
மூன்று எழுத்து வடிவங்கள், ஒரே டோக்கன்
ஒவ்வொரு திறவுச்சொல்லும் ஒரே பொருள் தரும் மூன்று வடிவங்கள் வரை ஏற்கிறது — தமிழ் எழுத்து, ezuqqu எழுத்துப்பெயர்ப்பு, மற்றும் மேம்பட்ட திறவுச்சொல் இருக்கும் இடங்களில் ஆங்கிலப் பெயர். மூலக்குறியீட்டில் அனைத்தும் பரிமாறிக்கொள்ளக்கூடியவை.
எண் வருவாய் = 100000; // தமிழ் எழுத்து
eN varuvAy = 100000; // எழுத்துப்பெயர்ப்பு (ezuqqu)
அதுவே அடிப்படைக் கருத்து: சாதாரண விசைப்பலகையில் தட்டச்சு செய்யக்கூடிய தமிழ்ப் பொருண்மை. முழுப் பட்டியல் திறவுச்சொல் பட்டியலில் உள்ளது.
மாறிகளும் வகைகளும்
எண் age = 25; // எண்
எண் price = 99.99; // நிலைப்புள்ளி தசமம்; தனி int/float இன்னும் இல்லை
எண் rate = 15%; // சதவீத மதிப்பு -> சரியாக 0.15
சொல் name = "ரவி"; // சரம்
அறிவிக்கப்பட்ட வகை கட்டாயப்படுத்தப்படுகிறது; பிற்பாடு வரும் ஒதுக்கீடும் அதற்குக் கட்டுப்படுத்தப்படுகிறது:
✗ வரி 2, நெடுவரிசை 6: 'கொடியா' ஈர்ம (Irma, a boolean) என அறிவிக்கப்பட்டது,
ஆனால் ஒரு அணி (an array) வழங்கப்பட்டது
சரிபார்ப்பான் வேண்டுமென்றே குறுகியது: நீங்கள் அறிவித்ததற்கு மட்டுமே உங்களைக் கட்டுப்படுத்துகிறது,
மொழியின் மற்ற பகுதி பின்பற்றாத எந்த விதியையும் அது கூறுவதில்லை. ஒரு எண் சொல் வகையை
நிறைவு செய்கிறது — ஏனெனில் ஒவ்வொரு மதிப்பும் உரையாகவே காட்டப்படுகிறது, மேலும் உள்ளிடு
திருப்பும் உரை வழக்கமாக எண்களுடன் ஒப்பிடப்படுகிறது. அழைப்பு, குறியீட்டு அணுகல், புலம்
அணுகல் ஆகியவை எந்தக் கூற்றையும் முன்வைப்பதில்லை; ஏனெனில் செயல்களுக்கு இன்னும் அறிவிக்கப்பட்ட
கையொப்பங்கள் இல்லை — அங்குள்ள மௌனம் ஒப்புதல் அல்ல, கூற்று இல்லாமை.
பணம் துல்லியமானது
ஒவ்வொரு எண்ணும் நிலைப்புள்ளி தசமம் — லெக்சரிலிருந்து AST வழியாக VM-இன் மதிப்பு வகை வரை.
கணிதப் பாதையில் f64 இல்லை.
அச்சு 0.1 + 0.2; // 0.3 — 0.30000000000000004 அல்ல
அச்சு 99.99 * 3; // 299.97 — 299.96999999999997 அல்ல
அச்சு 18%; // 0.18 சரியாக
சமநிலைச் சோதனையும் துல்லியமானது. வகுத்தல் ஒவ்வொரு படியிலும் முழுமைப்படுத்தாமல் முழுத் துல்லியத்தைத் தக்கவைக்கிறது; ஏனெனில் இந்திய வரிக் கணக்கீடு இறுதியில் ஒருமுறை மட்டுமே முழுமைப்படுத்துகிறது, இடைநிலை முழுமைப்படுத்தல் சங்கிலிக் கணக்கீட்டில் பிழையைப் பெருக்கும் — தேவைப்படும்போது வெளிப்படையாக முழுமைப்படுத்துங்கள்.
இன்னும் திறந்திருப்பது. எண் மட்டுமே எண் வகை. நாணயத்தைச் சுமக்கும் தனி பண வகையும்,
முழு எண் / தசம வேறுபாடும் இருந்தால், ரூபாயை எண்ணிக்கையுடன் கூட்டுவது போன்ற முரண்களை
வகைச் சரிபார்ப்பான் மறுக்க முடியும். திட்டவரைபடத்தைப்
பார்க்கவும்.
உள்ளீடும் வெளியீடும்
எண் வருவாய்;
அச்சு "வருமானத்தை உள்ளிடுக: ";
உள்ளிடு வருவாய்;
அச்சு "வருமானம்: " & வருவாய்; // & இணைக்கிறது
உள்ளீடு எப்போதும் உரையாகவே வருகிறது; ஒப்பிடும்போது அல்லது கணிதத்தில் பயன்படுத்தும்போது மாற்றப்படுகிறது.
நிபந்தனைகளும் சுழற்சிகளும்
(வருவாய் > 800000) எனில் {
அச்சு "உயர்";
}
இன்றேல் {
அச்சு "தாழ்";
}
எண் i = 0;
(i < 3) சுற்று {
அச்சு i;
i = i + 1;
}
செயற்குறிகள்
| வகை | செயற்குறிகள் |
|---|---|
| கணிதம் | + - * / (மற்றும் ஒற்றை -) |
| ஒப்பீடு | == != < <= > >= |
| தருக்கம் | மற்றும் / maRRum / _and, அல்லது / allaqu / _or, இல்லை / illY / _not |
| சரம் | & |
முன்னுரிமை, தளர்வானது முதலில்: or → and → not → ஒப்பீடு → + - → * /.
(வருவாய் > 800000 மற்றும் வயது < 60) எனில் {
அச்சு "வரிக்குட்பட்டது";
}
தருக்கச் செயற்குறியின் இரு பக்கங்களும் எப்போதும் மதிப்பிடப்படுகின்றன — குறுஞ்சுற்று (short-circuiting) இல்லை.
செயல்கள்
செயல் அறிவிக்கிறது, திரும்பு திருப்புகிறது. அளபுருக்கள், உள்ளூர் நோக்கெல்லை,
சுழல்நிலை அழைப்பு அனைத்தும் இயங்குகின்றன.
செயல் வரிசை_மதிப்பு(உருப்படி) {
திரும்பு உருப்படி.அளவு * உருப்படி.விலை;
}
அணிகளும் பதிவேடுகளும்
அணிகள் […], பதிவேடுகள் {…}. இரண்டும் குறியீட்டு அணுகல், புலம் அணுகல், ஒதுக்கீடு
ஆகியவற்றை ஆதரிக்கின்றன.
உருப்படிகள் = [
{விவரம்: "மடிக்கணினி", hsn: "8471", அளவு: 3, விலை: 54999, விகிதம்: 18},
{விவரம்: "விசைப்பலகை", hsn: "8471", அளவு: 10, விலை: 1299, விகிதம்: 18}
];
அச்சு உருப்படிகள்[0].விலை;
ஒரு பதிவேட்டுச் சாவியை இயக்க நேரத்தில் கணக்கிட முடியும் — பொருள்[சாவி] = மதிப்பு —
அதனால்தான் JSON பாகுபடுத்தியை ஹோஸ்டில் அல்லாமல் இ-தமிழிலேயே எழுத முடிந்தது.
சுழற்சி
ஒவ்வொரு … இல் அணிகள், பதிவேடுகள், சரங்கள் மீது சுழல்கிறது.
ஒவ்வொரு உருப்படி இல் உருப்படிகள் {
அச்சு உருப்படி.விவரம்;
}
முடிவுகள் — தோல்வி ஒரு மதிப்பு
சரி (ok) மற்றும் தவறு (error), ? பரப்பல் செயற்குறியுடன்; Rust-இன் பொருண்மையைப்
பின்பற்றுகிறது. தோல்வி ஒரு மதிப்பு, விதிவிலக்கு அல்ல.
ப = மதிப்பு(ஜேசான்_படி(request_body)); // மதிப்பு உரிக்கிறது; இயல்பு இயல்புநிலை தருகிறது
சரியா மற்றும் தவறா எது கிடைத்தது எனச் சோதிக்கின்றன, மதிப்பு உரிக்கிறது, இயல்பு
மாற்று மதிப்பைத் தருகிறது. ஜேசான்_படி ஒரு முடிவைத் திருப்புவதால், தவறான உள்ளீடு
ஊகிக்கப்படாமல் கையாளப்படுகிறது.
தொகுதிகள்
இறக்கு இறக்குமதி செய்கிறது. பாதைகள் முதலில் இறக்குமதி செய்யும் கோப்பின் அருகில், பிறகு
ETAMIL_PATH வழியே தீர்க்கப்படுகின்றன.
இறக்கு "nUlakam/paNam.qmz";
இறக்கு "../../nUlakam/kaNiqam.qmz";
பெயர்கள் நீங்கள் எழுதியபடியே சேமிக்கப்படுகின்றன
அதிகம் நிரல் எழுதுவதற்கு முன் புரிந்துகொள்ள வேண்டிய ஒரே நடத்தை இதுதான்.
ஒரு பெயர் நீங்கள் தட்டச்சு செய்தபடியே சேமிக்கப்படுகிறது — நீங்கள் தேர்ந்தெடுத்த சொல்
ஒரு திறவுச்சொல்லாக இருந்தாலும் கூட. வங்கி = 5 என்பது வங்கி என்ற மாறியை உருவாக்குகிறது,
{வரி: 100} என்பது வரி என்ற புலத்தை உருவாக்குகிறது. முன்பு பெயர்கள் அவற்றின் ஆங்கில
டோக்கன் பெயரின் கீழ் — Bank, Tax — சேமிக்கப்பட்டன; அது ஒரு தமிழ் ஆசிரியர் தேர்ந்தெடுத்த
சொற்களை ஆங்கிலமயமாக்கி, தமிழ் வெளியீட்டில் ஆங்கிலப் புலப் பெயர்களை வைத்தது.
இதன் விளைவு, பொருளில் உண்மையான மாற்றம்: {வரி: 1} மற்றும் {vari: 1} இப்போது வெவ்வேறு
புலங்கள்; வருவாய் மற்றும் varuvAy வெவ்வேறு மாறிகள். ஒரு நிரலுக்கு ஒரு வடிவத்தைத்
தேர்ந்தெடுங்கள். ஒரு புலப் பெயர் என்பது தரவு — நீங்கள் தட்டச்சு செய்தது — மொழிக் கட்டமைப்பு அல்ல.
வகைத் திறவுச்சொற்களும் SQL உட்பிரிவுத் திறவுச்சொற்களும் கடுமையாக ஒதுக்கப்பட்டவை;
அவற்றைப் பெயர்களாகப் பயன்படுத்தவே முடியாது: எண், சொல், அணி, வரிசை, விதி, இடம்,
உள், வெளி, குழு, சேர். நிதித் திறவுச்சொற்கள் ஒதுக்கப்படவில்லை — தொகை ஒரு
தொகைக்கு நல்ல பெயரே.
பிழைகள் இடத்தைக் கூறுகின்றன
✗ வரி 3, நெடுவரிசை 1: ';' எதிர்பார்க்கப்பட்டது, 'அச்சு' கிடைத்தது
(line 3, column 1: expected ';', found 'அச்சு')
ஒவ்வொரு பாகுபடுத்தல் பிழையும் வரி மற்றும் நெடுவரிசையை இருமொழியில் சுமக்கிறது. நெடுவரிசைகள்
பைட்டுகளை அல்ல, எழுதப்பட்ட எழுத்துகளை எண்ணுகின்றன; எனவே திரையில் நீங்கள் சுட்டிக்காட்டும்
இடமே கிடைக்கிறது — சரத்தின் நீளமும் எழுத்துகளை எண்ணுவதற்கான அதே காரணம்:
நீளம்("வணக்கம்") என்பது 5, 7 அல்ல.
கோப்பு உள்ளீடு/வெளியீடு
கோப்பு_திற "output.txt", "write"; // எழுதத் திறப்பது கோப்பைக் காலி செய்கிறது
கோப்பு_எழுது "output.txt", "வணக்கம்"; // அடுத்தடுத்த எழுத்துகள் இணைக்கப்படும்
கோப்பு_மூடு "output.txt";
கோப்பு_படி "output.txt", data; // முழுக் கோப்பையும் ஒரு மாறியில் படிக்க
அச்சு data;
தலைப்பு வரியைத் தவிர்த்து CSV வரிகளை எண்ணுதல்:
தரவுரை_படி "students.csv", total;
அச்சு total;
ezuqqu எழுத்துப்பெயர்ப்பு
இ-தமிழின் எழுத்துப்பெயர்ப்பு அதன் சொந்த முறை; வேண்டுமென்றே ISO 15919 அல்ல. ஒவ்வொரு தமிழ் எழுத்துக்கும் சரியாக ஒரு ASCII எழுத்து; எனவே ஒரு திறவுச்சொல்லை உச்சரிப்புக் குறியீடுகளோ இரட்டை எழுத்துகளோ இல்லாமல் சாதாரண விசைப்பலகையில் தட்டச்சு செய்யலாம். 12 உயிர் + 18 மெய் + ஃ + 5 வடமொழி எழுத்துகள்.
| தமிழ் | இ-தமிழ் | எழுத்துப்பெயர்ப்பு | ISO 15919 |
|---|---|---|---|
| அ | a |
a | a |
| ஆ | A |
aa | ā |
| இ | i |
i | i |
| ஈ | I |
ii | ī |
| உ | u |
u | u |
| ஊ | U |
uu | ū |
| எ | e |
e | e |
| ஏ | E |
ee | ē |
| ஐ | Y |
ai | ai |
| ஒ | o |
o | o |
| ஓ | O |
oo | ō |
| ஔ | V |
au | au |
| க | k |
k | k |
| ங | w |
ng | ṅ |
| ச | c |
ch | c |
| ஞ | W |
nj | ñ |
| ட | t |
t | ṭ |
| ண | N |
nn | ṇ |
| த | q |
th | t |
| ந | n |
n | n |
| ப | p |
p | p |
| ம | m |
m | m |
| ய | y |
y | y |
| ர | r |
r | r |
| ல | l |
l | l |
| வ | v |
v | v |
| ழ | z |
zh | ḻ |
| ள | L |
ll | ḷ |
| ற | R |
rr | ṟ |
| ன | Z |
n | ṉ |
| ஃ | h |
h | ḵ |
| ஹ | H |
h | h |
| ஜ | j |
j | j |
| ஷ | S |
sh | ṣ |
| ஸ | s |
s | s |
| க்ஷ | x |
ksh | kṣ |
ன-குடும்பம்
ஆங்கிலம் ஒரே n ஆகச் சுருக்கும் மூன்று தனித்த மூக்கொலிகள் தமிழில் உள்ளன. இ-தமிழ்
அவற்றைத் தனித்தனியே வைக்கிறது:
| தமிழ் | இ-தமிழ் | ISO 15919 | எடுத்துக்காட்டு |
|---|---|---|---|
| ண | N |
ṇ | எண் → eN |
| ந | n |
n | நிதி → niqi |
| ன | Z |
ṉ | பயன் → payaZ |
Z காலியாக இருந்தது — ழ என்பது சிறிய z — எனவே அது ன-ஐ எடுத்துக்கொள்கிறது; இதனால்
N தெளிவாக ண ஆகவும், n தெளிவாக ந ஆகவும் இருக்கின்றன. ஒன்றுக்கு மேற்பட்டவை உள்ள சொற்கள்
இந்த வேறுபாட்டைத் தெளிவாகக் காட்டுகின்றன: நாணயம் → nANayam (ந-ண), பின்னம் → piZZam
(இரு ன), வருமானம் → varumAZam.
இடம்பெயர்வுக் குறிப்பு. ந மற்றும் ன இரண்டும் n ஐப் பயன்படுத்திய, சில திறவுச்சொற்கள்
ந-ஐ N எனக் குறித்த முந்தைய முறையை இது மாற்றுகிறது. அந்த மாற்றத்துக்கு முன் எழுதப்பட்ட
எழுத்துப்பெயர்ப்பு மூலக்குறியீட்டைப் புதுப்பிக்க வேண்டும். தமிழ் எழுத்து மூலக்குறியீடு
பாதிக்கப்படவில்லை.
அடுத்து எங்கே
-
திறவுச்சொல் பட்டியல்
லெக்சர் தொகுக்கும் முறையிலேயே, அனைத்து 201 டோக்கன்களும் ஒவ்வொரு வடிவத்திலும்.
-
நிதியும் கணக்கியலும்
GST, இரட்டைப் பதிவு, மூன்று அறிக்கைகள் — இ-தமிழிலேயே எழுதப்பட்டவை.
-
பின்தளம்
HTTP வழிச்செலுத்தல், SQL இயக்கிகள், JSON, bcrypt, JWT.
-
நிறுவல்
Linux, macOS, Windows-இல் உருவாக்கி முதல் நிரலை இயக்குங்கள்.