-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathchapter24.po
814 lines (761 loc) · 36.7 KB
/
chapter24.po
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
#
# NuINu <don't@send.my>, 2020.
#
#. extracted from in/chapter24.html
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-19 13:51+0300\n"
"PO-Revision-Date: 2020-06-12 20:00+0300\n"
"Last-Translator: NuINu <don't@send.my>\n"
"Language-Team: Russian <don't@send.my>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Gtranslator 2.91.7\n"
"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : "
"4;\n"
#: in/chapter24.html:5
msgid ""
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/"
"html4/strict.dtd\">\n"
"<html><head>\n"
"<title>Successful Lisp - Chapter 24</title>\n"
"</head> "
msgstr ""
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/"
"html4/strict.dtd\">\n"
"<html><head>\n"
"<META http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n"
"<title>Successful Lisp - Chapter 24</title>\n"
"</head> "
#: in/chapter24.html:8
msgid ""
"<body bgcolor=\"white\" text=\"black\">\n"
"<h1>Chapter 24 - FORMAT Speaks a Different Language</h1> "
msgstr ""
"<body bgcolor=\"white\" text=\"black\">\n"
"<h1>Глава 24 - FORMAT Говорит на другом языке</h1> "
#: in/chapter24.html:13
msgid ""
"<P>Throughout this book, we've shown some simple uses of <code>FORMAT</"
"code> \n"
"without explanation. In this chapter, we'll inventory and describe \n"
"<code>FORMAT</code>'s most useful capabilities, and a few of its more\n"
"esoteric features."
msgstr ""
"<P>На протяжении всей этой книги мы показали некоторые простые способы \n"
"использования <code>FORMAT</code> без объяснения причин. В этой главе \n"
"мы проведем инвентаризацию и опишем наиболее полезные возможности "
"<code>FORMAT</code>,\n"
"а также некоторые из его наиболее эзотерических особенностей."
#: in/chapter24.html:15
msgid "<h2>FORMAT rhymes with FORTRAN, sort of...</h2>"
msgstr "<h2>FORMAT рифмуется с FORTRAN, вроде как...</h2>"
#: in/chapter24.html:29
msgid ""
"<p><code>FORMAT</code> appears to have been inspired by FORTRAN's\n"
"varied and capable function of the same name. But Lisp's\n"
"<code>FORMAT</code> implements a programming language in its own\n"
"right, designed expressly for the purposes of formatting textual\n"
"output. <code>FORMAT</code> can print data of many types, using\n"
"various decorations and embellishments. It can print numbers as\n"
"words or -- for you movie buffs -- as Roman numerals. Columnar\n"
"output is a breeze with <code>FORMAT</code>'s facilities for\n"
"iterating over lists and advancing to specific positions on an\n"
"output line. You can even make portions of the output appear\n"
"differently depending upon the formatted variables. This chapter\n"
"covers a representative portion of what <code>FORMAT</code> can do;\n"
"you should consult a Lisp reference to get the full story."
msgstr ""
"<p><code>FORMAT</code> по-видимому, был вдохновлен разнообразной и \n"
"мощной функцией FORTRAN с тем же названием. Но <code>FORMAT</code> Lisp \n"
"реализует свой собственный язык программирования, разработанный специально \n"
"для целей форматирования текстового вывода. <code>FORMAT</code> позволяет \n"
"печатать данные многих типов, используя различные убранства и украшения. \n"
"Он может печатать числа в виде слов или- для вас, любителей кино - в виде \n"
"римских цифр. Вывод столбцами - это (breeze)бриз с возможностями "
"<code>FORMAT</code> \n"
"для итерации по спискам и продвижения к определенным позициям в выходной "
"строке. \n"
"Вы даже можете сделать так, чтобы части выходных данных отображались по-"
"разному в\n"
"зависимости от форматированных переменных. Эта глава охватывает "
"репрезентативную \n"
"часть того, что может сделать <code>FORMAT</code>; вы должны обратиться к "
"ссылке \n"
"Lisp, чтобы получить полную историю."
#: in/chapter24.html:31
msgid "<h2>Formatting</h2>"
msgstr "<h2>Форматирование</h2>"
#: in/chapter24.html:35
msgid ""
"<p><code>FORMAT</code> expects a destination argument, a format\n"
"control string, and a list of zero or more arguments to be used by\n"
"the control string to produce formatted output. "
msgstr ""
"<p><code>FORMAT</code> предполагает, что аргумент "
"назначение(destination), \n"
"управляющая строка формата и список из нуля или более аргументов будут "
"использоваться \n"
"управляющей строкой для получения форматированных выходных данных.\n"
#: in/chapter24.html:40
msgid ""
"<p>Output goes to a location determined by the destination argument.\n"
"If the destination is <code>T</code>, output goes to\n"
"<code>*STANDARD-OUTPUT*</code>. The destination can also be a\n"
"specific output stream."
msgstr ""
"<p>\n"
"Выходные данные отправляются в место, определяемое аргументом \n"
"назначения(destination). Если назначением является <code>T</code>, \n"
"то вывод идет в <code>*STANDARD-OUTPUT*</code>. Конечным пунктом также \n"
"может быть определенный поток вывода."
#: in/chapter24.html:45
msgid ""
"<p>There are two ways <code>FORMAT</code> can send output to a string.\n"
"One is to specify <code>NIL</code> for the destination: <code>FORMAT</"
"code> \n"
"will return a string containing the formatted output. The other way is to\n"
"specify a string for the destination; the string must have a fill pointer."
msgstr ""
"<p>\n"
"Существует два способа, с помощью которых <code>FORMAT</code> может "
"отправлять \n"
"выходные данные в строку. Один из них-указать <code>NIL</code> для "
"назначения: \n"
"<code>FORMAT</code> вернет строку, содержащую форматированный вывод. Другой "
"способ\n"
"- указать в качестве назначения стороку; строка должна иметь указатель "
"заполнения\n"
"(fill pointer)."
#: in/chapter24.html:72
msgid ""
"<pre>\n"
"? (defparameter *s* \n"
" (make-array 0 \n"
" :element-type 'character \n"
" :adjustable t \n"
" :fill-pointer 0))\n"
"\"\"\n"
"? (format *s* \"Hello~%\")\n"
"NIL\n"
"? *s*\n"
"\"Hello\n"
"\"\n"
"? (format *s* \"Goodbye\")\n"
"NIL\n"
"? *s*\n"
"\"Hello\n"
"Goodbye\"\n"
"? (setf (fill-pointer *s*) 0)\n"
"0\n"
"? *s*\n"
"\"\"\n"
"? (format *s* \"A new beginning\")\n"
"NIL\n"
"? *s*\n"
"\"A new beginning\"\n"
"</pre> "
msgstr ""
#: in/chapter24.html:78
msgid ""
"<p>The call to <code>MAKE-ARRAY</code> with options as shown above creates\n"
"an empty string that can expand to accommodate new output. As you can see,\n"
"formatting additional output to this string appends the new output to "
"whatever\n"
"is already there. To empty the string, you can either reset its fill "
"pointer\n"
"(as shown) or create a new emtpy string."
msgstr ""
"<p>\n"
"Вызов <code>MAKE-ARRAY</code> с опциями, как показано выше, создает пустую "
"строку, \n"
"которая может расширяться для размещения новых выходных данных. Как вы "
"можете видеть,\n"
"форматирование дополнительного вывода к этой строке добавляет новый вывод к "
"тому, что \n"
"уже есть. Чтобы очистить строку, вы можете либо сбросить ее указатель "
"заполнения \n"
"(fill pointer) (как показано на рисунке), либо создать новую пустую строку.\n"
#: in/chapter24.html:81
msgid ""
"<p><code>FORMAT</code> returns <code>NIL</code> except when the destination\n"
"is <code>NIL</code>."
msgstr ""
"<p><code>FORMAT</code> возвращает <code>NIL</code>, за исключением "
"случаев, \n"
"когда адресат равен <code>NIL</code>."
#: in/chapter24.html:84
msgid ""
"<p>The format control string contains literal text and formatting "
"directives.\n"
"Directives are always introduced with a <code>~</code> character."
msgstr ""
"<p>\n"
"Строка управления format содержит литеральный текст и директивы "
"форматирования. \n"
"Директивы всегда вводятся с символьным знаком <code>~</code>."
#: in/chapter24.html:112
msgid ""
"<pre>\n"
" Directive Interpretation\n"
" --------- --------------\n"
" ~% new line\n"
" ~& fresh line\n"
" ~| page break\n"
" ~T tab stop\n"
" ~< justification\n"
" ~> terminate ~<\n"
" ~C character\n"
" ~( case conversion\n"
" ~) terminate ~(\n"
" ~D decimal integer\n"
" ~B binary integer\n"
" ~O octal integer\n"
" ~X hexadecimal integer\n"
" ~bR base-b integer\n"
" ~R spell an integer\n"
" ~P plural\n"
" ~F floating point\n"
" ~E scientific notation\n"
" ~G ~F or ~E, depending upon magnitude\n"
" ~$ monetary\n"
" ~A legibly, without escapes\n"
" ~S READably, with escapes\n"
" ~~ ~\n"
"</pre> "
msgstr ""
"<pre>\n"
" Directive Interpretation\n"
" --------- --------------\n"
" ~% new line(новая строка)\n"
" ~& fresh line(свежая строка)\n"
" ~| page break(разрыв страницы)\n"
" ~T tab stop(табуляция)\n"
" ~< justification(основание/выравнивание)\n"
" ~> terminate(завершение) ~<\n"
" ~C character(символьный знак)\n"
" ~( case conversion(преобразование регистра)\n"
" ~) terminate(завершение) ~(\n"
" ~D decimal integer(десятичное целое)\n"
" ~B binary integer(двоичное целое)\n"
" ~O octal integer(восмеричное целое)\n"
" ~X hexadecimal integer(шестнадцатеричное целое)\n"
" ~bR base-b integer (целое по основанию base-b)\n"
" ~R spell an integer( пишется целое число)\n"
" ~P plural(множество)\n"
" ~F floating point(число с плавающей запятой)\n"
" ~E scientific notation(научная запись)\n"
" ~G ~F или ~E, в зависимости от величины magnitude()\n"
" ~$ monetary(денежный формат)\n"
" ~A legibly, without escapes(разборчиво, без знаков "
"экранирования)\n"
" ~S READably, with escapes(читаемо, со знаками экранирования)\n"
" ~~ ~ (просто печатается тильда)\n"
"</pre> "
#: in/chapter24.html:120
msgid ""
"<p>The first few directives in the table above are for generating "
"whitespace.\n"
"A <code>~%</code> directive inserts a newline character. <code>~&</"
"code> \n"
"inserts a newline only if <code>FORMAT</code> output is not already at the\n"
"beginning of a new line. <code>~|</code> generates a page break character;\n"
"not all devices are capable of responding to this character. You can cause\n"
"<code>FORMAT</code> to emit multiple line or page breaks by using an "
"optional\n"
"argument, as in <code>~5%</code> which generates five newlines."
msgstr ""
"<p>\n"
"Первые несколько директив в приведенной выше таблице предназначены \n"
"для создания пропусков. Директива <code>~%</code> вставляет знак \n"
"новой строки. <code>~&</code> вставляет знак новой строку только \n"
"в том случае, если вывод <code>FORMAT</code> еще не находится в начале \n"
"новой строки. <code>~|</code> генерирует знак разрыва страницы; не все \n"
"устройства способны реагировать на этот знак. Вы можете заставить \n"
"<code>FORMAT</code> выдавать несколько разрывов строк или страниц, \n"
"используя необязательный аргумент, например <code>~5%</code>, который \n"
"генерирует пять новых строк.\n"
#: in/chapter24.html:123
msgid ""
"<p>To advance output to column <i>n</i> by inserting spaces, use \n"
"<code>~</code><i>n</i><code>T</code>."
msgstr ""
"<p>Чтобы продвинуть вывод в столбец <i>n</i> путем вставки \n"
"пропусков, используйте <code>~</code><i>n</i><code>T</code>."
#: in/chapter24.html:130
msgid ""
"<p>You can justify output using <code>~<</code> and <code>~></code> "
"to\n"
"enclose the output to be justified. \n"
"<code>~</code><code>w</code><code><</code><i>text</i><code>~></code>\n"
"right-justifies <i>text</i> in a field of width <i>n</i>. If you segment\n"
"<i>text</i> using <code>~;</code> as a separator, the segments will be\n"
"evenly distributed across the field of width <i>w</i>."
msgstr ""
"<p>\n"
"Вы можете выровнять выходные данные, используя <code>~<</code> и \n"
"<code>~></code>, чтобы вложить выходные данные, подлежащие выравниванию.\n"
"<code>~</code><code>w</code><code><</code><i>text</i><code>~></code> \n"
"правое выравнивание текста в поле ширины <i>n</i>. Если вы разбиваете/"
"сегментируете\n"
"текст с помощью <code>~;</code> в качестве разделителя, сегменты будут "
"равномерно\n"
"распределены по полю ширины <i>w</i>.\n"
#: in/chapter24.html:134
msgid ""
"<p><code>~C</code> formats a character. Normally, the character\n"
"formats as itself. However, if you modify the directive to <code>~:C</"
"code>,\n"
"then non-printable characters are spelled out."
msgstr ""
"<p>\n"
"<code>~C</code> формат символьного знака. Обычно этот знак форматирует \n"
"себя сам. Однако если вы измените директиву на <code>~:C</code>, то будут \n"
"выведены имена непечатаемых символов."
#: in/chapter24.html:139
msgid ""
"<pre>\n"
"? (format nil \"~:C\" 7) <i>;; 7 is ASCII BEL</i> \n"
"\"Bell\"\n"
"</pre> "
msgstr ""
#: in/chapter24.html:149
msgid ""
"<p>You can change the alphabetic case by enclosing output in\n"
"<code>~(</code> and <code>~)</code>. Different forms of the\n"
"directive produce different results.\n"
"<code>~(</code><i>text</i><code>~)</code> converts <i>text</i> to\n"
"lower case. <code>~:@(</code><i>text</i><code>~)</code> converts\n"
"<i>text</i> to upper case.\n"
"<code>~:(</code><i>text</i><code>~)</code> capitalizes each word in\n"
"<i>text</i>. <code>~@(</code><i>text</i><code>~)</code> capitalizes\n"
"the first word in <i>text</i> and converts the rest to lower case."
msgstr ""
"<p>\n"
"Вы можете изменить регистр у буквенных знаков, заключив выходные данные \n"
"в <code>~(</code> и <code>~)</code>. Различные формы директивы приводят \n"
"к различным результатам. <code>~(</code><i>text</i><code>~)</code> "
"преобразует \n"
"<i>text</i> в нижний регистр. <code>~:@(</code><i>text</i><code>~)</code>\n"
"преобразует <i>text</i> в верхний регистр. \n"
"<code>~:(</code><i>text</i><code>~)</code> делает заглавной начальную букву\n"
"каждого слова в <i>text</i>. <code>~@(</code><i>text</i><code>~)</code> \n"
"делает заглавной начальную букву первого слова в <i>text</i> и преобразует \n"
"остальные в нижний регистр."
#: in/chapter24.html:160
msgid ""
"<p>The <code>~D</code> directive formats an integer as decimal\n"
"digits with a leading minus sign if the number is negative.\n"
"<code>~</code><i>w</i><code>D</code> right-justifies the output in a\n"
"field of width <i>w</i>, padding on the left with spaces.\n"
"<code>~</code><i>w</i><code>,'</code><i>c</i><code>D</code> pads on the\n"
"left with the character <i>c</i>. Adding the <code>@</code> modifier\n"
"immediately after the <code>~</code> causes a leading plus sign to\n"
"be emitted for positive numbers as well as the leading minus sign\n"
"that is always emitted for negative numbers. A <code>:</code> modifier\n"
"causes commas to be inserted between each group of three digits."
msgstr ""
"<p>\n"
"Директива <code>~D</code> форматирует целое число в виде десятичных цифр\n"
"с ведущим знаком минус, если число отрицательно. \n"
"<code>~</code><i>w</i><code>D</code> - выравнивает справа вывод в поле\n"
"с шириной <i>w</i>, заполняя отступы слева с пробелами. \n"
"<code>~</code><i>w</i><code>,'</code><i>c</i><code>D</code> заполняет "
"слева \n"
"знаком <i>c</i>. Добавление модификатора <code>@</code> сразу после <code>~</"
"code>\n"
"приводит к тому, что печатается ведущий знак плюс для положительных чисел, а "
"также\n"
"ведущий знак минус, который всегда печатается для отрицательных чисел. "
"Модификатор\n"
"<code>:</code> вызывает вставку запятых между каждой группой из трех цифр.\n"
#: in/chapter24.html:165
msgid ""
"<p>You can format numbers in binary (base 2), octal (base 8) or\n"
"hexadecimal (base 16) radix using the directives <code>~B</code>,\n"
"<code>~O</code>, and <code>~X</code>, respectively. Except for the\n"
"radix, these behave exactly as <code>~D</code>."
msgstr ""
"<p>\n"
"Вы можете форматировать числа в двоичном (основание 2), восьмеричном \n"
"(основание 8) или шестнадцатеричном (основание 16) основаниях, используя \n"
"директивы <code>~B</code>, <code>~O</code>, и <code>~X</code> "
"соответственно. \n"
"За исключением основания, они ведут себя точно так, как <code>~D</code>.\n"
#: in/chapter24.html:172
msgid ""
"<p>The <code>~R</code> directive has two forms.\n"
"<code>~</code><i>b</i><code>R</code> prints an integer in base\n"
"<i>b</i>. The directive <code>~10R</code> is identical to\n"
"<code>~D</code>. Optional values should be specified following the\n"
"radix. For example, <i>~3,8R</i> prints a base-3 number in a field\n"
"of width 8."
msgstr ""
"<p>\n"
"Директива <code>~R</code> имеет две формы. <code>~</code><i>b</i><code>R</"
"code>\n"
"печатает целое число по основанию <i>b</i>. Директива <code>~10R</code> "
"идентична \n"
"<code>~D</code>. Необязательные значения должны быть указаны после "
"основания. \n"
"Например, <i>~3,8R</i> выводит число по основанию - 3 в поле шириной 8.\n"
#: in/chapter24.html:175
msgid ""
"<p>Without the radix specifier, <code>~R</code> spells out an integer as\n"
"a cardinal (counting) number in English."
msgstr ""
"<p>\n"
"Без спецификатора radix(основания) <code>~R</code> записывает целое число \n"
"как кардинальное (счетное) число на английском языке."
#: in/chapter24.html:182
msgid ""
"<pre>\n"
"? (format nil \"~R\" 7)\n"
"\"seven\"\n"
"? (format nil \"~R\" 376)\n"
"\"three hundred seventy-six\"\n"
"</pre> "
msgstr ""
#: in/chapter24.html:184
msgid "<p><code>~:R</code> spells out an ordinal (positional) number."
msgstr "<p><code>~:R</code> обозначает порядковый (позиционный) номер."
#: in/chapter24.html:189
msgid ""
"<pre>\n"
"? (format nil \"~:R\" 7)\n"
"\"seventh\"\n"
"</pre> "
msgstr ""
#: in/chapter24.html:191
msgid "<p>You can even print Roman numerals using <code>~@R</code>."
msgstr "<p>Вы даже можете печатать римские цифры с помощью <code>~@R</code>."
#: in/chapter24.html:196
msgid ""
"<pre>\n"
"? (format nil \"~@R\" 1999)\n"
"\"MCMXCIX\"\n"
"</pre> "
msgstr ""
#: in/chapter24.html:204
msgid ""
"<p>One of the hallmarks of professional-looking output is getting\n"
"plurals right. Lisp makes this easy with the <code>~P</code> format\n"
"directive. Unless its argument is 1, <code>~P</code> formats an \"s\".\n"
"<code>~@P</code> formats a \"y\" if its argument is 1, or an \"ies\" if\n"
"the argument is not 1. Since these operations so commonly follow the\n"
"printing of a number, <code>~:P</code> and <code>~:@P</code> reuse\n"
"the previously consumed argument."
msgstr ""
"<p>\n"
"Одним из отличительных признаков профессионально выглядящего результата \n"
"является правильное получение множественных чисел. Lisp делает это легко \n"
"с помощью директивы формата <code>~P</code>. Если его аргумент не равен 1, \n"
"<code>~P</code> форматирует букву \"s\". <code>~@P</code> форматирует \"y"
"\", \n"
"если его аргумент равен 1, или \"ies\", если аргумент не равен 1. \n"
"Поскольку эти операции так часто следуют за печатью числа,\n"
"<code>~:P</code> и <code>~:@P</code> повторно используют ранее \n"
"использованный аргумент."
#: in/chapter24.html:211
msgid ""
"<pre>\n"
"? (format nil \"~D time~:P, ~D fl~:@P\" 1 1)\n"
"\"1 time, 1 fly\"\n"
"? (format nil \"~D time~:P, ~D fl~:@P\" 3 4)\n"
"\"3 times, 4 flies\"\n"
"</pre> "
msgstr ""
#: in/chapter24.html:213
msgid "<p>You can print floating-point numbers in four different ways:"
msgstr ""
"<p>Вы можете печатать числа с плавающей запятой четырьмя \n"
"различными способами:"
#: in/chapter24.html:224
msgid ""
"<dl>\n"
"<dt><code>~F</code> \n"
"<dd>As a number with a decimal point, e.g. 723.0059\n"
"<dt><code>~E</code> \n"
"<dd>In scientific notation, e.g. 7.230059E+2\n"
"<dt><code>~G</code> \n"
"<dd>As the shorter of the above two representations, followed by a tab to "
"align columns\n"
"<dt><code>~$</code> \n"
"<dd>As a monetary value, e.g. 723.01\n"
"</dl> "
msgstr ""
"<dl>\n"
"<dt><code>~F</code> \n"
"<dd>Как число с десятичной точкой, например 723.0059\n"
"<dt><code>~E</code> \n"
"<dd>В научной записи, например 7.230059E+2\n"
"<dt><code>~G</code> \n"
"<dd>Как более короткое из двух приведенных выше представлений, за которым "
"следует \n"
"табуляция для выравнивания столбцов\n"
"<dt><code>~$</code> \n"
"<dd>Как денежное значение, например 723.01\n"
"</dl> "
#: in/chapter24.html:228
msgid ""
"<p>There are many options for printing floating point numbers. The most \n"
"common is the field-width specifier, which behaves as it does in the\n"
"<code>~D</code> directive."
msgstr ""
"<p>\n"
"Существует множество вариантов печати чисел с плавающей запятой. \n"
"Наиболее распространенным является спецификатор ширины поля, \n"
"который ведет себя так же, как и в директиве <code>~D</code>."
#: in/chapter24.html:239
msgid ""
"<p>Non-numeric Lisp data is printed using the <code>~A</code> and\n"
"<code>~S</code> directives. Use <code>~A</code> when you want to print\n"
"data in its most visually attractive form; that is, without the escape\n"
"characters that would let the data be read correctly by <code>READ</code>.\n"
"Using <code>~A</code>, strings are formatted without quotes, symbols are \n"
"formatted without package prefixes or escapes for mixed-case or blank \n"
"characters, and characters are printed as themselves. Using <code>~S</"
"code>,\n"
"every Lisp object is printed in such a way that <code>READ</code> can\n"
"reconstruct the object (unless, of course, the object does not have a\n"
"readable representation)."
msgstr ""
"<p>\n"
"Нечисловые данные Lisp печатаются с использованием директив <code>~A</code> "
"и\n"
"<code>~S</code>. Используйте <code>~A</code>, когда вы хотите напечатать "
"данные\n"
"в наиболее визуально привлекательной форме; то есть без escape-символов, "
"которые\n"
"позволили бы правильно читать данные используя <code>READ</code>. При "
"использовании\n"
"<code>~A</code> строки форматируются без кавычек, символы форматируются без "
"префиксов\n"
"пакетов или экранирования для смешанных регистров или пустых знаков, а "
"символьные\n"
"знаки печатаются как сами по себе. \n"
"Используя <code>~S</code>, каждый объект Lisp печатается таким образом, "
"что \n"
"<code>READ</code> может реконструировать объект (если, конечно, объект "
"имеет \n"
"читаемое представление)."
#: in/chapter24.html:241
msgid "<h2>Iteration</h2>"
msgstr "<h2>Итерация</h2>"
#: in/chapter24.html:247
msgid ""
"<p>List elements can be formatted using the directive \n"
"<code>~{</code><i>format-control</i><code>~}</code>. The argument\n"
"<em>must</em> be a list; <i>format-control</i> consumes elements\n"
"of the list. Iteration terminates when the list is empty before\n"
"the next pass over <i>format-control</i>. Here's a simple example:"
msgstr ""
"<p>\n"
"Элементы списка могут быть отформатированы с помощью директивы \n"
"<code>~{</code><i>format-control</i><code>~}</code>. Аргумент \n"
"<em>должен быть</em> списком; <i>format-control</i> потребляет \n"
"элементы списка. Итерация завершается, когда список пуст перед \n"
"следующим переходом через <i>format-control</i>. Вот простой пример:"
#: in/chapter24.html:259
msgid ""
"<pre>\n"
"? (format t \"~&Name~20TExtension~{~&~A~20T~A~}\"\n"
" '(\"Joe\" 3215 \"Mary\" 3246 \"Fred\" 3222 \"Dave\" 3232 \"Joseph"
"\" 3212))\n"
"Name Extension\n"
"Joe 3215\n"
"Mary 3246\n"
"Fred 3222\n"
"Dave 3232\n"
"Joseph 3212\n"
"NIL\n"
"</pre> "
msgstr ""
#: in/chapter24.html:266
msgid ""
"<p>If your list might end in the middle of the iteration's\n"
"<i>format-control</i>, you can insert a <code>~^</code> directive at\n"
"that point. If the argument list is empty when interpreting the\n"
"<code>~^</code> directive, the iteration\n"
"<code>~{</code><i>format-control</i><code>~}</code> terminates at\n"
"that point."
msgstr ""
"<p>\n"
"Если ваш список может закончиться в середине итерации <i>format-control</"
"i>, \n"
"вы можете вставить директиву <code>~^</code> в эту точку. Если список \n"
"аргументов пуст при интерпретации директивы <code>~^</code>, то итерация \n"
"<code>~{</code><i>format-control</i><code>~}</code> завершится в этой "
"точке.\n"
#: in/chapter24.html:270
msgid ""
"<p>Additional options let you limit the number of iterations and specify\n"
"different requirements for the arguments. Consult a Lisp reference for\n"
"details."
msgstr ""
"<p>\n"
"Дополнительные опции позволяют ограничить количество итераций и задать \n"
"различные требования к аргументам. Для получения более подробной "
"информации \n"
"обратитесь к справочнику Lisp."
#: in/chapter24.html:272
msgid "<h2>Conditionals</h2>"
msgstr "<h2>Условия(Conditionals)</h2>"
#: in/chapter24.html:279
msgid ""
"<p>Conditional format directives are introduced by <code>~[</code>\n"
"and delimited by <code>~]</code>. There are several forms, which\n"
"I'll call ordinal, binary, and conditional. The ordinal form is\n"
"<code>~[</code><i>format-0</i><code>~;</code><i>format-1</i><code>~;</"
"code><i>...</i><code>~;</code><i>format-N</i><code>~]</code>,\n"
"which selects the <i>format-Ith</i> clause for an argument value of\n"
"<i>I</i>."
msgstr ""
"<p>\n"
"Директивы условного формата вводятся через <code>~[</code> и разделяются "
"через \n"
"<code>~]</code>. Есть несколько форм, которые я буду называть порядковыми, \n"
"двоичными и условными. Порядковая форма - это \n"
"<code>~[</code><i>format-0</i><code>~;</code><i>format-1</i><code>~;</"
"code><i>...</i><code>~;</code><i>format-N</i><code>~]</code>, которая "
"выбирает предложение \n"
"<i>format-Ith</i> для <i>I</i>-го значения аргумента. "
#: in/chapter24.html:285
msgid ""
"<pre>\n"
"? (format t \"~[Lisp 1.5~;MACLISP~;PSL~;Common Lisp~]\" 2)\n"
"PSL\n"
"NIL\n"
"</pre> "
msgstr ""
#: in/chapter24.html:290
msgid ""
"<p>Within <code>~[</code> and <code>~]</code> you can specify a\n"
"final <em>default</em> clause as\n"
"<code>~:;</code><i>format-default</i>; this is selected if the argument \n"
"is outside the range 0 to N."
msgstr ""
"<p>\n"
"В пределах <code>~[</code> и <code>~]</code> вы можете указать \n"
"окончательное предложение <em>default</em>(по умолчанию) как \n"
"<code>~:;</code><i>format-default</i>; оно выбирается, если аргумент \n"
"находится вне диапазона от 0 до N."
#: in/chapter24.html:296
msgid ""
"<p>The binary form is written\n"
"<code>~:[</code><i>format-false</i><code>~;</code><i>format-true</"
"i><code>~]</code>.\n"
"The <i>format-false</i> clause is interpreted if the argument is\n"
"<code>NIL</code>; otherwise, the <i>format-true</i> clause is\n"
"interpreted."
msgstr ""
"<p>\n"
"Двоичная форма записывается \n"
"<code>~:[</code><i>format-false</i><code>~;</code><i>format-true</"
"i><code>~]</code>. Предложение <i>format-false</i> интерпретируется, если "
"аргумент равен <code>NIL</code>; \n"
"в противном случае интерпретируется предложение <i>format-true</i>."
#: in/chapter24.html:305
msgid ""
"<pre>\n"
"? (format t \"My computer ~:[doesn't~;does~] like Lisp.\" t)\n"
"My computer does like Lisp.\n"
"NIL\n"
"? (format t \"My computer ~:[doesn't~;does~] like Lisp.\" nil)\n"
"My computer doesn't like Lisp.\n"
"NIL\n"
"</pre> "
msgstr ""
#: in/chapter24.html:310
msgid ""
"<p>The conditional form, written as <code>~@[</code><i>format</i><code>~]</"
"code>, first tests its argument. If the argument is not <code>NIL</code>,\n"
"it is not consumed; rather, it is left for <i>format</i> to consume. If\n"
"the argument is <code>NIL</code>, then it is consumed and <i>format</i> is\n"
"not interpreted."
msgstr ""
"<p>T\n"
"Условная форма, записанная как <code>~@[</code><i>format</i><code>~]</"
"code>, \n"
"сначала проверяет свой аргумент. Если аргумент не равен <code>NIL</code>,он "
"не\n"
"потребляется; скорее, он остается для потребления <i>format</i>. Если "
"аргумент \n"
"равен <code>NIL</code>, то он потребляется и <i>format</i> не "
"интерпретируется."
#: in/chapter24.html:315
msgid ""
"<pre>\n"
"? (format nil \"~{~@[~A ~]~}\" '(1 2 nil 3 t nil 4 nil))\n"
"\"1 2 3 T 4\"\n"
"</pre> "
msgstr ""
#: in/chapter24.html:318
msgid "<h2>Floobydust</h2>"
msgstr "<h2>Мутная пыль(Floobydust)</h2>"
#: in/chapter24.html:326
msgid ""
"<p>As you've seen, many of the format directives accept optional "
"parameters,\n"
"such as the field width parameter of the justification, tabbing, and "
"numeric\n"
"directives. Our examples have encoded these parameters into the format \n"
"control string. Sometimes it is useful to have a parameter vary during the\n"
"program's operation. You can do this by specifying <code>V</code> where\n"
"the parameter would appear; the parameter's value is then taken from the\n"
"next argument in the argument list."
msgstr ""
"<p>\n"
"Как вы уже видели, многие директивы формата принимают необязательные "
"параметры, \n"
"такие как параметр ширины поля в директивах выравнивания, табуляции и "
"числовых данных. \n"
"В наших примерах эти параметры были закодированы в управляющую строку "
"формата. \n"
"Иногда бывает полезно, чтобы параметр менялся во время работы программы. \n"
"Вы можете сделать это, указав <code>V</code>, где будет отображаться "
"параметр; \n"
"значение параметра затем берется из следующего аргумента в списке аргументов."
#: in/chapter24.html:336
msgid ""
"<pre>\n"
"? (format t \"~{~&~VD~}\" '(5 37 10 253 15 9847 10 559 5 12))\n"
" 37\n"
" 253\n"
" 9847\n"
" 559\n"
" 12\n"
"NIL\n"
"</pre> "
msgstr ""
#: in/chapter24.html:340
msgid ""
"<p>In this example, the arguments are consumed in pairs, with the first\n"
"of each pair specifying a field width and the second being the number to\n"
"print."
msgstr ""
"<p>\n"
"В этом примере аргументы используются в парах, причем первый элемент из \n"
"каждой пары указывает ширину поля, а второй - число для печати."
#: in/chapter24.html:353
msgid ""
"<hr>\n"
"<div align=\"center\">\n"
"<a href=\"contents.html\">Contents</a> | <a href=\"cover.html\">Cover</a> "
"<br> \n"
"<a href=\"chapter23.html\">Chapter 23</a> | Chapter 24 | <a href=\"chapter25."
"html\">Chapter 25</a> \n"
"</div>\n"
"<hr>\n"
"<address>\n"
"Copyright © 1995-2001, David B. Lamkins<br>\n"
"All Rights Reserved Worldwide<br>\n"
"<br>\n"
"This book may not be reproduced without the written consent of its author. "
"Online distribution is restricted to the author's site.\n"
"</address> \n"
"</body> </html> "
msgstr ""