smcproject/ml-wiki-sentences huggingface dataset:
2.5 - 3.5 സെന്റിമീറ്റർ വരെ നീളമുള്ള കുഞ്ഞുങ്ങളെ ദൂരദേശങ്ങളിലേക്കു കയറ്റി അയയ്ക്കുക സാധാരണമാണ്.
ഈ പ്രായത്തിലാണ് ഇവയ്ക്ക് ശുദ്ധജലവുമായി പൊരുത്തപ്പെട്ടു ജീവിക്കാൻ കഴിയുന്നത്.
തിരുതയുടെ ദേശാടനത്തെക്കുറിച്ച് ഇന്നും ഗവേഷണങ്ങൾ നടന്നുവരുന്നു.
കടപ്പാട്: കേരള സർക്കാർ ഗ്നൂ സ്വതന്ത്ര പ്രസിദ്ധീകരണാനുമതി പ്രകാരം ഓൺലൈനിൽ പ്രസിദ്ധീകരിച്ച മലയാളം സർ‌വ്വവിജ്ഞാനകോശത്തിലെ തിരുത എന്ന ലേഖനത്തിന്റെ ഉള്ളടക്കം ഈ ലേഖനത്തിൽ ഉപയോഗിക്കുന്നുണ്ട്.
തിരുത്തക്കത്തേവർ ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/Tirutakkatevar
ജീവകചിന്താമണി എന്ന ഇതിഹാസ കാവ്യത്തിന്റെ കർത്താവായ തമിഴ് ജൈനകവിയാണ് തിരുത്തകത്തേവർ .
തിരുത്തക മുനിവൻ, തിരുത്തക മുനിവർ, തിരുത്തക മാമുനിവർ, തേവർ എന്നീ പേരുകളിലും അറിയപ്പെടുന്നു.
ഇദ്ദേഹത്തിന്റെ കാലം ക്രി.
900-ത്തിനു മുമ്പായിരുന്നുവെന്നും അതിനുശേഷമായിരിക്കാമെന്നും രണ്ടഭിപ്രായങ്ങൾ പണ്ഡിതന്മാർ രേഖപ്പെടുത്തിയിട്ടുണ്ട്.
കാലം, സ്ഥലം, പുരസ്കർത്താക്കൾ എന്നിവ സംബന്ധിച്ച വ്യക്തമായ പരാമർശങ്ങൾ തമിഴ് കൃതികളിൽ പൊതുവേ കാണുന്നില്ല.
മൈസൂറിലെ ശ്രവണബെലഗോളയിലുളള ശിലാശാസനത്തിൽ ഗുണഭദ്രനുശേഷമായിരുന്നു ചിന്താമണിയുടേയും ചൂഢാമണിയുടേയും കർത്താക്കളുടെ കാലമെന്ന് രേഖപ്പെടുത്തിയിട്ടുണ്ട്.
ഗുണഭദ്രൻ ചിന്താമണിയുടെ കർത്താവിന്റെ ഗുരുവും അദ്ദേഹം പരാമർശിച്ചിട്ടുളള നാടുവാഴിയും ആയിരുന്നെങ്കിൽ ഇദ്ദേഹത്തിന്റെ കാലം പത്താം ശതകമായിരിക്കണം.
ജീവകചിന്താമണിയുടെ വ്യാഖാതാവായ നച്ചിനാർക്കിനിയാർ “ ഇത്തുടർന്നിലൈ ചെയ്യുളൈ തേവർ ചെയ്കിന്റ കാലത്തിൽ നൂൽ അകത്തിയമും തൊല്കാപ്പിയമും ”
എന്ന് ആമുഖത്തിൽ പറഞ്ഞിരിക്കുന്നതും ഏകദേശം മേല്പറഞ്ഞ കാലത്തേയാണ് അനുസ്മരിപ്പിക്കുന്നത്.
ഇതിലെ അവസാന പദ്യത്തിന്റെ വ്യാഖ്യാനത്തിൽ 'ചോഴകുലമാകിയ കടലിലേ പിറന്തവലംപുരി' എന്നു പറഞ്ഞിരിക്കുന്നതിനാൽ ഇദ്ദേഹം ചോഴകുലത്തിൽപ്പെട്ടവനാണെന്നും 'വൻ പെരുവഞ്ചി പൊയ്യാമൊഴിപ്പുകഴ് മെയ്യറു ചീർത്തിത്തിരുത്തക മുനിവർ' എന്നു പറഞ്ഞിരിക്കുന്നതിനാൽ വഞ്ചിയെന്ന സ്ഥലത്തുളള പൊയ്യാമൊഴി എന്ന ആളായി പ്രശംസിക്കപ്പെട്ടിരുന്നു എന്നും മനസ്സിലാക്കാം.
ഈ പൊയ്യാമൊഴി 'സത്യവാക്' എന്ന രാജാവുമായിരിക്കാം.
തിരുത്തകത്തേവരെക്കുറിച്ച് ഇദ്ദേഹത്തിന്റെ ഗുരുവിനും വലിയ മതിപ്പാണ് ഉണ്ടായിരുന്നത്.
ജീവകചിന്താമണിയിലെ 3143-ാമത്തെ പദ്യത്തിലെ 'മുഖം മുതലാ' എന്ന പ്രയോഗം ഇത് വ്യക്തമാക്കുന്നു.
മാത്രമല്ല, ചിന്താമണിയുടെ രചനയ്ക്കു മുമ്പ് കുറുനരിയെക്കുറിച്ചുളള നരിവിരുത്തം രചിച്ച് അദ്ദേഹം തന്റെ കവനപാടവം ഗുരുവിനെ ബോധ്യപ്പെടുത്തി എന്നും പറയപ്പെടുന്നുണ്ട്.
തിരുത്തകത്തേവരെക്കുറിച്ച് തമിഴ്നാട്ടിലെ ജൈനന്മാർക്കിടയിൽ പ്രചരിച്ചുവരുന്ന ചരിത്രം ഇപ്രകാരമാണ്.
ചോഴകുലത്തിൽ ജനിച്ച തമിഴ് സംസ്കൃത പണ്ഡിതനായിരുന്നു തിരുത്തകത്തേവർ.
ആറുവിധ ജൈനകൃതികളും പഠിച്ച് ചെറുപ്പത്തിലേ സന്ന്യാസം സ്വീകരിച്ചു.
ഗുരുവിന്റെ വത്സലശിഷ്യനായി മധുരയിൽ വന്ന് കുറച്ചുനാൾ അവിടെ താമസിച്ചു.
അവിടത്തെ സംഘം കവികളുമായി സൗഹൃദം സ്ഥാപിച്ച് അവരുടെ പ്രശംസ നേടി.
ഇതു കടസംഘമായിരുന്നില്ല.
ഒരു ദിവസം ആ കവികൾ ഇദ്ദേഹത്തോട് ജൈനകവികൾ ഭക്തികാവ്യങ്ങൾ രചിക്കുന്നതിൽ സമർഥരാണെങ്കിലും രതിപ്രധാനകാവ്യങ്ങൾ രചിക്കാൻ കഴിയാത്തവരാണെന്ന് അഭിപ്രായപ്പെട്ടു.
അതിന് രതിപരമായ കാര്യങ്ങളിൽ വൈരാഗ്യം കാണിക്കുന്നു എന്നല്ലാതെ രതിപ്രധാനകാര്യങ്ങൾ രചിക്കാൻ കഴിയാത്തവരല്ല ജൈനകവികൾ എന്നു മറുപടിയും പറഞ്ഞു.
അങ്ങനെയാണെങ്കിൽ തേവർ ഒരുകാവ്യം രചിച്ച് തെളിയിക്കാൻ അവർ ആവശ്യപ്പെടുകയുണ്ടായി.
അങ്ങനെ രചിക്കപ്പെട്ട കാവ്യമാണ് ചിന്താമണി.
ഗുരുതന്നെ 'ചെമ്പൊൻ വരൈമേൽ'എന്ന ദൈവസ്തുതിയും 'മുനീർ വലംപുരി'എന്ന സമർപ്പണ പദ്യവും രചിച്ചുകൊടുക്കുകയും ചെയ്തു.
പണ്ഡിതസദസ്സിലാണ് ചിന്താമണി അരങ്ങേറിയത്.
ജീവകചിന്താമണി
അക്കാലത്തു പ്രചാരത്തിലുണ്ടായിരുന്ന ഒരു കഥയാണ് ജീവകചിന്താമണിയുടെ ഇതിവൃത്തം.
തമിഴിലെ വിരുത്തം വൃത്തത്തിൽ 13 സർഗങ്ങളിലായി രചിക്കപ്പെട്ടിട്ടുളള ഈ കാവ്യത്തിൽ ജീവകന്റെ ജനനം മുതൽ ഭരണം, വിവാഹങ്ങൾ തുടങ്ങി സർവസംഗപരിത്യാഗിയാകുന്നതുവരെയുളള വസ്തുതകൾ അവതരിപ്പിച്ചിരിക്കുന്നു.
വിലാപങ്ങളുടെ ഇതിഹാസം എന്നാണ് ഈ കൃതിയെ നിരൂപകർ വിശേഷിപ്പിക്കുന്നത്.
പ്രേമോപാഖ്യാനങ്ങൾ ആകർഷകമായ ഭാഷയിൽ സംഗീതാത്മകമായി അവതിരപ്പിച്ചിരിക്കുന്നു എന്നതാണ് ഈ കാവ്യത്തിന്റെ സവിശേഷത.
ജൈനസന്ന്യാസിയാണെങ്കിലും പ്രേമോപാഖ്യാനത്തിന് സ്പഷ്ടമായ വിശദീകരണം നല്കിയിരിക്കുന്നതു കാരണം കവിയുടെ ബ്രഹ്മചര്യത്തെപ്പോലും ജനങ്ങൾ സംശയിക്കുകയുണ്ടായി.
അപ്രകാരം സംശയിച്ചവരുടെ മുമ്പിൽ ചുട്ടുപഴുത്ത ഇരുമ്പുദണ്ഡ് കയ്യിലെടുത്തു തഴുകിയിട്ട് കൈ പൊളളാതിരിക്കുന്നതു കാണിച്ചു കൊടുത്തു.
ഈ സംഭവം ശ്രേഷ്ഠമായ സന്ന്യാസി എന്ന ഖ്യാതി നേടിക്കൊടുത്തു.
ഇദ്ദേഹത്തിന്റെ കവിതാരീതി പില്ക്കാല കവികൾക്ക് അടിസ്ഥാന മാതൃകയാണ്.
അവലംബം ↑ കടപ്പാട്: കേരള സർക്കാർ ഗ്നൂ സ്വതന്ത്ര പ്രസിദ്ധീകരണാനുമതി പ്രകാരം ഓൺലൈനിൽ പ്രസിദ്ധീകരിച്ച മലയാളം സർ‌വ്വവിജ്ഞാനകോശത്തിലെ തിരുത്തക്കത്തേവർ എന്ന ലേഖനത്തിന്റെ ഉള്ളടക്കം ഈ ലേഖനത്തിൽ ഉപയോഗിക്കുന്നുണ്ട്.
തിരുച്ചോറുതുറൈ ചോറുതുറൈ നാഥർ ക്ഷേത്രം ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/Odhanavaneswarar_Temple,_Tiruchotruturai
ഇന്ത്യയിലെ തമിഴ്‌നാട്ടിലെ തിരുച്ചോതൃതുറൈ ഗ്രാമത്തിൽ സ്ഥിതി ചെയ്യുന്ന ശിവന് സമർപ്പിച്ചിരിക്കുന്ന ഒരു ഹിന്ദു ക്ഷേത്രമാണ് ഓധനവനേശ്വരർ ക്ഷേത്രം .
(ഓപ്പില്ലശെൽവർ ക്ഷേത്രം എന്നും അറിയപ്പെടുന്നു) .
ശിവനെ ഓധനവനേശ്വരർ ആയും അദ്ദേഹത്തിന്റെ പത്നി പാർവതിയെ അന്നപൂരണിയായും ആരാധിക്കുന്നു.
References External links Odhavaneswarar temple, Thiruchotruthurai എന്ന വിഷയവുമായി ബന്ധപ്പെട്ട ചിത്രങ്ങൾ വിക്കിമീഡിയ കോമൺസിലുണ്ട്.
ഡി.സുബ്ബറാവു ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/Duvvuri_Subbarao
ഭാരത റിസർവ്വ് ബാങ്കിന്റെ  ഇരുപത്തിരണ്ടാമതു ഗവർണറും, സാമ്പത്തികവിദഗ്ദ്ധനുമായ ദുവ്വൂരി സുബ്ബറാവു .
ആന്ധ്രാപ്രദേശിലെ ഗോദാവരി ജില്ലയിൽപ്പെട്ട വിജയവാഡയിൽ 1949 ഓഗസ്റ്റ് 11 നു ജനിച്ചു.
സൈനിക സ്ക്കൂളിലെ പഠനത്തിനു ശേഷം ഖരഗ്പൂർ ഐ.ഐ.ടി യിൽ നിന്നു  സ്വർണ്ണമെഡലോടെ ഊർജ്ജതന്ത്രത്തിൽ ബിരുദവും, തുടർന്നു കാൺപൂർ ഐ.ഐ.ടി യിൽ നിന്നും ബിരുദാനന്തര ബിരുദവും നേടി.
1972 ൽ സിവിൽ സർവ്വീസിൽ പ്രവേശിച്ച സുബ്ബറാവു ആന്ധ്രാകേഡറിൽ ഔദ്യോഗികസേവനം ആരംഭിച്ചു.
അമേരിയ്ക്കയിലെ ഒഹായോ സർവ്വകലാശാല, മസ്സാചുസെറ്റ്സ് ഇൻസ്റ്റിറ്റ്യുട്ട് ഓഫ് ടെക്നോളജി (MIT)എന്നീ സ്ഥാപനങ്ങളിൽ നിന്നും അദ്ധ്യയനം പൂർത്തിയാക്കിയ സുബ്ബറാവുവിനു ആന്ധ്രാ സർവ്വകലാശാലയിൽ നിന്നും ധനതത്വശാസ്ത്രത്തിൽ ഡോക്ടറേറ്റും ലഭിച്ചിട്ടുണ്ട്.
ഭാരതീയ റിസർവ്വ് ബാങ്കിൽ 2008 സെപ്റ്റംബർ 5 മുതൽ സെപ്റ്റംബർ 2013 വരെഗവർണ്ണറായി സേവനം അനുഷ്ഠിച്ചു.
ബാങ്കിങ് മേഖലയിലെ പരിഷ്കാരങ്ങളും,സാമ്പത്തികരംഗത്തെ റിസർവ്വ് ബാങ്കിന്റെ നിർണ്ണായക ഇടപെടലുകളും സുബ്ബറാവുവിനെ ശ്രദ്ധേയനാക്കിയിട്ടുണ്ട്.1972 ആന്ധ്രാപ്രദേശ് കെഡർ ഐ എ എസ് കാരനായ അദ്ദേഹം നിണ്ട 35 ഔദ്യോഗിക ജീവിതതിനുശേഷം 2007 ധനകാര്യസെക്രട്ടറി ആയി.1992 മുതൽ 2004 വരെ ലോക ബാങ്ക് സാമ്പത്തിക ഉപദേഷ്ടാവായി പ്രവർത്തിച്ചു.
ആഗോള സാമ്പത്തിക പ്രതിസന്ധി ഇന്ത്യൻ ബാങ്കിംഗ് മേഖലയെ കാരൃമായി ബാധികത്തിരികാൻ പ്രധന കാരണം റിസർവ്വ് ബാങ്ക് നടപടികൾ ആയിരുന്നു.
ഡി3.
ജെഎസ് ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/D3.js
വെബ് ബ്രൗസറുകളിൽ ചലനാത്മകവും സംവേദനാത്മകവുമായ ഡാറ്റ വിഷ്വലൈസേഷനുകൾ നിർമ്മിക്കുന്നതിനുള്ള ഒരു ജാവാസ്ക്രിപ്റ്റ് ലൈബ്രറിയാണ് ഡി3.
ജെഎസ് (D3 എന്നും അറിയപ്പെടുന്നു).
ഇത് വ്യാപകമായി നടപ്പിലാക്കിയ സ്കേലബിൾ വെക്റ്റർ ഗ്രാഫിക്സ് (എസ്‌വി‌ജി), എച്ച്.ടി.എം.എൽ. 5 (HTML5), കാസ്കേഡിംഗ് സ്റ്റൈൽ ഷീറ്റുകൾ (സി‌എസ്‌എസ്) മാനദണ്ഡങ്ങൾ ഉപയോഗപ്പെടുത്തുന്നു.
മുമ്പത്തെ പ്രോട്ടോവിസ് ചട്ടക്കൂടിന്റെ പിൻഗാമിയാണിത്.
മറ്റ് പല ലൈബ്രറികളിൽ നിന്നും വ്യത്യസ്തമായി, അന്തിമ ദൃശ്യ ഫലത്തിൽ ഡി3.
ജെഎസ് മികച്ച നിയന്ത്രണം അനുവദിക്കുന്നു.
ഇതിന്റെ വികസനം 2011 ൽ ശ്രദ്ധിക്കപ്പെട്ടു, പതിപ്പ് 2.0.0 2011 ഓഗസ്റ്റിൽ പുറത്തിറങ്ങി.
ലക്ഷക്കണക്കിന് വെബ്‌സൈറ്റുകളിൽ ഡി3.
ജെഎസ് ഉപയോഗിക്കുന്നു.
ഓൺലൈൻ വാർത്താ വെബ്‌സൈറ്റുകൾക്കായി സംവേദനാത്മക ഗ്രാഫിക്സ് സൃഷ്ടിക്കൽ, ഡാറ്റ കാണുന്നതിനുള്ള വിവര ഡാഷ്‌ബോർഡുകൾ, ജി‌ഐ‌എസ് മാപ്പ് നിർമ്മാണ ഡാറ്റയിൽ നിന്ന് മാപ്പുകൾ നിർമ്മിക്കൽ എന്നിവ ചില ജനപ്രിയ ഉപയോഗങ്ങളിൽ ഉൾപ്പെടുന്നു.
കൂടാതെ, എസ്‌വിജിയുടെ എക്‌സ്‌പോർട്ടുചെയ്യാവുന്ന സ്വഭാവം ഡി3യിൽ സൃഷ്ടിച്ച ഗ്രാഫിക്സ് അച്ചടി പ്രസിദ്ധീകരണങ്ങളിൽ ഉപയോഗിക്കാൻ പ്രാപ്‌തമാക്കുന്നു.
സന്ദർഭം
വെബ് ബ്രൗസറുകളിലേക്ക് ഡാറ്റ വിഷ്വലൈസേഷൻ കൊണ്ടുവരുന്നതിന് മുമ്പുള്ള വിവിധ ശ്രമങ്ങൾ നടന്നിട്ടുണ്ട്.
ഏറ്റവും ശ്രദ്ധേയമായ ഉദാഹരണങ്ങൾ പ്രിഫ്യൂസ്, ഫ്ലെയർ, പ്രോട്ടോവിസ് ടൂൾകിറ്റുകൾ എന്നിവയായിരുന്നു, അവയെല്ലാം ഡി3.
ജെഎസിന്റെ നേരിട്ടുള്ള മുൻഗാമികളായി കണക്കാക്കാം.
ജാവയുടെ ഉപയോഗം ആവശ്യമുള്ള 2005 ൽ സൃഷ്ടിച്ച ഒരു വിഷ്വലൈസേഷൻ ടൂൾകിറ്റാണ് പ്രിഫ്യൂസ്, കൂടാതെ ജാവ പ്ലഗ്-ഇൻ ഉപയോഗിച്ച് ബ്രൗസറുകളിൽ ദൃശ്യവൽക്കരണങ്ങൾ റെൻഡർ ചെയ്‌തു.
ആക്ഷൻ സ്ക്രിപ്റ്റ് ഉപയോഗിച്ച 2007 മുതൽ സമാനമായ ടൂൾകിറ്റായിരുന്നു ഫ്ലെയർ, റെൻഡറിംഗിനായി ഒരു ഫ്ലാഷ് പ്ലഗ്-ഇൻ ആവശ്യമാണ്.
2009 ൽ, പ്രിഫ്യൂസും ഫ്ലെയറും വികസിപ്പിക്കുകയും ഉപയോഗിക്കുകയും ചെയ്തതിന്റെ അനുഭവത്തെ അടിസ്ഥാനമാക്കി, സ്റ്റാൻഫോർഡ് സർവകലാശാലയുടെ സ്റ്റാൻഫോർഡ് വിഷ്വലൈസേഷൻ ഗ്രൂപ്പിലെ ജെഫ് ഹീർ, മൈക്ക് ബോസ്റ്റോക്ക്, വാഡിം ഒഗിവെറ്റ്‌സ്‌കി എന്നിവർ ഡാറ്റയിൽ നിന്ന് എസ്‌വിജി ഗ്രാഫിക്സ് സൃഷ്ടിക്കുന്നതിനായി ജാവാസ്ക്രിപ്റ്റ് ലൈബ്രറി പ്രോട്ടോവിസ് സൃഷ്ടിച്ചു.
ഡാറ്റാ വിഷ്വലൈസേഷൻ പ്രാക്ടീഷണർമാർക്കും അക്കാദമിക് വിദഗ്ദ്ധർക്കും ലൈബ്രറി അറിയാമായിരുന്നു.
2011 ൽ, ഡി3.
ജെഎസ് എന്ന പുതിയ പ്രോജക്റ്റിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നതിനായി പ്രോട്ടോവിസിന്റെ വികസനം നിർത്തി.
പ്രോട്ടോവിസുമായുള്ള അനുഭവങ്ങളെ അറിയിച്ച ബോസ്റ്റോക്ക്, ഹീർ, ഓഗിവെറ്റ്‌സ്‌കി എന്നിവരോടൊപ്പം ഡി3.
ജെഎസ് വികസിപ്പിച്ചെടുത്തു, അതേ സമയം തന്നെ വെബ് സ്റ്റാൻഡേർഡുകളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുകയും മെച്ചപ്പെട്ട പ്രകടനം നൽകുകയും ചെയ്യുന്നു.
സാങ്കേതിക തത്വങ്ങൾ
ഘടകങ്ങൾ‌ തിരഞ്ഞെടുക്കുന്നതിനും എസ്‌വി‌ജി ഒബ്‌ജക്റ്റുകൾ‌ സൃഷ്‌ടിക്കുന്നതിനും സ്റ്റൈൽ‌ ചെയ്യുന്നതിനും അല്ലെങ്കിൽ‌ ട്രാൻസിഷൻസ് ചെയ്യുന്നതിനും‌, ഡൈനാമിക് ഇഫക്റ്റുകൾ‌ അല്ലെങ്കിൽ‌ ടൂൾ‌ടിപ്പുകൾ‌ ചേർ‌ക്കുന്നതിനും ഡി3.
ജെഎസ് ലൈബ്രറി മുൻ‌കൂട്ടി നിർമ്മിച്ച ഫംഗ്ഷനുകൾ‌ ഉപയോഗിക്കുന്നു.
സി‌എസ്‌എസ് ഉപയോഗിച്ചും ഈ ഒബ്‌ജക്റ്റുകൾ സ്റ്റൈൽ ചെയ്യാം.
ടെക്സ്റ്റ് / ഗ്രാഫിക് ചാർട്ടുകളും ഡയഗ്രാമുകളും സൃഷ്ടിക്കുന്നതിന് ഡി3.
ജെഎസ് ഫംഗ്ഷനുകൾ ഉപയോഗിച്ച് വലിയ ഡാറ്റാസെറ്റുകൾ എസ്‌വി‌ജി ഒബ്‌ജക്റ്റുകളുമായി ബന്ധിപ്പിക്കാൻ കഴിയും.
ജെസൺ പോലുള്ള ഡാറ്റ വിവിധ ഫോർമാറ്റുകളിൽ ആകാം, കോമയാൽ വേർതിരിച്ച മൂല്യങ്ങൾ (CSV) അല്ലെങ്കിൽ ജിയോജെസൺ(geoJSON) പോലുള്ള വിവിധ ഫോർമാറ്റുകളിൽ ആകാം, പക്ഷേ ആവശ്യമെങ്കിൽ മറ്റ് ഡാറ്റാ ഫോർമാറ്റുകൾ വായിക്കാൻ ജാവസ്ക്രിപ്റ്റ് ഫംഗ്ഷനുകൾ എഴുതാം.
തിരഞ്ഞെടുക്കലുകൾ
തന്നിരിക്കുന്ന ഒരു ഡോക്യുമെന്റ് ഒബ്ജക്റ്റ് മോഡൽ (DOM) നോഡുകൾ തിരഞ്ഞെടുക്കുന്നതിന് പ്രോഗ്രാമറെ ആദ്യം ഒരു സിഎസ്എസ് സ്റ്റൈൽ സെലക്ടർ ഉപയോഗിക്കാൻ പ്രാപ്തമാക്കുക എന്നതാണ് ഡി3.
ജെഎസ് രൂപകൽപ്പനയുടെ കേന്ദ്ര തത്വം, തുടർന്ന് ജെക്വറിക്ക് സമാനമായ രീതിയിൽ അവ കൈകാര്യം ചെയ്യാൻ ഓപ്പറേറ്റഴ്സ് ഉപയോഗിക്കുന്നു.
ഉദാഹരണത്തിന്, ഒരാൾക്ക് എല്ലാ എച്ച്ടിഎംഎൽ(HTML) p ...
/ p ഘടകങ്ങളും തിരഞ്ഞെടുത്ത് അവയുടെ വാചക നിറം മാറ്റാം, ഉദാ.
ലാവെൻഡറിലേക്ക്: d3 .
selectAll ( "p" ) // select all p .
style ( "color" , "lavender" ) // set style "color" to value "lavender" .
attr ( "class" , "squares" ) // set attribute "class" to value "squares" .
attr ( "x" , 50 ); // set attribute "x" (horizontal position) to value 50px
തിരഞ്ഞെടുക്കൽ ഒരു എച്ച്ടിഎംഎൽ ടാഗ്, ക്ലാസ്, ഐഡന്റിഫയർ, ആട്രിബ്യൂട്ട് അല്ലെങ്കിൽ ഹയറാഹിയിലെ(hierarchy)സ്ഥാനം എന്നിവയെ അടിസ്ഥാനമാക്കിയുള്ളതാകാം.
എലമെന്റ്സ് തിരഞ്ഞെടുത്തുകഴിഞ്ഞാൽ, ഒരാൾക്ക് അവയിൽ ഓപ്പറേഷൻസ് നടത്താൻ കഴിയും.
ആട്രിബ്യൂട്ടുകൾ, ഡിസ്പ്ലേ ടെക്സ്റ്റുകൾ, ശൈലികൾ (മുകളിൽ പറഞ്ഞിരിക്കുന്നതുപോലെ) നേടുന്നതും സജ്ജീകരിക്കുന്നതും ഇതിൽ ഉൾപ്പെടുന്നു.
ഘടകങ്ങൾ കൂട്ടിച്ചേർക്കുകയും നീക്കം ചെയ്യുകയും ചെയ്യാം.
എച്ച്ടിഎംഎൽ എലമെന്റ്സ് പരിഷ്കരിക്കുന്നതിനും സൃഷ്ടിക്കുന്നതിനും നീക്കം ചെയ്യുന്നതിനുമുള്ള ഈ പ്രക്രിയ, ഡി3.
ജെഎസിന്റെ അടിസ്ഥാന ആശയമായ ഡാറ്റയെ ആശ്രയിച്ചിരിക്കും.
അവലംബം ↑ ↑ ↑ ↑ ↑ ↑ ↑ Academic example: ↑ Bostock, Ogievetsky Heer 2011 harvnb error: no target: CITEREFBostockOgievetskyHeer2011 ( help ) ↑ Bostock, Ogievetsky Heer 2011 harvnb error: no target: CITEREFBostockOgievetskyHeer2011 ( help ) , chap.
ഡി (ഇംഗ്ലീഷക്ഷരം) ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/D
ലത്തീൻ അക്ഷരമാലയിലെ നാലാമത്തെ അക്ഷരമാണ്‌ D. ഇംഗ്ലീഷിൽ ഡി (ഉച്ചാരണം /diː/) എന്നാണ്‌ ഇതിന്റെ പേര്..
ചരിത്രം Egyptian hieroglyph door Phoenician daleth Greek Delta Etruscan D Roman D കമ്പ്യൂട്ടർ കോഡുകൾ അക്ഷരം D d Unicode name LATIN CAPITAL LETTER D LATIN SMALL LETTER D Encodings decimal hex decimal hex Unicode 68 U+0044 100 U+0064 UTF-8 68 44 100 64 Numeric character reference #68; #x44; #100; #x64; EBCDIC family 196 C4 132 84 ASCII 1 68 44 100 64 1 Also for encodings based on ASCII, including the DOS, Windows, ISO-8859 and Macintosh families of encodings.
മറ്റു രൂപങ്ങൾ NATO phonetic Morse code Delta –·· Signal flag Flag semaphore Braille dots-145 അവലംബങ്ങൾ പുറം കണ്ണികൾ Media related to D at Wikimedia Commons
ഡി (പ്രോഗ്രാമിങ് ഭാഷ) ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/D_programming_language
ഡിജിറ്റൽ മാർസിന്റെ വാൾട്ടർ ബ്രൈറ്റ് സൃഷ്ടിച്ച ഒരു ഒബ്ജക്റ്റ് ഓറിയെന്റഡ് , ഇംപരേറ്റീവ്, മൾട്ടി പരാഡിഗം സിസ്റ്റം പ്രോഗ്രാമിങ് ഭാഷയാണ് ഡി .
2001 ൽ ആന്ദ്രെ അലക്സാണ്ട്രെസ്സ്കു ബ്രൈറ്റ് ഡിസൈൻ ആന്റ് ഡെവലപ്മെന്റ് പ്രയത്നത്തിലും അംഗമായി.
സി++ ന്റെ റീ-എഞ്ചിനിയറിംഗ് ആയിരുന്നെങ്കിലും, ഡി വ്യത്യസ്ത ഭാഷയാണ്, ചില പ്രധാന സി++ സവിശേഷതകൾ പുനർരൂപകൽപ്പന ചെയ്തപ്പോൾ മറ്റ് ഭാഷകൾ, പ്രത്യേകിച്ച് ജാവ , പൈത്തൺ , റൂബി , സി# , ഇഫിൽ എന്നിവയിൽ നിന്നുള്ള സവിശേഷതകൾ പങ്കുവെക്കുകയുണ്ടായി.
ആധുനിക ഡൈനാമിക് ഭാഷകളുടെ പ്രകടശേഷി ശക്തി ഉപയോഗിച്ച് കംപൈൽ ചെയ്ത ഭാഷകളുടെ പ്രകടനവും സുരക്ഷയും സമന്വയിപ്പിക്കാൻ ഡി ഡിസൈനിന്റെ ലക്ഷ്യങ്ങൾ ശ്രമിക്കുന്നു.
ഐഡമിക്ക് ഡി കോഡ് സാധാരണയായുള്ള സി ++ കോഡാണ്, അത് ചെറിയതും മെമ്മറി സുരക്ഷിതവുമാണെങ്കിലും.
സാധാരണ തരത്തിലുള്ള ടൈപ്പുചെയ്യൽ അനുവാദം, ഓട്ടോമാറ്റിക് മെമ്മറി മാനേജ്മെന്റ്, സിന്തറ്റിക് ഷുഗർ എന്നിവ വേഗതയുള്ള വികസനം അനുവദിക്കുന്നു, ബൗണ്ട് പരിശോധിക്കുന്നു, കരാറിന്റെ സവിശേഷതകൾ രൂപകൽപ്പനയും ഒരു കൺകറൻസി-അവേയർ ടൈപ്പ് സിസ്റ്റം പിന്തുണയും ബഗ്ഗുകൾ ഉണ്ടാകുന്നതിനെ കുറയ്ക്കുന്നു.
പൂർണ്ണമായും സൈദ്ധാന്തിക കാഴ്ചപ്പാടിനേക്കാൾ പ്രായോഗിക സി++ ഉപയോഗത്തിൽ നിന്ന് പഠിച്ചിട്ടുള്ള പാഠങ്ങളാണ് ഡി രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്.
പല സി, സി++ ആശയങ്ങളും ഇത് ഉപയോഗിക്കുന്നുണ്ടെങ്കിലും ഇത് സി, സി++ സോഴ്സ് കോഡുകളുമായി പൊരുത്തപ്പെടാത്തതാണ്.
എന്നിരുന്നാലും, ഡി  ഭരണനിർവഹണത്തിൽ ഡിസൈൻ നിയന്ത്രണം ഉണ്ടായിരുന്നു, സിയിലും ഡിയിലും നിയമാനുസൃതമുള്ള ഏതൊരു കോഡും ഒരേ രീതിയിൽ പ്രവർത്തിക്കണം.
സി++ ന് മുമ്പ് ചില സവിശേഷതകൾ നേടി, ഉദാഹരണത്തിന് ക്ലോസ്സേഴ്സ്, അജ്ഞാതമായ പ്രവർത്തനങ്ങൾ, സമയ ഫംഗ്ഷൻ നിർവ്വഹണം സമാഹരിക്കുക.
ഡി  കൺട്രോളർ, യൂണിറ്റ് ടെസ്റ്റിംഗ്, ട്രബിൾ മോഡ്യൂൾസ്, ഗാർബേജ് കളക്ഷൻ, ഫസ്റ്റ് ക്ലാസ് അറേസ്, അസോസിയേറ്റ് അറേസ്, ഡൈനാമിക് അറേസ്, അറേ സ്ടൈനിങ്, നെസ്റ്റഡ് ഫംഗ്ഷൻസ്, അലസ മൂല്യനിർണ്ണയം, റീ-എൻജിനീയറിംഗ് ചെയ്ത ടെംപ്ലേറ്റ് സിന്റാക്സ് എന്നിവ ഡിസൈൻ ചെയ്തുകൊണ്ട് സി++ ന്റെ പ്രവർത്തനക്ഷമതയെ കൂട്ടിച്ചേർക്കുന്നു.
ഡി നിമ്ന തലത്തിലുള്ള കോഡിംഗ് നടത്തുകയും ഇൻലൈൻ അസംബ്ലർ ചേർക്കാനും ഉള്ള സി++ ന്റെ ശേഷി നിലനിർത്തുന്നു.
സി++ ന്റെ അനവധി പാരാമീറ്ററുകൾ ജാവാ ശൈലി ഒറ്റ പൈതൃകം ഉപയോഗിച്ച് ഇൻറർഫേസുകളും മിക്സൈനുമൊക്കെയായി മാറ്റുന്നു.
മറുവശത്ത്, ഡി പ്രഖ്യാപനം, സ്റ്റേറ്റ്മെന്റ് ആൻഡ് എക്സ്പ്രഷൻ സിന്റാക്സ് സി++ നോട് ഏറ്റവും യോജിക്കുന്നവയാണ്.
ഡി, ആപ്ലിക്കേഷൻ ഭാഷകളായ ജാവയും സി# ഉം തമ്മിലുള്ള വ്യത്യാസങ്ങൾ ഇൻലൈൻ അസ്സംമ്പ്ലർ സൂചിപ്പിക്കുന്നു.
ഇൻലൈൻ അസ്സംബിൾ പ്രോഗ്രാമർമാർക്ക് മെഷീൻ നിർദ്ദിഷ്ട അസ്സംബിളി കോഡ് സാധാരണ ഡി കോഡിനുള്ളിൽ നൽകാം.
ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ, ഡിവൈസ് ഡ്രൈവറുകൾ എന്നിവയിൽ നേരിട്ട് ഹാർഡ്വെയറിനൊപ്പം ഇന്റർഫേസ് പ്രോഗ്രാമുകൾ പ്രവർത്തിപ്പിക്കാൻ ആവശ്യമായ പ്രോസസ്സറിന്റെ നിമ്ന തലത്തിലുള്ള സവിശേഷതകളെ കണ്ടെത്താൻ സിസ്റ്റം പ്രോഗ്രാമർമാർ ഇത് ഉപയോഗിക്കുന്നു.
ഡിയുടെ ഡോക്യുമെന്റേഷൻ അഭിപ്രായങ്ങൾക്ക് ബിൽറ്റ്-ഇൻ പിന്തുണ ഉണ്ട്, യാന്ത്രിക ഡോക്യുമെന്റേഷൻ ജനറേഷൻ അനുവദിക്കുന്നു.
പ്രോഗ്രാമിങ് മാതൃകകൾ
ഡി പ്രധാനപ്പെട്ട അഞ്ച് പ്രോഗ്രാമിങ് ഉദാഹരണങ്ങൾ പിന്തുണയ്ക്കുന്നു: ഇംപെറേറ്റീവ്, ഒബജ്ക്ട് ഓറിയെന്റഡ്, മെറ്റാപ്രോഗ്രാമിംഗ്, ഫങ്ഷണൽ ആൻഡ് കൺകറണ്ട് (ആക്ടർ മോഡൽ).
ഇംപെറേറ്റീവ്
ഡിയിലെ സമൂലമായ പ്രോഗ്രാമിങ്ങ് സി ഫംഗ്ഷനുകൾക്ക് സമാനമായിരിക്കണം, ഡാറ്റ, സ്റ്റേറ്റ്മെന്റുകൾ, ഡിക്ലറേഷനുകൾ, എക്സ്പ്രഷനുകൾ സി യിൽ തന്നെ പ്രവർത്തിക്കുന്നു, കൂടാതെ സി റൺടൈം ലൈബ്രറിയും നേരിട്ട് ആക്സസ് ചെയ്യാം.
മറുവശത്ത്, ഇംപെറേറ്റീവ് പ്രോഗ്രാമിങ് മേഖലയിൽ ഡിയും സിയും തമ്മിലുള്ള ചില ശ്രദ്ധേയമായ വ്യത്യാസങ്ങൾ ഡിയുടെ foreach ലൂപ് നിർമ്മാണം, ഒരു ശേഖരത്തിൽ നിന്ന് ലൂപ്പിംഗ് അനുവദിക്കുന്നു, കൂടാതെ നെസ്റ്റഡ് ഫംഗ്ഷനുകൾ എന്നിവയെല്ലാം ഇതിൽ മറ്റൊരിടത്ത് പ്രഖ്യാപിക്കപ്പെടുന്നു, ഒപ്പം എൻക്ലോസ്സിംഗ് ഫംഗ്ഷന്റെ പ്രാദേശിക വേരിയബിളുകളിൽ പ്രവേശിക്കുവാൻ സാധിക്കുകയും ചെയ്യുന്നു.
ഒബ്ജക്റ്റ് ഓറിയെന്റഡ്
ഡിയിലെ ഒബ്ജക്റ്റ് ഓറിയെന്റഡ് പ്രോഗ്രാമിങ് ഒരു ഇൻഹെറിറ്റൻസ് ശ്രേണിയെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്, ക്ലാസ് ഒബ്ജക്റ്റിൽ നിന്നാണ് എല്ലാ ക്ലാസുകളും ശേഖരിക്കന്നത്.
മൾട്ടിപ്പിൾ ഇൻഹെറിറ്റൻസിനെ പിന്തുണയ്ക്കുന്നില്ല; പകരം ഇത് ജാവാ ശൈലിയിലുള്ള ഇൻറർഫേസുകളാണ് ഉപയോഗിക്കുന്നത്, സി++ ന്റെ ശുദ്ധമായ അബ്സ്ട്രാക്റ്റ് ക്ലാസുകളുമായും മിക്സിൻസുകളുമായും ഇത് താരതമ്യപ്പെടുത്തിയിട്ടുണ്ട്, അത് പാരമ്പര്യ ശ്രേണിയിലെ സാധാരണ പ്രവർത്തനത്തെ വേർതിരിക്കുന്നു.
ഡി ഫങ്ഷനുകൾക്കും സ്റ്റാറ്റിക് ഫൈനൽ (നോൺ-വിർച്ച്വൽ) രീതികൾ ഇൻറർഫെയിസുകളിൽ അനുവദിക്കുന്നു.
മെറ്റാപ്രോഗ്രാമിങ്ങ്
മെറ്റാപ്രോഗ്രാമിങ്ങ് ടെംപ്ലേറ്റുകളുടെ കൂട്ടത്തെ പിന്തുണക്കുന്നു, കംപൈൽ ടൈം ഫങ്ഷൻ എക്സിക്യൂഷൻ, ട്യൂപ്പ്സ്, സ്ട്രിംഗ് മിക്സിൻസ് എന്നിവ തയ്യാറാക്കാൻ സഹായിക്കുന്നു.
ഇനിപ്പറയുന്ന ഉദാഹരണങ്ങൾ ഡി ന്റെ കംപൈൽ ടൈം ഫീച്ചറുകൾ കാണിക്കുന്നു.
ടെംപ്ലേറ്റുകളിൽ സി++ ഫങ്ഷണൽ ശൈലിയുമായി താരതമ്യം ചെയ്യുമ്പോൾ ഡി ഉള്ളിലെ ടെംപ്ലേറ്റുകൾ കൂടുതൽ ഇംപെറേറ്റീവ് ശൈലിയിൽ എഴുതാം.
ഒരു സംഖ്യയുടെ ഫാക്റ്റോറിയൽ കണക്കാക്കുന്ന ഒരു സാധാരണ പ്രവർത്തനമാണ് ഇത്: ulong factorial ( ulong n ) { if ( n 2 ) return 1 ; else return n * factorial ( n - 1 ); }
ഇവിടെ, static if ഉപയോഗിക്കുന്നത്, ഡിയുടെ കംപൈൽ സമയത്തെ സോപാധികമായ നിർമ്മിതി, മുകളിൽ പറഞ്ഞ ഫംഗ്ഷനു സമാനമായ കോഡ് ഉപയോഗിക്കുന്ന അതേ കണക്കുകൂട്ടൽ നടത്തുന്ന ഒരു ടെംപ്ലേറ്റ് നിർമ്മിക്കാൻ പ്രദർശിപ്പിച്ചിരിക്കുന്നു: template Factorial ( ulong n ) { static if ( n 2 ) enum Factorial = 1 ; else enum Factorial = n * Factorial !
( n - 1 ); }
താഴെപ്പറയുന്ന രണ്ട് ഉദാഹരണങ്ങളിൽ, നിർവചിക്കപ്പെട്ടിട്ടുള്ള ടെംപ്ലേറ്റും ഫംഗ്ഷനും ഫാക്റ്റോറിയലുകൾ കണക്കുകൂട്ടാൻ ഉപയോഗിക്കുന്നു.
അസൈൻമെൻറുകളുടെ വലതുവശങ്ങളിൽ നിന്ന് കമ്പൈലർ അവരുടെ തരങ്ങളെ ഇൻഫർ ചെയ്ത പോലെ കോൺസ്റ്റൻറുകളുടെ തനിപ്പകർപ്പുകൾ വ്യക്തമായി നൽകണമെന്നില്ല.
enum fact_7 = Factorial !
( 7 );
ടൈം ഫങ്ഷൻ എക്സിക്യൂഷൻ കംപൈൽ ചെയ്യുന്നതിനുള്ള ഒരു ഉദാഹരണമാണിത്.
ഓർഡിനറി ഫംഗ്ഷനുകൾ ചില മാനദണ്ഡങ്ങൾ പാലിക്കുന്ന സ്ഥിരമായ, കമ്പൈൽ-ടൈം എക്സ്പ്രഷനുകളിൽ ഉപയോഗിക്കാം: enum fact_9 = factorial ( 9 );
Std.string.format ഫംഗ്ഷൻ printf പോലുള്ള ഡേറ്റാ ഫോർമാറ്റിങ് (കംപൈൽ ടൈം, CTFE വഴി), "msg" പ്രഗ്മ കംപൈൽ സമയത്തുള്ള ഫലങ്ങൾ പ്രദർശിപ്പിക്കും: import std .
string : format ; pragma ( msg , format ( "7! = %s" , fact_7 )); pragma ( msg , format ( "9! = %s" , fact_9 ));
കംപൈൽ ടൈം ഫംഗ്ഷൻ എക്സിക്യൂഷൻ സംയോജിപ്പിച്ച സ്ട്രിംഗ് മിക്സിൻസ്, കംപൈൽ സമയത്തെ സ്ട്രിംഗ് പ്രവർത്തനങ്ങൾ ഉപയോഗിച്ച് ഡി കോഡ് സൃഷ്ടിക്കുന്നത് അനുവദിക്കുന്നു.
പ്രോഗ്രാമിന്റെ ഭാഗമായി ഡി-കോഡ് ചെയ്യുന്നതിന് ഡൊമെയ്ൻ-നിർദ്ദിഷ്ട ഭാഷകൾ പാഴ്സ് ചെയ്യുന്നതിന് ഇത് ഉപയോഗിക്കാം: import FooToD ; // hypothetical module which contains a function that parses Foo source code // and returns equivalent D code void main () { mixin ( fooToD ( import ( "example.foo" ))); } നിർവ്വഹണപരം
ഫങ്ഷണൽ ലിറ്ററൽ, അടച്ചുപൂട്ടലുകൾ, പുനർക്രമീകരണം-സ്ഥായിയായ വസ്തുക്കൾ, കൂടാതെ ഉയർന്ന-ഓർഡർ ഫംഗ്ഷനുകളുടെ ഉപയോഗം എന്നിവ പോലുള്ള ഫങ്ഷണൽ പ്രോഗ്രാമിങ് സവിശേഷതകൾ ഡി പിന്തുണയ്ക്കുന്നു.
അജ്ഞാത പ്രവർത്തനങ്ങക്കായി രണ്ട് വാക്യഘടനകൾ ഉണ്ട്, അവയിൽ ഒന്നിലധികം പ്രസ്താവനകൾക്കും "ഷോർട്ട്ഹാൻഡ്" സിംഗിൾ എക്സ്പ്രഷൻ നോട്ടേഷൻ ഉപയോഗിക്കുന്നു: int function ( int ) g ; g = ( x ) { return x * x ; }; // longhand g = ( x ) = x * x ; // shorthand
ഫങ്ഷൻ ലിറ്ററുകൾക്കും ഫങ്ഷനുകൾക്കുമായി രണ്ട് ബിൽറ്റ്-ഇൻ function ഉണ്ട്.
സ്റ്റാക്കിനെ-അനുവദിച്ച ഫങ്ഷൻ  പോയിന്റെ ചുരുക്കമായിരിക്കും ഇത്.
ചുറ്റുപാടുമുള്ള  പോയിന്റ് ഉൾപ്പെടുന്ന delegate ഒരു അജ്ഞാത ഫംഗ്ഷനൊപ്പം ടൈപ്പുചെയ്യൽ അനുമാനങ്ങൾ ഉപയോഗിക്കാം, അങ്ങനെയെങ്കിൽ ഒരു പരിസ്ഥിതി സൂചിക ആവശ്യമില്ലെന്ന് തെളിയിക്കുന്നില്ലെങ്കിൽ കമ്പൈലർ ഒരു delegate സൃഷ്ടിക്കുന്നു.
അതുപോലെ തന്നെ, ഒരു സമാരംഭിക്കൽ നടപ്പാക്കാൻ, കമ്പൈലർ ആവശ്യമായ സ്ഥലത്ത് മാത്രം പ്രാദേശിക വേരിയബിളുകൾ ഉൾക്കൊള്ളുന്നു (ഉദാഹരണത്തിന്, ഒരു പ്രവർത്തനം മറ്റൊരു ഫംഗ്ഷൻ ഉപയോഗിച്ച് തിരികെ വരികയാണെങ്കിൽ, ഫങ്ഷൻ സ്കോപ്പ് അവസാനിക്കുന്നു).
ടൈപ്പുചെയ്യൽ അനുമാനങ്ങൾ ഉപയോഗിക്കുമ്പോൾ, അത് തെളിയിക്കാനാഗ്രഹിക്കുന്നെങ്കിൽ, ഒരു ഫംഗ്ഷന്റെ തരത്തിലേക്ക് pure nothrow ആട്രിബ്യൂട്ടുകൾ കൂടി കമ്പൈലർ ചേർക്കും.
കറക്കിങ്, മാപ്പുകൾ, ഫിൽറ്റർ, കുറയ്ക്കുക തുടങ്ങിയ സാധാരണ പ്രവർത്തനങ്ങളായ സ്റ്റാൻഡേർഡ് ലൈബ്രറി മൊഡ്യൂളുകൾ std.functional , std.galgorith മുഖേനയുള്ള മറ്റ് പ്രവർത്തന ഫീച്ചറുകൾ ലഭ്യമാണ്.
import std .
stdio , std .
algorithm , std .
range ; void main () { int [] a1 = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]; int [] a2 = [ 6 , 7 , 8 , 9 ]; // must be immutable to allow access from inside a pure function immutable pivot = 5 ; int mySum ( int a , int b ) pure nothrow // pure function { if ( b = pivot ) // ref to enclosing-scope return a + b ; else return a ; } // passing a delegate (closure) auto result = reduce !
mySum ( chain ( a1 , a2 )); writeln ( "Result: " , result ); // Result: 15 // passing a delegate literal result = reduce !
(( a , b ) = ( b = pivot ) ?
a + b : a )( chain ( a1 , a2 )); writeln ( "Result: " , result ); // Result: 15 }
കൂടാതെ, മുകളിൽ പറഞ്ഞ പ്രവർത്തന രചനകൾ യൂണിഫോം ഫംഗ്ഷൻ കോൾ സിന്റാക്സ് (UFCS) ഉപയോഗിച്ച് കൂടുതൽ സ്വാഭാവിക ഇടത്തു നിന്നും വലത്തേക്കുള്ള വായനയ്ക്കായി ഉപയോഗിക്കാം.
auto result = a1 .
chain ( a2 ).
reduce !
mySum (); writeln ( "Result: " , result ); result = a1 .
a + b : a )(); writeln ( "Result: " , result ); സമാന്തരം import std .
stdio : writeln ; import std .
range : iota ; import std .
parallelism : parallel ; void main () { foreach ( i ; iota ( 11 ).
parallel ) { // The body of the foreach loop is executed in parallel for each i writeln ( "processing " , i ); } } സമകാലവർത്തിത്വം import std .
concurrency , std .
variant ; void foo () { bool cont = true ; while ( cont ) { receive ( // delegates are used to match the message type ( int msg ) = writeln ( "int received: " , msg ), ( Tid sender ) { cont = false ; sender . send (- 1 ); }, ( Variant v ) = writeln ( "huh?" ) // Variant matches any type ); } } void main () { auto tid = spawn ( foo ); // spawn a new thread running foo() foreach ( i ; 0 .. 10 ) tid .
send ( i ); // send some integers tid .
send ( 1.0f ); // send a float tid .
send ( "hello" ); // send a string tid .
send ( thisTid ); // send a struct (Tid) receive (( int x ) = writeln ( "Main thread received message: " , x )); } മെമ്മറി മാനേജ്മെന്റ്
മെമ്മറി സാധാരണയായി ഗാർബ്ബേജ് ശേഖരത്തിൽ സൂക്ഷിച്ചുവച്ചിട്ടുണ്ട്, പക്ഷേ അവയിൽ നിന്നും പുറത്തുകടക്കുമ്പോൾ പ്രത്യേക വസ്തുക്കൾ ഉടൻ തന്നെ തീർപ്പാക്കപ്പെടാറുണ്ട്.
new and delete ഓവർലോഡുചെയ്ത ഓപ്പറേറ്റർ ഉപയോഗിച്ച് സാധുതയുള്ള മെമ്മറി മാനേജ്മെന്റ് സാധ്യമാണ്, കൂടാതെ സിയുടെ malloc കീവേഡിനെ വിളിക്കുകയും നേരിട്ട് പുറത്തു വിടുകയും ചെയ്യുക.
ഗാർബേജ് ശേഖരണം നിയന്ത്രിക്കാനാകും: പ്രോഗ്രാമർമാർക്ക് കളക്റ്റർ നിരീക്ഷിക്കുന്നതിൽ നിന്ന് മെമ്മറി ശ്രേണികൾ ചേർക്കുകയോ ഒഴിവാക്കുകയോ  ചെയ്യാവുന്നതാണ്, കളക്ഷനും ശക്തിയും ഉള്ള ഒരു തലമുറയോ പൂർണ്ണമായ ശേഖരമോ ആയ സൈക്കിൾ പ്രവർത്തനരഹിതമാക്കുകയും പ്രാപ്തമാക്കുകയും ചെയ്യാം.
ഒരു പ്രോഗ്രാമിലെ ഗാർബ്ബേജ് ശേഖരണം അപര്യാപ്തമാകുമ്പോഴുള്ള വ്യത്യസ്തമായ മെച്ചപ്പെടുത്തിയ മെമ്മറി മാനേജ്മെന്റ് സ്കീമുകൾ എങ്ങനെ നടപ്പാക്കാമെന്നതിന്റെ നിരവധി ഉദാഹരണങ്ങൾ ഈ മാനുവൽ നൽകുന്നു.
സേഫ്ഡി
ഡി എന്ന ഉപവിഭാഗത്തിൽ നൽകിയിരിക്കുന്ന പേരാണ് സേഫ്ഡി (SafeD) എന്നത് മെമ്മറി സുരക്ഷിതമാക്കാൻ സഹായിക്കും (മെമ്മറി ഉപയോഗിക്കാതെ അല്ലെങ്കിൽ ഇതിനകം റീസൈക്കിൾ ചെയ്തവ).
@Safe എന്ന് അടയാളപ്പെടുത്തിയ ഫംഗ്ഷനുകൾ കംപൈൽ സമയം  പരിശോധിക്കുന്നത് പോയിന്റർ അരിത്മെറ്റിക്, പരിശോധിക്കാത്ത കാസ്റ്റുകൾ, പോലുള്ള മെമ്മറി കറപ്ക്ഷൻ(ഡാറ്റയുടെ സംഭരണ സംസ്‌കരണ വിനിമയ സമയങ്ങളിൽ ഡാറ്റയിൽ കടന്ന്‌ കൂടിയേക്കാവുന്ന അനാവശ്യ വ്യതിയാനം) ഉപയോഗിക്കുന്നില്ലെന്ന് ഉറപ്പുവരുത്തുക, കൂടാതെ മറ്റെന്തെങ്കിലും ഫങ്ഷനുകളും @safe അല്ലെങ്കിൽ @trusted ആയി അടയാളപ്പെടുത്തണം.
@trusted എന്ന് അടയാളപ്പെടുത്തിയിരിക്കുന്ന  ഒരു സവിശേഷതയുടെ സുരക്ഷിതമായ ഉപയോഗവും മെമ്മറി കറപക്ഷന്റെ സാധ്യതയും തമ്മിലുള്ള വ്യത്യാസങ്ങളെ കമ്പൈലർ വേർതിരിച്ചെടുക്കാൻ കഴിയാത്ത സാഹചര്യങ്ങളിൽ ഫങ്ഷനെ നിയന്ത്രിയ്ക്കാൻ കഴിയും.
മറ്റ് സംവിധാനങ്ങളുമായുള്ള പാരസ്‌പര്യം
സിയുടെ ആപ്ളിക്കേഷൻ ബൈനറി ഇൻറർഫെയിസ് (ABI) പിന്തുണയ്ക്കുന്നു, കൂടാതെ സിയുടെ അടിസ്ഥാനപരമായതും, ഡിറൈവ് ചെയ്തതുമായ എല്ലാ തരങ്ങളും, നിലവിലുള്ള സി കോഡിലേക്കും ലൈബ്രറികളിലേക്കും നേരിട്ട് പ്രവേശനം സാധ്യമാക്കുന്നു.
പല സി ലൈബ്രറികൾക്കായി ഡി ബൈൻഡിംഗ്സ് ലഭ്യമാണ്.
കൂടാതെ, സിയുടെ സ്റ്റാൻഡേർഡ് ലൈബ്രറി സ്റ്റാൻഡേർഡ് ഡിയുടെ ഭാഗമാണ്.
സി++ ന് ഒരു സ്റ്റാൻഡേർഡ് എബിഐ ഇല്ല കാരണം, സി എബിഐയ്ക്ക് എഴുതിയ സി++ കോഡ് പൂർണ്ണമായി മാത്രമേ ആക്സസ് ചെയ്യാൻ കഴിയൂ.
ഡി പാർസർ സി++ ഒബ്ജക്റ്റുകളിൽ പരിമിതമായി ബന്ധിപ്പിക്കുന്നതിനായി ബാഹ്യ (സി++) വിളിക്കൽ സമ്പ്രദായം മനസ്സിലാക്കുന്നു.
മൈക്രോസോഫ്ട് വിൻഡോസിൽ, ഡി കോമ്പോണന്റ് ഒബ്ജക്റ്റ് മോഡൽ (കോം) കോഡ് ആക്സസ് ചെയ്യാൻ കഴിയും.
1999 ൽ വാൾട്ടർ ബ്രൈറ്റ് ഒരു പുതിയ ഭാഷയിൽ പ്രവർത്തിക്കാൻ തീരുമാനിച്ചു.
ഡി 2001 ൽ ആണ് ആദ്യം പുറത്തിറങ്ങിയത്, ഭാഷയുടെ ആദ്യത്തെ പതിപ്പ് (ഡി1) സി++ പോലെയുള്ള അനിവാര്യ, ഒബ്ജക്റ്റ് ഓറിയെന്റഡ്, മെറ്റാപ്രോഗ്രാമിംഗ് മാത‌ൃകളിൽ കേന്ദ്രീകരിച്ചു.
ഫോബോസ്, ഡി'യുടെ ഔദ്യോഗിക സമയദൈർഘ്യവും സാധാരണ ലൈബ്രറിയുമൊക്കെ അസംതൃപ്തിയുണ്ടാക്കി, ഡി കമ്മ്യൂണിറ്റിയിലെ അംഗങ്ങൾ ഒരു ബദൽ റൺടൈമും ടാൻഗോ എന്ന് പേരുള്ള ലൈബ്രറിയും സൃഷ്ടിച്ചു.
ഡി 1.0  റിലീസിന്റെ  ദിവസങ്ങളിൽ ആദ്യ പൊതു ടാൻഗോ പ്രഖ്യാപനം വന്നു.
OOP ഉം ഉയർന്ന മോഡുലാരിറ്റിയും വ്യത്യസ്ത പ്രോഗ്രാമിങ് ശൈലി സ്വീകരിച്ചു.
ഒരു കമ്മ്യൂണിറ്റി നേതൃത്വത്തിലുള്ള പദ്ധതിയായിരുന്നതിനാൽ, ടാൻഗോ സംഭാവനകൾ കൂടുതൽ തുറന്നുകിടന്നു, അത് ഔദ്യോഗിക സ്റ്റാൻഡേർഡ് ലൈബ്രറിയെക്കാൾ വേഗത്തിൽ പുരോഗമിക്കാൻ അനുവദിച്ചു.
അക്കാലത്ത് ടാംഗോയും ഫോബോസും വ്യത്യസ്ത റൺടൈം സപ്പോർട്ട് എപിഐ(API)കൾ (ഗാർബ്ബേജ് കളക്ടർ, ത്രെഡ്ഡിംഗ് പിന്തുണ മുതലായവ) തമ്മിൽ പൊരുത്തപ്പെടാത്തവയായിരുന്നു.
ഇത് ഒരേ പ്രോജക്ടിൽ ലൈബ്രറികൾ ഉപയോഗിക്കുന്നത് അസാധ്യമാക്കി.
രണ്ടു ലൈബ്രറികളും നിലവിലുണ്ടായിരുന്നുവെങ്കിലും, ഫോബോസും മറ്റുള്ളവയും ടാംഗോ ഉപയോഗിച്ചുള്ള ചില പാക്കേജുകൾ മൂലം കാര്യമായ തർക്കം നടന്നിട്ടുണ്ട്.
2007 ജൂണിൽ, ഡി 2 ന്റെ ആദ്യ പതിപ്പ് പുറത്തിറങ്ങി.
ഡി 2 ന്റെ വളർച്ചയുടെ തുടക്കം ഡി 1 ന്റെ സ്ഥിരത ഉറപ്പിക്കലാണ്; ഭാഷയുടെ ആദ്യത്തെ പതിപ്പ് പരിപാലനത്തിലും, തിരുത്തലുകളും ബഗ്ഫിക്സിങ്ങ് നടപ്പിലാക്കലുകളും മാത്രമാണ് ലഭിക്കുന്നത്.
ഡി 2 ആയിരുന്നു ആദ്യത്തെ പരീക്ഷണാത്മക കോൺസ്റ്റ് സിസ്റ്റം ഉപയോഗിച്ച്, ഭാഷയിലേക്ക് ബ്രേക്കിങ്ങ് മാറ്റങ്ങൾ അവതരിപ്പിക്കുകയായിരുന്നു.
പിന്നീട് ഡി2 ക്ലോസ്, ശുദ്ധി, ഫങ്ഷണൽ ആൻഡ് കംപ്യൂട്ടർ പ്രോഗ്രാമിങ് മാതൃകൾക്കുകൾക്കുള്ള പിന്തുണ തുടങ്ങിയ നിരവധി ഭാഷാ സവിശേഷതകൾ കൂട്ടിച്ചേർത്തു.
സാധാരണ ലൈബ്രറിയിൽ നിന്ന് റൺടൈം വേർതിരിച്ചുകൊണ്ട് ഡി ലൈബ്രറി പ്രശ്നങ്ങളും പരിഹരിച്ചു.