Категории
Самые читаемые
RUSBOOK.SU » Компьютеры и Интернет » Программирование » Искусство программирования для Unix - Реймонд Эрик Стивен

Искусство программирования для Unix - Реймонд Эрик Стивен

Читать онлайн Искусство программирования для Unix - Реймонд Эрик Стивен

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 78 79 80 81 82 83 84 85 86 ... 179
Перейти на страницу:

3

03

ЕТХ

19

13

DC3

35

23

#

51

33

3

67

43

С

83

53

S

99

63

с

115

73

s

4

04

EOT

20

14

DC4

36

24

$

52

34

4

68

44

D

84

54

T

100

64

d

116

74

t

5

05

ENQ

21

15

NAK

37

25

%

53

35

5

69

45

E

85

55

U

101

65

e

117

75

u

6

06

АСК

22

16

SYN

38

26

&

54

36

6

70

46

F

86

56

V

102

66

f

118

76

v

7

07

BEL

23

17

ETB

39

27

t

55

37

7

71

47

G

87

57

w

103

67

g

119

77

w

8

08

BS

24

18

CAN

40

28

(

56

38

8

72

48

H

88

58

X

104

68

h

120

78

X

9

09

нт

25

19

EM

41

29

)

57

39

9

73

49

I

89

59

Y

105

69

i

121

79

У

10

LF

26

SUB

42

2A

*

58

ЗА

74

4A

J

90

5A

Z

106

6A

j

122

7A

z

11

OB

VT

27

IB

ESC

43

2B

+

59

3B

;

75

4B

К

91

5B

[

107

6B

k

123

7B

12

ОС

FF

28

FS

44

2C

i

60

3C

<

76

4C

L

92

5C

108

6C

1

124

7C

13

0D

CR

29

ID

GS

45

2D

-

61

3D

=

77

4D

M

93

5D

]

109

6D

ш

125

7D

14

SO

30

IE

RS

46

2E

62

3E

>

78

4E

N

94

5E

A

110

6E

n

126

7E

-

15

0F

SI

31

IF

US

47

2F

/

63

3F

?

79

4F

О

95

5F

111

6F

о

127

7F

DEL

Данный пример почти тривиален, однако он, тем не менее, иллюстрирует преимущества генерации как простого, так и особого кода. Подобные методики могли бы применяться для более крупных программ, предоставляя, соответственно, еще большие преимущества.

9.2.2. Учебный пример: генерация HTML-кода для табличного списка

Предположим, что требуется поместить страницу табличных данных на Web-страницу. Необходимо, чтобы первые несколько строк выглядели, как в примере 9.6.

Пример 9.6. Необходимый формат вывода для таблицы звезд

Aalat David Weber The Armageddon Inheritance

Aelmos Alan Dean Foster The Man who Used the Universe

Aedryr Steve Miller/Sharon Lee Scout's Progress

Aergistal Gerard Klein The Overlords of War

Afdiar L. Neil Smith Tom Paine Maru

Agandar Donald Kingsbury Psychohistorical Crisis

Shadowkill

Aghirnamirr Jo Clayton

Примитивнейший способ решения данной задачи заключался бы в написании вручную HTML-кода для необходимого внешнего представления. Таким образом, каждый раз, когда потребуется добавить новое имя, придется вручную писать еще один набор тегов <tr>H<td> для новой записи. Такая необходимость очень быстро стала бы утомительной. Но еще хуже то, что при изменении формата списка каждую запись потребуется кодировать вручную.

Внешне разумный способ решить данную проблему заключался бы в том, чтобы внести данные в трехстолбцовую таблицу в базе данных, а затем использовать некоторую причудливую CGI-методику71 или поддерживающий базы данных шаблонный процессор, например, РНР для создания страницы на лету. Однако, предположим, разработчику известно, что список не будет изменяться очень часто, и не требуется запускать сервер баз данных для того, чтобы отображать данные, а также нежелательно загружать сервер излишним CGI-трафиком.

Существует простое решение: поместить данные в файл в простом табличном формате, см. пример 9.7.

Пример 9.7. Модель таблицы звезд

Aalat :David Weber

Aelmos :Alan Dean Foster

Aedryr :Steve Miller/Sharon Lee

Aergistal :Gerard Klein

Afdiar :L. Neil Smith

Agandar :Donald Kingsbury

Aghirnamirr :Jo Clayton

The Armageddon Inheritance The Man who Used the Universe Scout's Progress The Overlords of War Tom Paine Maru Psychohistorical Crisis Shadowkill

Можно было бы обойтись без явного использования двоеточия в качестве разделителя полей, используя модель, содержащую в качестве разделителя два или более пробела. Однако явный разделитель предохраняет от ошибок, связанных со случайным двойным нажатием пробела в процессе редактирования значений полей.

Затем создается сценарий в shell, Perl, Python или Tel, который преобразовывает данный файл в HTML-таблицу. Сценарий запускается каждый раз после добавления новой записи. Способ старой школы Unix был бы связан с почти нечитаемым вызовом sed(1)

1 ... 78 79 80 81 82 83 84 85 86 ... 179
Перейти на страницу:
На этой странице вы можете бесплатно скачать Искусство программирования для Unix - Реймонд Эрик Стивен торрент бесплатно.
Комментарии
Открыть боковую панель
Комментарии
Сергій
Сергій 25.01.2024 - 17:17
"Убийство миссис Спэнлоу" от Агаты Кристи – это великолепный детектив, который завораживает с первой страницы и держит в напряжении до последнего момента. Кристи, как всегда, мастерски строит