{"id":276110,"date":"2016-03-15T03:52:02","date_gmt":"2016-03-15T00:52:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=276110"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=276110","title":{"rendered":"\u0420\u0430\u0437\u0431\u043e\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 D"},"content":{"rendered":"<p>       <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/2ce\/c1c\/63c\/2cec1c63c4d442efa4950c53e17a6fdd.png\" align=\"left\"\/> \u041f\u0440\u0438\u0432\u0435\u0442 \u0425\u0430\u0431\u0440, \u0445\u043e\u0447\u0443 \u043f\u0440\u0438\u0433\u043b\u0430\u0441\u0438\u0442\u044c \u0432\u0441\u0435\u0445 \u043d\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u044d\u043a\u0441\u043a\u0443\u0440\u0441\u0438\u044e \u043f\u043e \u044f\u0437\u044b\u043a\u0443 D. \u0417\u0430\u0447\u0435\u043c? \u041d\u0443 \u0437\u0430\u0447\u0435\u043c \u043b\u044e\u0434\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0430 \u044d\u043a\u0441\u043a\u0443\u0440\u0441\u0438\u0438 \u0445\u043e\u0434\u044f\u0442 \u2014 \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0432\u043b\u0435\u0447\u044c\u0441\u044f, \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043d\u043e\u0432\u043e\u0435 \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u2014 \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e. D \u0442\u0440\u0443\u0434\u043d\u043e \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u043c \u0438\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043c\u043e\u043b\u043e\u0434\u044b\u043c, \u043e\u0434\u043d\u0430\u043a\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043f\u0430\u0440\u0443 \u043b\u0435\u0442 \u0448\u043b\u043e \u0431\u0443\u0440\u043d\u043e\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435, \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u0448\u0435\u043b <a href=\"http:\/\/erdani.com\/\">\u0410\u043d\u0434\u0440\u0435\u0439 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0435\u0441\u043a\u0443<\/a> \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u0441\u0442\u0430\u043b \u0432\u0435\u0434\u0443\u0449\u0438\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c, \u0441 \u0435\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u0442\u044c \u0442\u0440\u0435\u043d\u0434\u044b \u043e\u043d \u0432\u043d\u0435\u0441 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 \u0432\u043a\u043b\u0430\u0434 \u0432 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u0441\u0430\u043c\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443. <br \/>  \u0421 \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f D \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u043a\u0430\u043a \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u044b\u0439 C++ (\u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u0432 \u043c\u043e\u0435\u043c \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0438). \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0438 \u0432\u043d\u0435\u0441\u0442\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0438\u0445 \u0442\u043e \u043d\u043e\u0432\u043e\u0435, \u0447\u0442\u043e \u043d\u0435 \u043c\u043e\u0433\u043b\u043e \u0431\u044b\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0432 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u043c C++, \u0438 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0431\u0435\u0440\u0435\u0436\u043d\u043e\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440, \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0421, \u0434\u0435\u043b\u0430\u044e\u0442 D \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0435\u043d\u0442\u043e\u043c \u043d\u0430 \u0437\u0432\u0430\u043d\u0438\u0435 \u00ab\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0432 \u0440\u044f\u0434\u0443 C \u2014 C++ \u2014 &#8230;\u00bb. \u041d\u0443 \u044d\u0442\u043e \u0441 \u043c\u043e\u0435\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f, \u0441\u0430\u043c \u044f (\u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u0432\u0435\u0436\u043b\u0438\u0432\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u00ab\u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e\u00bb) \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043c\u043e\u043d\u043e\u044f\u0437\u044b\u0447\u0435\u043d, \u043c\u043d\u043e\u0433\u043e \u043b\u0435\u0442 \u043f\u0438\u0448\u0443 \u043d\u0430 C++ \u0438 \u043b\u044e\u0431\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u043a\u0440\u0435\u043f\u043a\u0438\u043c \u0437\u0434\u043e\u0440\u043e\u0432\u044b\u043c \u0441\u043d\u043e\u043c. \u041e\u0434\u043d\u0430\u043a\u043e \u044f \u0441\u043b\u044b\u0448\u0430\u043b \u043e\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u0435\u0439 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043e\u043d\u0444\u0435\u0441\u0441\u0438\u0439 \u0447\u0442\u043e D \u0434\u043b\u044f \u043d\u0438\u0445 \u0442\u043e\u0436\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u043a\u0430\u043a \u044f\u0437\u044b\u043a, \u0442\u0430\u043a \u0447\u0442\u043e \u043d\u0430 \u044d\u043a\u0441\u043a\u0443\u0440\u0441\u0438\u044e \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e \u0432\u0441\u0435\u0445.<br \/>  \u0427\u0442\u043e \u044f \u0431\u0443\u0434\u0443 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c? \u041f\u043e D \u0443\u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e <a href=\"https:\/\/wiki.dlang.org\/Books\">\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u0438\u0445 \u043a\u043d\u0438\u0433<\/a>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0437\u044f\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e <i>getopt()<\/i> \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0435\u0435 \u043a\u043e\u0434, \u043d\u0435\u043e\u0446\u0435\u043d\u0438\u043c\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0435 \u043e\u0436\u0438\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u0435 \u0432 \u043a\u043d\u0438\u0433\u0430\u0445. \u041f\u043e\u0447\u0435\u043c\u0443 \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e? \u041d\u0443, \u043e\u043d\u0430 \u0436\u0435 \u0432\u0441\u0435\u043c \u0437\u043d\u0430\u043a\u043e\u043c\u0430 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0430, \u044f \u043b\u0438\u0447\u043d\u043e \u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e 3-4 \u0440\u0430\u0437\u0430 \u0432 \u043d\u0435\u0434\u0435\u043b\u044e \u0438 \u0432 \u0434\u0435\u0442\u0430\u043b\u044f\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u043a\u0430\u043a \u043e\u043d\u0430 \u043c\u043e\u0433\u043b\u0430 \u0431\u044b \u0431\u044b\u0442\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 3-\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0430\u0432\u0442\u043e\u0440\u043e\u043c \u043a\u043e\u0434\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0441\u044f \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0435\u0441\u043a\u0443, \u044f \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437 \u0432\u0438\u0434\u0435\u043b <i>\u0443\u0447\u0435\u0431\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b<\/i> \u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u0432 \u043a\u043d\u0438\u0433\u0430\u0445 \u0438 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u0438\u0434\u0435\u043b \u043a\u043e\u0434\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e <i>\u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d<\/i>, \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e \u0436\u0435. \u0412 \u043a\u043e\u043d\u0446\u0435 \u044f \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435 \u043d\u0435 \u0443\u0434\u0435\u0440\u0436\u0430\u043b\u0441\u044f \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0441\u0432\u043e\u0439 \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 (\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u044b\u0439), \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0443\u043c\u0435\u0441\u0442\u043d\u043e \u0438 \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0447\u0435\u043c \u0440\u0430\u0437\u0431\u043e\u0440 \u0447\u0443\u0436\u043e\u0433\u043e \u043a\u043e\u0434\u0430.<br \/>  \u0423\u0432\u0438\u0434\u0438\u043c \u043c\u044b \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 \u0438\u0437 \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0431\u044b \u0441\u0442\u043e\u0438\u043b\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0434\u0430 \u0438 \u0441\u0430\u043c \u044f \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0441\u0430\u043c\u0438 \u043a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0441\u0441\u044b\u043b\u043a\u0438 \u0432 \u043a\u043e\u043d\u0446\u0435.<\/p>\n<p>  <a name=\"habracut\"><\/a> <\/p>\n<h3>\u041d\u0430\u0440\u0443\u0436\u043d\u044b\u0439 \u043e\u0441\u043c\u043e\u0442\u0440<\/h3>\n<p>\u0412\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043a\u043e\u0434 \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439:  <\/p>\n<pre><code>void main(string[] args) { \t\/\/ placeholders         string file; \tbool quiet; \tenum Count { zero, one, two, three }; \tCount count; \tint selector; \tint[] list; \tstring[string] dict;  \tstd.getopt.arraySep=&quot;,&quot;; \tauto help=getopt(args,  \t\t, std.getopt.config.bundling \t\t, &quot;q|quiet&quot;, &quot;opposite of verbose&quot;, &quiet \t\t, &quot;v|verbose&quot;, delegate{quiet=false;} \t\t, &quot;o|output&quot;, &file \t\t, &quot;on&quot;, delegate{selector=1;} \t\t, &quot;off&quot;, delegate{selector=-1;} \t\t, std.getopt.config.required, &quot;c|count&quot;, &quot;counter&quot;, &count \t\t, &quot;list&quot;, &list \t\t, &quot;map&quot;, &dict \t); \t \tif(help.helpWanted) \t    defaultGetoptPrinter(&quot;Options:&quot;, help.options); } <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0432\u043e\u0435 \u0447\u0442\u043e \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u2014 \u00ab\u043f\u043e\u0447\u0442\u0438 C\u00bb, \u043f\u043e\u0442\u043e\u043c \u0437\u0430\u043c\u0435\u0447\u0430\u0435\u043c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u2014 string[] \u0438 int[], \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u2014 string[string]. \u0417\u0430\u0442\u0435\u043c \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435 \u2014 <i>std.getopt.arraySep=&quot;,&quot;<\/i>, \u043d\u0435\u0443\u0436\u0435\u043b\u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f!?, \u043c\u044b \u0447\u0442\u043e, \u0432 \u043a\u0443\u043d\u0441\u0442\u043a\u0430\u043c\u0435\u0440\u0443 \u043f\u0440\u0438\u0448\u043b\u0438 \u0438\u043b\u0438 \u043a\u0443\u0434\u0430? \u0412\u0441\u0435 \u0442\u0430\u043a, \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 \u044f\u0437\u044b\u043a\u0435 \u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043e\u0434\u043d\u0443 \u0438\u0437 \u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432 (\u044f \u043b\u0438\u0447\u043d\u043e \u0441\u0440\u0430\u0437\u0443 \u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u044e Perl, \u0432 \u0445\u043e\u0440\u043e\u0448\u0435\u043c \u0441\u043c\u044b\u0441\u043b\u0435 \u0441\u043b\u043e\u0432\u0430). \u0410 \u0432\u043e\u0442 <i>std.getopt.arraySep<\/i> \u2014 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0430\u044f \u043c\u043e\u0434\u0443\u043b\u044e \u0438 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435 \u0435\u0439 \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u0443\u0436\u0430\u0441\u043d\u043e \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u0443\u0440\u0438\u0441\u0442\u0430, \u0434\u0430\u0436\u0435 \u0432 \u0442\u0430\u043a\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u0430\u043a <i>getopt()<\/i>. \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0443\u0442 \u0432\u0441\u0435 \u043d\u0435 \u0442\u0430\u043a \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e, <i>arraySep<\/i> <b>\u043c\u043e\u0433\u043b\u0430 \u0431\u044b<\/b> \u0431\u044b\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u043a\u0430\u043a <b>\u043f\u0430\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/b>:  <\/p>\n<pre><code>@property string arraySep() { return ... } @property void arraySep(string separator) { .... } <\/code><\/pre>\n<p> \u0438 <b>\u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c<\/b> \u043a\u0430\u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044f \u0441\u0430\u043c\u044b\u043c \u0441\u0442\u0440\u043e\u0433\u0438\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u043c \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u042d\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u043e\u0434\u0430 \u0444\u0438\u0440\u043c\u0435\u043d\u043d\u0430\u044f \u0444\u0438\u0448\u043a\u0430 D \u2014 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0430\u0445\u0430\u0440 \u0434\u043e\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u0434\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0441\u0442\u0432\u0430 \u0438 \u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0438\u0439 \u043d\u0435\u043f\u043e\u0432\u0442\u043e\u0440\u0438\u043c\u044b\u0439 \u043e\u0431\u043b\u0438\u043a \u044f\u0437\u044b\u043a\u0430. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u044d\u0442\u043e\u0442 \u0432\u044b\u0437\u043e\u0432 \u043c\u043e\u0433 \u0431\u044b \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043a\u0430\u043a <\/p>\n<pre><code>&quot;,&quot;.arraySep; <\/code><\/pre>\n<p>  \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043d\u0430\u0434\u0443\u043c\u0430\u043d\u043d\u044b\u043c \u0438\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435\u043c? \u0410 \u043a\u0430\u043a \u043d\u0430\u0441\u0447\u0435\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438:   <\/p>\n<pre><code>auto helloWorld=&quot;dlrowolleh&quot;.reverse.capitalize_at(0).capitalize_at(5).insert_at(5,' '); <\/code><\/pre>\n<p>   \u044d\u0442\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0443\u043c\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0439 \u0441\u0438\u043d\u0442\u0430\u0445 \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b, \u043e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 D \u0442\u0430\u043a \u0436\u0435 \u0448\u0438\u0440\u043e\u043a\u043e \u0438 \u0441 \u0442\u0435\u043c \u0436\u0435 \u0443\u0441\u043f\u0435\u0445\u043e\u043c \u043a\u0430\u043a <i>pipe<\/i> (\u0437\u043d\u0430\u043a |) \u0432 \u0441\u043a\u0440\u0438\u043f\u0430\u0445 \u043d\u0430 bash. \u041e\u043d\u0430 \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0435 \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435: <i>Uniform Function Call Syntax<\/i>, \u0445\u043e\u0442\u044f \u043f\u043e \u0441\u0443\u0442\u0438 \u044d\u0442\u043e \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0430\u0445\u0430\u0440 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c <i>fun(a,b,c)<\/i> \u043a\u0430\u043a <i>a.fun(b,c)<\/i>.<br \/>  \u0414\u0430\u043b\u044c\u0448\u0435 \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u0431\u0440\u043e\u0441\u0430\u0435\u0442\u0441\u044f \u0432 \u0433\u043b\u0430\u0437\u0430 \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u0430\u044f \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u043f\u0440\u044f\u043c\u043e \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435. \u041d\u0435\u0432\u043e\u043b\u044c\u043d\u043e \u0437\u0430\u043a\u0440\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u043d\u0438\u0435 \u0447\u0442\u043e D \u2014 \u044f\u0437\u044b\u043a \u0441 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u0435\u0439. \u041d\u0438\u0447\u0435\u0433\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u043f\u043e\u0437\u0436\u0435, \u044d\u0442\u043e \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u0434\u043e\u0432\u0435\u0434\u0435\u043d\u043d\u0430\u044f \u0434\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0441\u0442\u0432\u0430 \u0442\u0435\u0445\u043d\u0438\u043a\u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432. <br \/>  \u0412 \u043e\u0431\u0449\u0435\u043c \u0432\u0438\u0434\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u043f\u0446\u0438\u0438 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439:<br \/>  <b>[\u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440,] \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043e\u043f\u0446\u0438\u0438, [\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435,] &#038;\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a<\/b><br \/>  \u0421\u0430\u043c\u0430\u044f \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0437\u0434\u0435\u0441\u044c \u2014 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043e\u043f\u0446\u0438\u0438, \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0430 \u0432\u0438\u0434\u0430 \u00abf|foo|x|something-else\u00bb \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u0434\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0441\u0438\u043d\u043e\u043d\u0438\u043c\u044b, \u043a\u0430\u043a \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0442\u0430\u043a \u0438 \u0434\u043b\u0438\u043d\u043d\u044b\u0435. \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 (\u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u043c\u043e\u0449\u0438) \u2014 \u0442\u043e\u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0430, \u043d\u043e \u043e\u043d\u0430 \u0443\u0436\u0435 \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430, \u0447\u0442\u043e \u0443\u0436\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0442\u0438\u043f\u0430\u043c\u0438 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438.<br \/>  \u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0430\u044f \u043c\u0430\u0433\u0438\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430, \u044d\u0442\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0432\u0434\u0440\u0435\u0441, \u043d\u043e <i>\u0430\u0434\u0440\u0435\u0441 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0447\u0435\u0433\u043e \u0443\u0433\u043e\u0434\u043d\u043e<\/i> \u0432\u043a\u043b\u044e\u0447\u0430\u044f <i>enum<\/i> (\u043d\u0430 \u044d\u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043c\u043e\u0439 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 C++-\u043d\u0438\u043a \u0441\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u043c\u043e\u0440\u0449\u0438\u043b \u043b\u043e\u0431), \u0430 \u0442\u0430\u043a \u0436\u0435 \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u043b\u0438 \u043b\u044f\u043c\u0431\u0434\u0430-\u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 (\u043d\u0443 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e, \u0434\u0430?). <br \/>  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:   <\/p>\n<ul>\n<li>\u0435\u0441\u043b\u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0437\u0430\u0434\u0430\u043d \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 <i>bool<\/i>, \u043e\u043f\u0446\u0438\u044f \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f \u0431\u0435\u0437 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432, -f \u0438\u043b\u0438 &#8212;foo \u0437\u0430\u043f\u0438\u0448\u0435\u0442 <i>true<\/i> \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e. \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u0442\u0430\u043a: &#8212;foo true \u0438\u043b\u0438 &#8212;foo=false.<\/li>\n<li>\u0435\u0441\u043b\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u2014 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0443, \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0439 \u0442\u0438\u043f \u0438\u043b\u0438 <i>enum<\/i>, \u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f \u043e\u043f\u0446\u0438\u044f \u0441 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a \u043d\u0443\u0436\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443 \u0438 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044e. <\/li>\n<li>\u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043f\u043e\u0434\u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u0435\u0441\u043b\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u2014 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0446\u0435\u043b\u044b\u0439 \u0442\u0438\u043f, \u0430 \u043e\u043f\u0446\u0438\u044f \u043e\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 &#8216;+&#8217;, \u0442\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043a\u043e\u0433\u0434\u0430 \u043e\u043f\u0446\u0438\u044f \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435.<\/li>\n<li>\u0435\u0441\u043b\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u2014 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432, \u0442\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043f\u0446\u0438\u044f \u0441 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a \u043d\u0443\u0436\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a \u043c\u0430\u0441\u0441\u0438\u0432\u0443, \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0440\u0430\u0437\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438. \u041f\u043e\u0441\u043b\u0435 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 &#8212;foo=1,2,3,4,5 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0431\u0443\u0434\u0435\u0442 [1,2,3,4,5].<\/li>\n<li>\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c \u0436\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 <i>\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432<\/i>, \u0442\u043e\u0433\u0434\u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u0440 &#038;ltkey&#038;gt=&#038;ltvalue&#038;gt, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043a \u043d\u0443\u0436\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443.<\/li>\n<\/ul>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u043e\u0440\u0442\u0435\u0436 \u0438\u0437 \u0434\u0432\u0443\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u2014 \u0441\u043f\u0438\u0441\u043a\u0430 \u043e\u043f\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c, \u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 helpWanted, =true \u0435\u0441\u043b\u0438 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0430 \u043e\u043f\u0446\u0438\u044f -h \u0438\u043b\u0438 &#8212;help (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a \u0441\u043f\u0438\u0441\u043a\u0443).<br \/>  \u041d\u0443 \u0438 \u0434\u043b\u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u044b, \u043f\u0435\u0440\u0435\u0434 \u043a\u0430\u0436\u0434\u043e\u0439 \u043e\u043f\u0446\u0438\u0435\u0439 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u043e\u044f\u0442\u044c \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <i>required<\/i> \u0438\u043b\u0438 <i>caseInsensitive<\/i>. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432 \u043c\u043e\u0434\u0443\u043b\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a optionChar=&#8217;-&#8216;, endOfOptions=&quot;&#8212;&quot; \u0438 arraySep=&quot;,&quot;, \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u0435\u043d\u044f\u0435\u0442 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438.<br \/>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u0443\u044e \u0438 \u0443\u0434\u043e\u0431\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e \u0447\u0442\u043e \u044d\u0442\u043e \u0448\u0430\u0431\u043b\u043e\u043d \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043a\u0430\u043a \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0445\u043e\u0436\u0435\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432 C++, \u043d\u043e \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0432 D?<\/p>\n<h3>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043a\u0430\u043f\u043e\u0442<\/h3>\n<p>\u041f\u0435\u0440\u0432\u043e\u0435 \u0447\u0442\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0430 \u0441\u0435\u0431\u044f \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u2014 \u0447\u0440\u0435\u0437\u0432\u044b\u0447\u0430\u0439\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0432 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0435 \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u043d\u043a\u0430 \u0447\u0442\u043e \u043c\u0435\u043d\u044f\u0435\u0442 \u0432\u043e\u0441\u043f\u0440\u0438\u044f\u0442\u0438\u0435 \u2014 \u043f\u0438\u0448\u0435\u0448\u044c \u043d\u0435 \u00ab\u043e\u0431\u044b\u0447\u043d\u044b\u0435\u00bb \u0438 \u00ab\u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0435\u00bb \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u043c\u0438. \u0417\u0430\u0431\u0435\u0433\u0430\u044f \u0432\u043f\u0435\u0440\u0435\u0434, \u0441\u043a\u0430\u0436\u0443 \u0447\u0442\u043e \u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u043c <b>opts<\/b> \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043a \u043c\u0430\u0441\u0441\u0438\u0432\u0443 \u2014 <b>opts[0], opts[$-1] \u0438\u043b\u0438 opts[2..5];<\/b>  <\/p>\n<pre><code>GetoptResult getopt(T...)(ref string[] args, T opts) {     ...     getoptImpl(args, cfg, rslt, opts);     return rslt; } <\/code><\/pre>\n<p>  \u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438 \u043d\u0435\u0447\u0435\u0433\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0430 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 <b>getoptImpl()<\/b> \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u0438 \u0437\u0430\u0433\u043b\u044f\u043d\u0435\u043c.  <\/p>\n<pre><code> 1 private void getoptImpl(T...)(ref string[] args, ref configuration cfg, ref GetoptResult rslt, T opts)  2 {  5     static if(opts.length) {   6         static if(is(typeof(opts[0]) : config)) {  7             \/\/ it's a configuration flag, act on it  8             setConfig(cfg, opts[0]);  9             return getoptImpl(args, cfg, rslt, opts[1 .. $]);  10         } else { 11            \/\/ it's an option string                 ... 16             static if(is(typeof(opts[1]) : string)) { 17                auto receiver=opts[2]; 18                 optionHelp.help=opts[1]; 19                 immutable lowSliceIdx=3;  20             } else { 21                 auto receiver=opts[1]; 22                 immutable lowSliceIdx=2; 23             }                  ... 34             bool optWasHandled=handleOption(option, receiver, args, cfg, incremental); 41             return getoptImpl(args, cfg, rslt, opts[lowSliceIdx .. $]); 42         }  43     } else { 44         \/\/ no more options to look for, potentially some arguments left             ... 68         } 75     } 76 } <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u043f\u043e \u043d\u043e\u043c\u0435\u0440\u0430\u043c, \u0441\u0442\u0440\u043e\u043a \u044f \u0432\u044b\u0431\u0440\u043e\u0441\u0438\u043b \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e, \u0437\u0430\u0442\u043e \u0432\u0441\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043a\u0430\u043a \u043d\u0430 \u043b\u0430\u0434\u043e\u043d\u0438.<br \/>  \u041f\u0435\u0440\u0432\u043e\u0435 \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u2014 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f <i>static if() {} else static if() {} else {}<\/i>, \u0434\u0430, \u044d\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u043e \u043e \u0447\u0435\u043c \u0432\u044b \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043f\u043e\u0434\u0443\u043c\u0430\u043b\u0438. \u0412\u0435\u0442\u043a\u0430 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f <i>static if<\/i> \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f <i>\u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438<\/i>, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0442\u043e\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 (\u0441\u043b\u0435\u0433\u043a\u0430 \u043e\u0442\u0434\u0430\u044e\u0449\u0438\u0439 \u0441\u043f\u0430\u0433\u0435\u0442\u0442\u0438 \u043d\u0430 \u043c\u043e\u0439 \u043f\u0440\u0438\u0434\u0438\u0440\u0447\u0438\u0432\u044b\u0439 \u0432\u043a\u0443\u0441) \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043e\u0431\u0440\u0435\u0437\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0442\u0440\u043e\u043a \u0438\u043c\u0435\u044e\u0449\u0438\u0445 \u0441\u043c\u044b\u0441\u043b \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0441 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0441 <i>immutable<\/i> \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c, <i>static if(opts.length)<\/i> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 0 \u0435\u0441\u043b\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u043e\u043f\u0446\u0438\u0439 \u043f\u0443\u0441\u0442, \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043a\u043e\u0434 \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u0438 43 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u043d\u0430\u043c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f. <br \/>  \u0415\u0449\u0435 \u043e\u0434\u0438\u043d \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u0444\u0438\u0433\u0443\u0440\u043d\u044b\u0435 \u0441\u043a\u043e\u0431k\u0438 \u043f\u043e\u0441\u043b\u0435 <i>static if() \u043d\u0435 \u043c\u0435\u043d\u044f\u044e\u0442 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438<\/i>, \u0432\u0437\u0433\u043b\u044f\u043d\u0438\u0442\u0435:  <\/p>\n<pre><code>16             static if() { 19                 immutable lowSliceIdx=3; 20             } else { 22                 immutable lowSliceIdx=2; 23             } 41             return getoptImpl(args, cfg, rslt, opts[lowSliceIdx .. $]); <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f lowSliceIdx \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0431\u043b\u043e\u043a\u043e\u0432, \u043e\u0434\u043d\u0430\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0437\u0430 \u0438\u0445 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438, \u043e\u0447\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043f\u043e-\u043c\u043e\u0435\u043c\u0443. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u0442\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u043a\u0430\u043a <i>immutable (= constexpr)<\/i>, \u043e\u043d\u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u0445.<br \/>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0437\u0430\u0433\u043b\u044f\u043d\u0435\u043c \u0433\u043b\u0443\u0431\u0436\u0435, \u0442\u0443\u0434\u0430 \u0433\u0434\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0431\u043e\u0440 \u043e\u043f\u0446\u0438\u0439 \u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0442\u0438\u043f\u0430\u043c\u0438:  <\/p>\n<pre><code> 6         static if( is(typeof(opts[0]) : config)) {  7             \/\/ it's a configuration flag, act on it  8             setConfig(cfg, opts[0]);  9             return getoptImpl(args, cfg, rslt, opts[1 .. $]);  10         } else {                ...... 42         } <\/code><\/pre>\n<p>  \u041e\u043e\u043e\u043e, \u0432\u043e\u0442 \u043e\u043d\u043e! \u0412 D \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0434\u043e\u043b\u0433\u043e\u0436\u0434\u0430\u043d\u043d\u0443\u044e \u0432 C++ <i>typeof(expr)<\/i> \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u043d\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u043b\u043e\u0441\u044c. \u041d\u043e \u044d\u0442\u043e \u0435\u0449\u0435 \u043d\u0435 \u0432\u0441\u0435, \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 <i>is(\u0422 == U)<\/i> \u0440\u0430\u0432\u043d\u043e <i>true<\/i> \u0442\u043e\u0433\u0434\u0430 \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430 (\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438) \u043a\u043e\u0433\u0434\u0430 \u0442\u0438\u043f\u044b T \u0438 U \u0440\u0430\u0432\u043d\u044b, \u0430 \u0441 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u043c\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f <i>is<\/i> \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0432 \u0448\u0432\u0435\u0439\u0446\u0430\u0440\u0441\u043a\u0438\u0439 \u043d\u043e\u0436 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0438\u043f\u0430\u043c\u0438. \u0412\u043e\u043e\u0431\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, <i>is()<\/i> \u2014 \u044d\u0442\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 SFINAE \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0439 <i>true<\/i> \u0442\u043e\u0433\u0434\u0430 \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430 \u043a\u043e\u0433\u0434\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u044e\u0431\u043e\u0439 \u0442\u0438\u043f, \u0442\u043e \u0435\u0441\u0442\u044c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <i>is(arg == U[], U)<\/i> \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0447\u0442\u043e <i>arg<\/i> \u0431\u0443\u0434\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c, \u0430 <i>is(arg: int)<\/i> \u2014 \u0447\u0442\u043e <i>arg<\/i> \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u0432 <i>int<\/i>, \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u0435 \u043d\u0435\u043d\u0430\u0432\u044f\u0437\u0447\u0438\u0432\u043e \u043d\u0430\u043c\u0435\u043a\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435. \u041f\u043e\u043f\u043e\u0437\u0436\u0435 \u0435\u0449\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u044b. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u0442\u0440\u043e\u0447\u043a\u0435 6 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0435\u0441\u043b\u0438 \u0442\u0438\u043f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 (<i>typeof(opt[0])<\/i> \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u043d\u0435\u043a\u043e\u0435\u043c\u0443 \u0442\u0438\u043f\u0443 <i>config<\/i>. \u0410 <i>config<\/i> \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e-\u043d\u0430\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u043e\u043f\u0446\u0438\u0438:  <\/p>\n<pre><code>enum config {     \/\/\/ Turns case sensitivity on     caseSensitive,     \/\/\/ Turns case sensitivity off     caseInsensitive,     \/\/\/ Turns bundling on     bundling,     \/\/\/ Turns bundling off     noBundling,     \/\/\/ Pass unrecognized arguments through     passThrough,     \/\/\/ Signal unrecognized arguments as errors     noPassThrough,     \/\/\/ Stop at first argument that does not look like an option     stopOnFirstNonOption,     \/\/\/ Do not erase the endOfOptions separator from args     keepEndOfOptions,     \/\/\/ Makes the next option a required option     required } <\/code><\/pre>\n<p>  \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e <i>getoptImpl()<\/i> \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (\u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 + \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 =&#038;gt runtime) \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0438 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e \u043f\u0435\u0440\u0435\u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u0435\u0431\u044f \u0436\u0435, \u0443\u0431\u0440\u0430\u0432 \u0438\u0437 \u043e\u043f\u0446\u0438\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 (<i>opt[1..$]<\/i>). \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0441 \u043f\u0435\u0440\u0432\u044b\u043c \u0441\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0438\u043f\u043e\u0432 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0430 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u043e. \u0415\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0438\u0437 \u0433\u043e\u043b\u043e\u0432\u044b \u044d\u0442\u0438 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0435 <i>compile time\/runtime<\/i> \u0430 \u0447\u0438\u0442\u0430\u0442\u044c \u043a\u043e\u0434 \u043a\u0430\u043a \u043e\u043d \u0435\u0441\u0442\u044c, \u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044f <i>typeof(T)<\/i> \u0437\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u043f\u0430\u0440\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0432\u0432\u0435\u0440\u0445, \u0442\u0443\u0434\u0430 \u0433\u0434\u0435 \u044d\u0442\u043e\u0442 \u0442\u0438\u043f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 <i>getopt()<\/i>, \u0442\u043e \u0434\u0430\u0436\u0435 \u0434\u043e \u043e\u0431\u0438\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u043e, \u0432 C++ \u044d\u0442\u043e \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u043c\u0430\u0433\u0438\u044e. \u0410 \u043c\u043e\u0436\u0435\u0442 \u0442\u0430\u043a \u0438 \u0431\u044b\u043b\u043e \u0437\u0430\u0434\u0443\u043c\u0430\u043d\u043e? \u0412 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u043d\u0446\u043e\u0432, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0438\u043c\u0435\u0435\u0442 \u0432\u0441\u044e \u0442\u0443 \u0436\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0447\u0442\u043e \u0438 \u044f \u2014 \u0432 \u0432\u0438\u0434\u0435 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430.<br \/>  \u0414\u0430\u043b\u0435\u0435, \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e \u0432\u044b\u0434\u0435\u0440\u0433\u0438\u0432\u0430\u044f \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0438\u0437 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0434\u043e\u0431\u0435\u0440\u0435\u0442\u0441\u044f \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u044f\u0437\u0430\u043d \u0431\u044b\u0442\u044c \u0441\u043f\u0438\u0441\u043a\u043e\u043c \u0442\u044d\u0433\u043e\u0432 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u043e\u043f\u0446\u0438\u0438, \u0441\u0442\u0440\u043e\u043a\u0430 11. \u0422\u0443\u0442 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u044f\u0442\u044c \u0436\u0435 \u043e\u0447\u0435\u043d\u044c \u043b\u0435\u0433\u043a\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e\u0442\u0441\u044f: \u0435\u0441\u043b\u0438 \u0432\u0442\u043e\u0440\u043e\u0439 (\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439) \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u2014 \u0441\u0442\u0440\u043e\u043a\u0430, \u0442\u043e \u044d\u0442\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435, \u0430 \u0442\u0440\u0435\u0442\u0438\u0439 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u2014 \u0430\u0434\u0440\u0435\u0441 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430; \u0438\u043d\u0430\u0447\u0435 (\u043d\u0435 \u0441\u0442\u0440\u043e\u043a\u0430), \u044d\u0442\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043c\u044b \u0432\u044b\u0434\u0435\u0440\u0433\u0438\u0432\u0430\u0435\u043c \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u043b\u0438\u0431\u043e \u0442\u0440\u0438, \u043b\u0438\u0431\u043e \u0434\u0432\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0438\u0445 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2014 <i>handleOption()<\/i> \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0436\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442 \u0441\u0430\u043c\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443, \u0430 \u043f\u043e\u0442\u043e\u043c \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0441\u0435\u0431\u044f \u0438 \u0432\u0441\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u043d\u0430\u0447\u0430\u043b\u0430.<br \/>  \u0414\u0430\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u0442\u0435\u043c \u0447\u0442\u043e \u043c\u044b \u0443\u0436\u0435 \u0432\u0438\u0434\u0435\u043b\u0438. \u0424\u0443\u043d\u043a\u0446\u0438\u044f <i>handleOption()<\/i>, \u0448\u0430\u0431\u043b\u043e\u043d \u0441 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u2014 \u0442\u0438\u043f\u043e\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430, \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043f\u043e \u0432\u0441\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044f \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043b\u0438 \u043e\u043d\u0430 \u043f\u043e\u0434 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438, \u0435\u0441\u043b\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442, \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0435\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0441\u0432\u043e\u0435\u043c\u0443 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443. \u042f \u043a\u0440\u0430\u0442\u043a\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u044e \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0441 \u043c\u043e\u0435\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043c\u043e\u043c\u0435\u043d\u0442\u044b.<br \/>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430, \u043e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434 \u0441\u0432\u0435\u0440\u0445\u0443:  <\/p>\n<pre><code>static if(is(typeof(*receiver) == bool)) {     *receiver=true; } else { \/\/ non-boolean option, which might include an argument      static if(is(typeof(*receiver) == enum)) {         *receiver=to!(typeof(*receiver))(val);     } else static if(is(typeof(*receiver) : real)) {         *receiver=to!(typeof(*receiver))(val);     } else static if(is(typeof(*receiver) == string)) {         *receiver=to!(typeof(*receiver))(val);      } else static if(is(typeof(receiver) == delegate) || is(typeof(*receiver) == function)) {         \/\/ functor with two, one or no parameters         static if(is(typeof(receiver(&quot;&quot;, &quot;&quot;)) : void)) {             receiver(option, val);         } else static if(is(typeof(receiver(&quot;&quot;)) : void)) {             receiver(option);         } else {             static assert(is(typeof(receiver()) : void));             receiver();         }      } else static if(isArray!(typeof(*receiver))) {         foreach (elem; ...)             *receiver ~= elem;      } else static if(isAssociativeArray!(typeof(*receiver))) {         foreach (k, v; ...)             (*receiver)[k]=v;      } else {         static assert(false, &quot;Dunno how to deal with type &quot; ~ typeof(receiver).stringof);     } } <\/code><\/pre>\n<p>  \u041e\u0431\u0440\u0430\u0449\u0430\u0435\u0442 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0430\u044f\u0441\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f  <\/p>\n<pre><code>static if(is(typeof(*receiver) == ...)) {     *receiver=to!(typeof(*receiver))(val); <\/code><\/pre>\n<p> \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u00ab\u0435\u0441\u043b\u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0447\u0442\u043e-\u043b\u0438\u0431\u043e, \u043f\u043e\u043f\u044b\u0442\u0430\u0439\u0441\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043a \u044d\u0442\u043e\u043c\u0443 \u0442\u0438\u043f\u0443 \u0438 \u043f\u0440\u0438\u0441\u0432\u043e\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044e\u00bb.<br \/>  \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u043d\u0430 <b>bool<\/b>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u0438\u043c\u0435\u0442\u044c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430; \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u044b, \u0433\u0434\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0443; \u0430 \u0442\u0430\u043a\u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043b\u044f\u043c\u0431\u0434\u0430-\u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u043e\u0434\u0438\u043d, \u0434\u0432\u0430 \u0438\u043b\u0438 \u043d\u0435 \u0438\u043c\u0435\u0442\u044c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0441\u0435\u043b\u0435\u043a\u0442\u043e\u0440 \u0432\u044b\u0431\u043e\u0440\u0430 \u0442\u0438\u043f\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:  <\/p>\n<pre><code>        static if(is(typeof(receiver(&quot;&quot;, &quot;&quot;)) : void)) {             receiver(option, val);         } else static if(is(typeof(receiver(&quot;&quot;)) : void)) {             receiver(option);         } else {             static assert(is(typeof(receiver()) : void));             receiver();         } <\/code><\/pre>\n<p>  \u042d\u0442\u043e \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f <i>is(T)<\/i>, \u043e\u043d \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a <i>true<\/i> \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0422 \u2014 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0442\u0438\u043f. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043d \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043d\u0430 \u0442\u0438\u043f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0430\u043c\u0438 <i>(*receiver)(), (*receiver)(&quot;&quot;) \u0438\u043b\u0438 (*receiver)(&quot;&quot;,&quot;&quot;)<\/i>, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u0430\u044f \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0442\u0438\u043f \u0442\u043e\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0438\u043d\u0430\u0447\u0435 \u2014 <i>SFINAE<\/i>. (<i>void<\/i> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u043c \u0442\u0438\u043f\u043e\u043c)<br \/>  \u041f\u043e\u043b\u0435\u0437\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0440\u043e\u043c D \u0438\u0437 \u043c\u043e\u0434\u0443\u043b\u044f <i>std.conv<\/i>: <i>to!(T)(&#038;ltlexical&#038;gt)<\/i>, \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u0434\u043e\u0431\u043d\u043e <i>boost::lexical_cast<\/i> \u043d\u043e \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043d\u0435\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0434\u0430\u0436\u0435 \u0441\u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 <i>enum<\/i> \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 D \u0431\u0435\u0437\u0437\u0430\u0441\u0442\u0435\u043d\u0447\u0438\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0447\u0442\u043e \u043c\u044b \u0438 \u0432\u0438\u0434\u0438\u043c \u0432 \u043a\u043e\u0434\u0435 \u0432\u044b\u0448\u0435.<br \/>  \u0412\u043e\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438 \u0432\u0441\u0435, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 400 \u0437\u043d\u0430\u0447\u0438\u043c\u044b\u0445 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u043a\u043e\u0434\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043f\u0440\u0438\u0447\u0435\u043c \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0447\u0435\u043d\u044c \u0442\u0440\u0443\u0434\u043d\u043e, \u0435\u0441\u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 C++. \u041d\u0443 \u0430 \u043c\u044b \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0438\u043f\u0430\u043c\u0438 \u0432 D \u2014 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u0442\u0438\u043f\u0430 \u0438 \u0432\u0435\u0442\u043a\u0438 \u043a\u043e\u0434\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0435\u0439 \u0442\u0438\u043f\u043e\u0432. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0442\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0439 D \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c, \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0435\u0441\u0442\u044c \u043e\u0433\u0440\u043e\u043c\u043d\u0430\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u0441\u0442\u0430\u0442\u0435\u0439 \u043d\u0430 \u0441\u0430\u043c\u044b\u0435 \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0435\u043c\u044b. \u042f \u043d\u0438\u043a\u043e\u0433\u043e \u043d\u0435 \u043f\u0440\u0438\u0437\u044b\u0432\u0430\u044e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 D \u0438\u043b\u0438 \u0443\u0447\u0438\u0442\u044c D, \u043d\u043e \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b\u0430\u0441\u044c \u0438\u0441\u043a\u043e\u0440\u043a\u0430 \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u0441\u0442\u0432\u0430 \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430 \u043a \u043d\u043e\u0432\u043e\u043c\u0443 \u2014 \u044d\u0442\u043e \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e \u0442\u043e\u0442 \u044f\u0437\u044b\u043a \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0445\u043e\u0442\u044f \u0431\u044b \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u043d\u043e.<\/p>\n<h3>\u041a\u0440\u0438\u0442\u0438\u043a\u0430 \u0447\u0438\u0441\u0442\u043e\u0433\u043e \u0440\u0430\u0437\u0443\u043c\u0430<\/h3>\n<p>\u041d\u0435 \u043c\u043e\u0433\u0443 \u043e\u0434\u043d\u0430\u043a\u043e \u0443\u0434\u0435\u0440\u0436\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u043a\u0440\u0438\u0442\u0438\u043a\u0438, \u043a\u043e\u0435-\u0447\u0442\u043e \u0432 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043d\u0435 \u0440\u0435\u0448\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f. \u041f\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u043c\u0443 \u0441\u0447\u0435\u0442\u0443 \u043a \u0441\u0430\u043c\u043e\u043c\u0443 \u044f\u0437\u044b\u043a\u0443 \u044d\u0442\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043d\u0435 \u0438\u043c\u0435\u0435\u0442, \u0442\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e \u043e\u0431\u0441\u0443\u0434\u0438\u0442\u044c \u0441 \u043e\u0431\u0449\u0438\u0445 \u043f\u043e\u0437\u0438\u0446\u0438\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<br \/>  \u0412\u043e \u043f\u0435\u0440\u0432\u044b\u0445, \u0434\u0430\u043d\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0434\u0435\u043b\u0430\u043d\u0430 <b>\u043e\u0434\u043d\u043e\u043f\u0440\u043e\u0445\u043e\u0434\u043d\u043e\u0439<\/b>, \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u043f\u0446\u0438\u044f \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u0438 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0445\u043e\u0434 \u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, \u043f\u0435\u0440\u0432\u043e\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0435\u0442 \u0446\u0438\u043a\u043b. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442 \u0447\u0442\u043e \u0432\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c <i>-qqq<\/i> \u043a\u0430\u043a \u0441\u0438\u043d\u043e\u043d\u0438\u043c \u0434\u043b\u044f \u00ab\u0442\u0438\u0448\u0435, \u0442\u0438\u0448\u0435, \u0435\u0449\u0435 \u0442\u0438\u0448\u0435\u00bb, \u0438\u043b\u0438 <i>&#8212;map A=1 &#8212;map B=2 &#8212;map C=3<\/i> \u0432\u043c\u0435\u0441\u0442\u043e <i>&#8212;map A=1,B=2,C=3<\/i>. \u042d\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f \u043d\u0435 \u0431\u0430\u0433, \u043e\u0434\u043d\u0430\u043a\u043e \u043d\u0430\u0440\u0443\u0448\u0430\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043b\u043e\u0436\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u043a\u043e\u043d\u0432\u0435\u043d\u0446\u0438\u0438 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 <i>getopt()<\/i> \u0438 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0432\u0438\u0434\u0435\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435.<br \/>  \u0412\u043e \u0432\u0442\u043e\u0440\u044b\u0445, \u0438 \u044d\u0442\u043e \u0443\u0436\u0435 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0435\u043a\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0441 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u043c\u043e\u0449\u044c\u044e, \u0442\u043e \u0447\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u043a\u043b\u044e\u0447\u0438\u043a\u0443 <i>-h|&#8212;help<\/i>, \u043e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u0430 \u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f <b>\u0431\u0440\u043e\u0441\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/b> \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0448\u0438\u0431\u043a\u0438. \u0422\u043e \u0435\u0441\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0443 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0443\u0436\u0435 \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0430\u043c \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. \u0412\u043e\u043e\u0431\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u044d\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u0442\u043e\u0439 \u0436\u0435 \u043e\u0434\u043d\u043e\u043f\u0440\u043e\u0445\u043e\u0434\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438. <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">UPD: \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0435\u0441\u043a\u0443 \u0447\u0438\u0442\u0430\u0435\u0442 \u0425\u0430\u0431\u0440?<\/b><\/p>\n<div class=\"spoiler_text\">\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u0435 \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e, \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u043b \u0431\u044b \u044f, \u043d\u043e \u0442\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435.<\/div>\n<\/div>\n<p> \u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u0435\u0449\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u043b\u043a\u0438\u0445 \u043d\u0435\u0434\u043e\u0447\u0435\u0442\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0443 \u043e\u043f\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0433\u043e\u0434\u043d\u043e \u0441\u0438\u043d\u043e\u043d\u0438\u043c\u043e\u0432, \u043d\u043e \u0432 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0443 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0432\u0430 \u043f\u0435\u0440\u0432\u044b\u0445: \u0432 \u043e\u043f\u0446\u0438\u0438 <i>\u00abx|abscissa|initialX\u00bb<\/i> \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u0432 \u0432\u043a\u043e\u0434. \u041d\u0443 \u0438 \u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0440\u0430\u0437\u0434\u0440\u0430\u0436\u0430\u044e\u0449\u0438\u0435 \u043c\u0435\u043b\u043e\u0447\u0438.<br \/>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0443\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0433\u0434\u0435 \u043f\u043e\u0444\u0438\u043a\u0441\u0438\u043b \u044d\u0442\u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438 \u0438 \u043d\u0430\u0434\u0435\u043b\u0430\u043b \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0432\u043e\u0438\u0445 \u043d\u0430\u0432\u043e\u0440\u043e\u0442\u043e\u0432 (\u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0443\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u044f), \u0432 \u043e\u0431\u0449\u0435\u043c \u0440\u0430\u0437\u0432\u043b\u0435\u043a\u0430\u043b\u0441\u044f \u043a\u0430\u043a \u0445\u043e\u0442\u0435\u043b.  <\/p>\n<h3>\u0417\u0434\u0435\u0441\u044c \u0431\u044b\u043b \u043c\u043e\u0439 \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434! \u0413\u0434\u0435 \u043c\u043e\u0439 \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434?<\/h3>\n<p> \u0410 \u043d\u0435\u0442\u0443, \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 \u0442\u0435\u043f\u0435\u0440\u044c <a href=\"https:\/\/github.com\/sdegtiarev\/getopt\">\u0432\u043e\u043e\u043d \u0442\u0430\u043c<\/a>, \u0431\u044b\u0432\u0430\u0435\u0442. \u042f \u0440\u0435\u0448\u0438\u043b \u0447\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u044d\u043a\u0441\u043a\u0443\u0440\u0441\u043e\u0432\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u043d\u0430\u0442\u044c \u0433\u0434\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f, \u0442\u0430\u043a \u0447\u0442\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u044d\u043a\u0441\u043a\u0443\u0440\u0441\u0438\u044f \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f.<br \/>  \u041d\u0430\u0434\u0435\u044e\u0441\u044c \u0431\u044b\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e<\/p>\n<h3>\u0411\u0438\u0431\u043b\u0438\u043e\u0433\u0440\u0430\u0444\u0438\u044f<\/h3>\n<p> \u041f\u0435\u0440\u0432\u044b\u0435 \u0442\u0440\u0438 \u043a\u043d\u0438\u0433\u0438 \u044f \u0447\u0438\u0442\u0430\u043b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0432\u043e\u0436\u0443 \u043a\u0430\u0436\u0434\u0443\u044e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043d\u043e\u043c\u0435\u0440\u043e\u043c. \u041e\u043d\u0438 \u0432\u0441\u0435 \u0445\u043e\u0440\u043e\u0448\u0438, \u043d\u043e \u043d\u0438 \u043e\u0434\u043d\u0430 \u043d\u0430 \u043c\u043e\u0439 \u0432\u043a\u0443\u0441 \u043d\u0435 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0447\u0438\u0442\u0430\u043b \u0431\u0443\u0442\u0435\u0440\u0431\u0440\u043e\u0434\u0438\u043a\u043e\u043c \u2014 \u0433\u043b\u0430\u0432\u0430 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0433\u043b\u0430\u0432\u044b \u0438\u0437 \u0434\u0432\u0443\u0445 \u0434\u0440\u0443\u0433\u0438\u0445.  <\/p>\n<ol>\n<li><a href=\"http:\/\/ddili.org\/ders\/d.en\/index.html\">\u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0435\u0440\u0432\u0430\u044f \u043a\u043d\u0438\u0433\u0430 \u043f\u043e D<\/a><\/li>\n<li><a href=\"http:\/\/www.amazon.com\/D-Programming-Language-Andrei-Alexandrescu\/dp\/0321635361\">\u041a\u043d\u0438\u0433\u0430 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0435\u0441\u043a\u0443<\/a><\/li>\n<li><a href=\"https:\/\/www.packtpub.com\/application-development\/d-cookbook\">\u041e\u0447\u0435\u043d\u044c \u043d\u0435\u043f\u043b\u043e\u0445\u043e\u0439 cookbook<\/a><\/li>\n<li><a href=\"https:\/\/wiki.dlang.org\/Books\">\u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043d\u0430 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043a\u043d\u0438\u0433\u0438 \u043f\u043e D<\/a><\/li>\n<li><a href=\"http:\/\/dlang.org\/articles.html\">\u041a\u0443\u0447\u0430 \u0441\u0442\u0430\u0442\u0435\u0439, \u0435\u0449\u0435 \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0447\u0435\u043c \u043a\u043d\u0438\u0433\u0438, \u043d\u043e \u043a\u0430\u0436\u0434\u0430\u044f \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0442\u0435\u043c\u0443<br \/>  <\/a><\/li>\n<li><a href=\"http:\/\/wiki.dlang.org\/The_D_Programming_Language\">Wiki, \u0442\u0430\u043a \u0436\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u044c\u0438, \u043d\u043e \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e \u043d\u0430\u0434\u043e \u0437\u043d\u0430\u0442\u044c \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u0449\u0435\u0448\u044c<br \/>  <\/a><\/li>\n<li><a href=\"http:\/\/dlang.org\/\">\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u0430\u0439\u0442 D<\/a><\/li>\n<li><a href=\"http:\/\/dlang.ru\/\">\u0420\u0443\u0441\u0441\u043a\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0442\u043e\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442<\/a><\/li>\n<li><a href=\"http:\/\/dlang.org\/phobos\/\">\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043d\u0430 github. \u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 getopt() \u0442\u0430\u043c \u0436\u0435.<br \/>  <\/a><\/li>\n<\/ol>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/263515\/\"> https:\/\/habrahabr.ru\/post\/263515\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/2ce\/c1c\/63c\/2cec1c63c4d442efa4950c53e17a6fdd.png\" align=\"left\"\/> \u041f\u0440\u0438\u0432\u0435\u0442 \u0425\u0430\u0431\u0440, \u0445\u043e\u0447\u0443 \u043f\u0440\u0438\u0433\u043b\u0430\u0441\u0438\u0442\u044c \u0432\u0441\u0435\u0445 \u043d\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u044d\u043a\u0441\u043a\u0443\u0440\u0441\u0438\u044e \u043f\u043e \u044f\u0437\u044b\u043a\u0443 D. \u0417\u0430\u0447\u0435\u043c? \u041d\u0443 \u0437\u0430\u0447\u0435\u043c \u043b\u044e\u0434\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0430 \u044d\u043a\u0441\u043a\u0443\u0440\u0441\u0438\u0438 \u0445\u043e\u0434\u044f\u0442 \u2014 \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0432\u043b\u0435\u0447\u044c\u0441\u044f, \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043d\u043e\u0432\u043e\u0435 \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u2014 \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e. D \u0442\u0440\u0443\u0434\u043d\u043e \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u043c \u0438\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043c\u043e\u043b\u043e\u0434\u044b\u043c, \u043e\u0434\u043d\u0430\u043a\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043f\u0430\u0440\u0443 \u043b\u0435\u0442 \u0448\u043b\u043e \u0431\u0443\u0440\u043d\u043e\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435, \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u0448\u0435\u043b <a href=\"http:\/\/erdani.com\/\">\u0410\u043d\u0434\u0440\u0435\u0439 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0435\u0441\u043a\u0443<\/a> \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u0441\u0442\u0430\u043b \u0432\u0435\u0434\u0443\u0449\u0438\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c, \u0441 \u0435\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u0442\u044c \u0442\u0440\u0435\u043d\u0434\u044b \u043e\u043d \u0432\u043d\u0435\u0441 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 \u0432\u043a\u043b\u0430\u0434 \u0432 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u0441\u0430\u043c\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443. <br \/>  \u0421 \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f D \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u043a\u0430\u043a \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u044b\u0439 C++ (\u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u0432 \u043c\u043e\u0435\u043c \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0438). \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0438 \u0432\u043d\u0435\u0441\u0442\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0438\u0445 \u0442\u043e \u043d\u043e\u0432\u043e\u0435, \u0447\u0442\u043e \u043d\u0435 \u043c\u043e\u0433\u043b\u043e \u0431\u044b\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0432 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u043c C++, \u0438 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0431\u0435\u0440\u0435\u0436\u043d\u043e\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440, \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0421, \u0434\u0435\u043b\u0430\u044e\u0442 D \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0435\u043d\u0442\u043e\u043c \u043d\u0430 \u0437\u0432\u0430\u043d\u0438\u0435 \u00ab\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0432 \u0440\u044f\u0434\u0443 C \u2014 C++ \u2014 &#8230;\u00bb. \u041d\u0443 \u044d\u0442\u043e \u0441 \u043c\u043e\u0435\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f, \u0441\u0430\u043c \u044f (\u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u0432\u0435\u0436\u043b\u0438\u0432\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u00ab\u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e\u00bb) \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043c\u043e\u043d\u043e\u044f\u0437\u044b\u0447\u0435\u043d, \u043c\u043d\u043e\u0433\u043e \u043b\u0435\u0442 \u043f\u0438\u0448\u0443 \u043d\u0430 C++ \u0438 \u043b\u044e\u0431\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u043a\u0440\u0435\u043f\u043a\u0438\u043c \u0437\u0434\u043e\u0440\u043e\u0432\u044b\u043c \u0441\u043d\u043e\u043c. \u041e\u0434\u043d\u0430\u043a\u043e \u044f \u0441\u043b\u044b\u0448\u0430\u043b \u043e\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u0435\u0439 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043e\u043d\u0444\u0435\u0441\u0441\u0438\u0439 \u0447\u0442\u043e D \u0434\u043b\u044f \u043d\u0438\u0445 \u0442\u043e\u0436\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u043a\u0430\u043a \u044f\u0437\u044b\u043a, \u0442\u0430\u043a \u0447\u0442\u043e \u043d\u0430 \u044d\u043a\u0441\u043a\u0443\u0440\u0441\u0438\u044e \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e \u0432\u0441\u0435\u0445.<br \/>  \u0427\u0442\u043e \u044f \u0431\u0443\u0434\u0443 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c? \u041f\u043e D \u0443\u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e <a href=\"https:\/\/wiki.dlang.org\/Books\">\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u0438\u0445 \u043a\u043d\u0438\u0433<\/a>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0437\u044f\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e <i>getopt()<\/i> \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0435\u0435 \u043a\u043e\u0434, \u043d\u0435\u043e\u0446\u0435\u043d\u0438\u043c\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0435 \u043e\u0436\u0438\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u0435 \u0432 \u043a\u043d\u0438\u0433\u0430\u0445. \u041f\u043e\u0447\u0435\u043c\u0443 \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e? \u041d\u0443, \u043e\u043d\u0430 \u0436\u0435 \u0432\u0441\u0435\u043c \u0437\u043d\u0430\u043a\u043e\u043c\u0430 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0430, \u044f \u043b\u0438\u0447\u043d\u043e \u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e 3-4 \u0440\u0430\u0437\u0430 \u0432 \u043d\u0435\u0434\u0435\u043b\u044e \u0438 \u0432 \u0434\u0435\u0442\u0430\u043b\u044f\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u043a\u0430\u043a \u043e\u043d\u0430 \u043c\u043e\u0433\u043b\u0430 \u0431\u044b \u0431\u044b\u0442\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 3-\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0430\u0432\u0442\u043e\u0440\u043e\u043c \u043a\u043e\u0434\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0441\u044f \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0435\u0441\u043a\u0443, \u044f \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437 \u0432\u0438\u0434\u0435\u043b <i>\u0443\u0447\u0435\u0431\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b<\/i> \u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u0432 \u043a\u043d\u0438\u0433\u0430\u0445 \u0438 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u0438\u0434\u0435\u043b \u043a\u043e\u0434\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e <i>\u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d<\/i>, \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e \u0436\u0435. \u0412 \u043a\u043e\u043d\u0446\u0435 \u044f \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435 \u043d\u0435 \u0443\u0434\u0435\u0440\u0436\u0430\u043b\u0441\u044f \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0441\u0432\u043e\u0439 \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 (\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u044b\u0439), \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0443\u043c\u0435\u0441\u0442\u043d\u043e \u0438 \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0447\u0435\u043c \u0440\u0430\u0437\u0431\u043e\u0440 \u0447\u0443\u0436\u043e\u0433\u043e \u043a\u043e\u0434\u0430.<br \/>  \u0423\u0432\u0438\u0434\u0438\u043c \u043c\u044b \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 \u0438\u0437 \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0431\u044b \u0441\u0442\u043e\u0438\u043b\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0434\u0430 \u0438 \u0441\u0430\u043c \u044f \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0441\u0430\u043c\u0438 \u043a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0441\u0441\u044b\u043b\u043a\u0438 \u0432 \u043a\u043e\u043d\u0446\u0435.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-276110","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/276110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=276110"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/276110\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=276110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=276110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=276110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}