මිනිසුන් නූල් වචනාර්ථයෙන් පටලවා ගන්නේ ඇයි? පිළිගත් පිළිතුර වෙනස් ප්රශ්නයකට හොඳ පිළිතුරකි; මේකට නෙවෙයි.
මෙය පැරණි මාතෘකාවක් බව මම දනිමි, නමුත් මම මෙහි පැමිණියේ OP හා සමාන ප්රශ්නයක් සමඟ විය හැකි අතර මිනිසුන් එය වැරදි ලෙස කියවන ආකාරය දැකීම කලකිරීමට කරුණකි. නැත්නම් මම එය වැරදියට කියවනවා, මම දන්නේ නැහැ.
දළ වශයෙන් කිවහොත්, නූලක් යනු පරිගණක මතකයේ කලාපයක් වන අතර, එය වැඩසටහනක් ක්රියාත්මක කිරීමේදී, පෙළ අක්ෂරවලට අනුරූපණය කළ හැකි බයිට් අනුක්රමයක් අඩංගු වේ. අනෙක් අතට, වචන මාලාවක් යනු තවමත් සම්පාදනය කර නොමැති ප්රභව කේත කැබැල්ලකි, එය දර්ශනය වන වැඩසටහන ක්රියාත්මක කිරීමේදී පසුකාලීනව නූලක් ආරම්භ කිරීමට භාවිතා කළ අගය නියෝජනය කරයි.
සී # හි, ප්රකාශය ...
string query = "SELECT foo, bar"
+ " FROM table"
+ " WHERE id = 42";
... පේළි තුනකින් යුත් නූලක් නිපදවන්නේ නැත, නමුත් එක් ලයිනර්; නූල් තුනක සංක්ෂිප්තකරණය (සෑම එකක්ම වෙනත් වචනාර්ථයෙන් ආරම්භ කරන ලදි) ඒ කිසිවක් නව රේඛා විකරණකාරකයක් අඩංගු නොවේ.
OP අසන බවක් පෙනේ - අවම වශයෙන් මම එම වචන වලින් අසන්නේ කුමක් ද යන්න - සම්පාදනය කරන ලද නූලෙන්, ප්රභව කේතයේ ඇති ඒවා අනුකරණය කරන රේඛා බිඳීම් හඳුන්වා දෙන්නේ කෙසේද යන්න නොව, පැහැදිලිකම සඳහා දීර් break වන්නේ කෙසේද? , සම්පාදනය කරන ලද නූලෙහි බිඳීම් හඳුන්වා නොදී ප්රභව කේතයේ තනි පෙළක්. දීර් exec ක්රියාත්මක කිරීමේ කාලයක් අවශ්ය නොවී, ප්රභව කේතයෙන් එන බහු උපස්ථර වලට සම්බන්ධ වීමට වියදම් කළේය. ජාවාස්ක්රිප්ට් හෝ සී ++ හි වචනාර්ථයෙන් බහු රේඛා පේළියක් තුළ ඇති පසුපස බැක් මෙන්.
වාචික නූල් භාවිතා කිරීම, කිසිසේත්ම නොසලකා හරින්න StringBuilder
, String.Join
නැතිනම් කුමක් කළ යුතුද යන්න යෝජනා කිරීම, මිනිසුන් සිතන්නේ ප්රශ්නය සැබවින්ම වටහා නොගන්නා බවයි. නැත්නම් සමහර විට මට එය තේරෙන්නේ නැත.
මා දන්නා පරිදි, සී # (අවම වශයෙන් පෙර දශකයේ සිට මම තවමත් භාවිතා කරන පැලියොලිතික් අනුවාදයේ) ක්රියාත්මක කිරීමට වඩා සම්පාදනය කිරීමේදී විසඳිය හැකි බහු රේඛා වචනාර්ථයෙන් පිරිසිදු ලෙස නිෂ්පාදනය කිරීමේ අංගයක් නොමැත .
සමහර විට වර්තමාන අනුවාදයන් එයට සහය දක්වනු ඇත, නමුත් මම සිතුවේ නූල් සහ නූල් වචනාර්ථය අතර මා දකින වෙනස බෙදා ගනීවි කියාය.
යාවත්කාලීන කිරීම:
(MeowCat2012 හි අදහස් දැක්වීමෙන්) ඔබට පුළුවන්. OP හි "+" ප්රවේශය හොඳම වේ. පිරිවිතරයන්ට අනුව ප්රශස්තිකරණය සහතික කර ඇත: http://stackoverflow.com/a/288802/9399618