மொழி

இ-தமிழ் மொழி

தொடரியல் அறிமுகம் — பரிமாறிக்கொள்ளக்கூடிய மூன்று எழுத்து வடிவங்கள், துல்லியமான தசமப் பணம், செயல்கள், தொகுப்புகள், முடிவுகள், தொகுதிகள், 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
சரம் &

முன்னுரிமை, தளர்வானது முதலில்: orandnot → ஒப்பீடு → + -* /.

(வருவாய் > 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 எனக் குறித்த முந்தைய முறையை இது மாற்றுகிறது. அந்த மாற்றத்துக்கு முன் எழுதப்பட்ட எழுத்துப்பெயர்ப்பு மூலக்குறியீட்டைப் புதுப்பிக்க வேண்டும். தமிழ் எழுத்து மூலக்குறியீடு பாதிக்கப்படவில்லை.

அடுத்து எங்கே