chemistry_paradise 1.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +657 -0
  3. data/bin/chemistry_paradise +7 -0
  4. data/bin/wetter +7 -0
  5. data/chemistry_paradise.gemspec +46 -0
  6. data/doc/README.gen +595 -0
  7. data/doc/bugs/BUGS.md +16 -0
  8. data/doc/formulas/biochemical_calculations.md +5 -0
  9. data/doc/todo/todo_for_the_chemistry_paradise_project.md +33 -0
  10. data/doc/todo/todo_for_the_wetter_project.md +7 -0
  11. data/lib/chemistry_paradise/base/base.rb +215 -0
  12. data/lib/chemistry_paradise/base/colours.rb +93 -0
  13. data/lib/chemistry_paradise/commandline/help.rb +40 -0
  14. data/lib/chemistry_paradise/commandline/menu.rb +88 -0
  15. data/lib/chemistry_paradise/commandline/parse_commandline.rb +94 -0
  16. data/lib/chemistry_paradise/constants/constants.rb +77 -0
  17. data/lib/chemistry_paradise/constants/constants_for_chemical_formulas.rb +16 -0
  18. data/lib/chemistry_paradise/constants/file_constants.rb +33 -0
  19. data/lib/chemistry_paradise/constants/german_names_of_elements_to_element_symbol.rb +157 -0
  20. data/lib/chemistry_paradise/converters/celsius_to_fahrenheit.rb +143 -0
  21. data/lib/chemistry_paradise/converters/celsius_to_kelvin.rb +125 -0
  22. data/lib/chemistry_paradise/converters/fahrenheit_to_celsius.rb +132 -0
  23. data/lib/chemistry_paradise/converters/shared.rb +21 -0
  24. data/lib/chemistry_paradise/gui/gtk3/calculate_molecular_weight/calculate_molecular_weight.rb +34 -0
  25. data/lib/chemistry_paradise/gui/gtk3/show_periodic_table/show_periodic_table.rb +34 -0
  26. data/lib/chemistry_paradise/gui/gtk3/temperature_converter/temperature_converter.rb +112 -0
  27. data/lib/chemistry_paradise/gui/gtk3/wetter/wetter.rb +119 -0
  28. data/lib/chemistry_paradise/gui/libui/temperature_converter/temperature_converter.rb +100 -0
  29. data/lib/chemistry_paradise/gui/libui/wetter/wetter.rb +47 -0
  30. data/lib/chemistry_paradise/gui/shared_code/calculate_molecular_weight/calculate_molecular_weight_module.rb +171 -0
  31. data/lib/chemistry_paradise/gui/shared_code/show_periodic_table/show_periodic_table_module.rb +318 -0
  32. data/lib/chemistry_paradise/gui/shared_code/temperature_converter/temperature_converter_module.rb +192 -0
  33. data/lib/chemistry_paradise/gui/shared_code/wetter/wetter_module.rb +349 -0
  34. data/lib/chemistry_paradise/gui/swing/TemperatureConverter$1.class +0 -0
  35. data/lib/chemistry_paradise/gui/swing/TemperatureConverter.class +0 -0
  36. data/lib/chemistry_paradise/gui/swing/TemperatureConverter.java +133 -0
  37. data/lib/chemistry_paradise/gui/unified_widgets/wetter/wetter.rb +62 -0
  38. data/lib/chemistry_paradise/images/show_periodic_table.png +0 -0
  39. data/lib/chemistry_paradise/images/vienna_map.png +0 -0
  40. data/lib/chemistry_paradise/interactive_chemistry_shell.rb +246 -0
  41. data/lib/chemistry_paradise/project/project.rb +24 -0
  42. data/lib/chemistry_paradise/requires/common_external_requires.rb +17 -0
  43. data/lib/chemistry_paradise/requires/require_the_project.rb +21 -0
  44. data/lib/chemistry_paradise/requires/require_the_project_including_the_graphical_user_interface.rb +7 -0
  45. data/lib/chemistry_paradise/requires/require_the_project_including_the_web_interface.rb +4 -0
  46. data/lib/chemistry_paradise/shared.rb +130 -0
  47. data/lib/chemistry_paradise/show_electron_configuration.rb +250 -0
  48. data/lib/chemistry_paradise/show_element.rb +145 -0
  49. data/lib/chemistry_paradise/sinatra/sinatra.rb +131 -0
  50. data/lib/chemistry_paradise/sinatra/wetter/app.rb +68 -0
  51. data/lib/chemistry_paradise/sinatra/wetter/start_sinatra_interface.rb +31 -0
  52. data/lib/chemistry_paradise/split_molecule_names.rb +228 -0
  53. data/lib/chemistry_paradise/toplevel_methods/atomgewichte.rb +31 -0
  54. data/lib/chemistry_paradise/toplevel_methods/convert_parens.rb +64 -0
  55. data/lib/chemistry_paradise/toplevel_methods/display_where_the_molmasses_are_kept.rb +24 -0
  56. data/lib/chemistry_paradise/toplevel_methods/e.rb +16 -0
  57. data/lib/chemistry_paradise/toplevel_methods/kelvin.rb +34 -0
  58. data/lib/chemistry_paradise/toplevel_methods/language.rb +50 -0
  59. data/lib/chemistry_paradise/toplevel_methods/misc.rb +228 -0
  60. data/lib/chemistry_paradise/toplevel_methods/periodic_table.rb +16 -0
  61. data/lib/chemistry_paradise/toplevel_methods/remove_this_molecule_from.rb +63 -0
  62. data/lib/chemistry_paradise/toplevel_methods/roebe.rb +16 -0
  63. data/lib/chemistry_paradise/toplevel_methods/show_electron_negativity_chart.rb +26 -0
  64. data/lib/chemistry_paradise/utility_scripts/calculate_atomic_mass.rb +559 -0
  65. data/lib/chemistry_paradise/utility_scripts/combustion_analysis.rb +207 -0
  66. data/lib/chemistry_paradise/utility_scripts/electron_negativity_chart.rb +78 -0
  67. data/lib/chemistry_paradise/utility_scripts/equalize_chemical_formula.rb +84 -0
  68. data/lib/chemistry_paradise/utility_scripts/equation_solver.rb +130 -0
  69. data/lib/chemistry_paradise/utility_scripts/orbitals.rb +70 -0
  70. data/lib/chemistry_paradise/utility_scripts/show_electron_negativity_of_this_element.rb +103 -0
  71. data/lib/chemistry_paradise/utility_scripts/show_periodic_table.rb +996 -0
  72. data/lib/chemistry_paradise/verbose_chemical_calculation.rb +21 -0
  73. data/lib/chemistry_paradise/version/version.rb +19 -0
  74. data/lib/chemistry_paradise/wetter/wetter.rb +539 -0
  75. data/lib/chemistry_paradise/www/wetter/embeddable_interface.rb +78 -0
  76. data/lib/chemistry_paradise/www/wetter/wetter.cgi +28 -0
  77. data/lib/chemistry_paradise/yaml/atomgewichte.yml +139 -0
  78. data/lib/chemistry_paradise/yaml/colours_for_the_elements.yml +13 -0
  79. data/lib/chemistry_paradise/yaml/dichte.yml +21 -0
  80. data/lib/chemistry_paradise/yaml/electron_negativity_chart.yml +111 -0
  81. data/lib/chemistry_paradise/yaml/molecular_formula_of_different_molecules.yml +13 -0
  82. data/lib/chemistry_paradise/yaml/periodic_table_of_the_elements.yml +125 -0
  83. data/lib/chemistry_paradise.rb +1 -0
  84. data/test/testing_chemistry_paradise.rb +49 -0
  85. metadata +175 -0
@@ -0,0 +1,996 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === ChemistryParadise::ShowPeriodicTable
6
+ # =========================================================================== #
7
+ # require 'chemistry_paradise/utility_scripts/show_periodic_table.rb'
8
+ # ChemistryParadise::ShowPeriodicTable.new(ARGV)
9
+ # =========================================================================== #
10
+ require 'chemistry_paradise/base/base.rb'
11
+
12
+ module ChemistryParadise
13
+
14
+ class ShowPeriodicTable < Base # === ChemistryParadise::ShowPeriodicTable
15
+
16
+ require 'chemistry_paradise/toplevel_methods/misc.rb'
17
+
18
+ # ========================================================================= #
19
+ # === NAMESPACE
20
+ # ========================================================================= #
21
+ NAMESPACE = inspect
22
+ TOP_LEFT_CORNER = '┌'
23
+ TOP_RIGHT_CORNER = '┐'
24
+ # ========================================================================= #
25
+ # === BOTTOM_LEFT_CORNER
26
+ # ========================================================================= #
27
+ BOTTOM_LEFT_CORNER = '└'
28
+ BOTTOM_RIGHT_CORNER = '┘'
29
+ MIDDLE_BAR = '│'
30
+ HORIZONTAL_BAR = '─'
31
+ CROSSING_SYMBOL = '┼'
32
+
33
+ # ========================================================================= #
34
+ # === LEFT_MIDDLE_BAR
35
+ # ========================================================================= #
36
+ LEFT_MIDDLE_BAR = '├'
37
+ RIGHT_MIDDLE_BAR = '┤'
38
+ TOP_CENTRAL_BAR = '┬'
39
+
40
+ # ========================================================================= #
41
+ # === BOTTOM_CENTRAL_BAR
42
+ # ========================================================================= #
43
+ BOTTOM_CENTRAL_BAR = '┴'
44
+
45
+ # ========================================================================= #
46
+ # === initialize
47
+ # ========================================================================= #
48
+ def initialize(
49
+ i = ARGV,
50
+ run_already = true
51
+ )
52
+ reset
53
+ set_commandline_arguments(i)
54
+ run if run_already
55
+ end
56
+
57
+ # ========================================================================= #
58
+ # === reset
59
+ # ========================================================================= #
60
+ def reset
61
+ super()
62
+ end
63
+
64
+ # ========================================================================= #
65
+ # === horizontal_bar?
66
+ # ========================================================================= #
67
+ def horizontal_bar?
68
+ HORIZONTAL_BAR
69
+ end
70
+
71
+ # ========================================================================= #
72
+ # === rows?
73
+ # ========================================================================= #
74
+ def rows?
75
+ [
76
+ ChemistryParadise.row1,
77
+ ChemistryParadise.row2,
78
+ ChemistryParadise.row3,
79
+ ChemistryParadise.row4,
80
+ ChemistryParadise.row5,
81
+ ChemistryParadise.row6,
82
+ ChemistryParadise.row7
83
+ ]
84
+ end
85
+
86
+ # ========================================================================= #
87
+ # === top_left_corner?
88
+ # ========================================================================= #
89
+ def top_left_corner?
90
+ TOP_LEFT_CORNER
91
+ end
92
+
93
+ # ========================================================================= #
94
+ # === top_central_bar?
95
+ # ========================================================================= #
96
+ def top_central_bar?
97
+ TOP_CENTRAL_BAR
98
+ end; alias top_middle_corner? top_central_bar? # === top_middle_corner?
99
+ alias middle_to_down top_central_bar? # === middle_to_down
100
+ alias middle_to_down? top_central_bar? # === middle_to_down?
101
+
102
+ # ========================================================================= #
103
+ # === crossing_symbol?
104
+ # ========================================================================= #
105
+ def crossing_symbol?
106
+ CROSSING_SYMBOL
107
+ end; alias crossing? crossing_symbol? # === crossing?
108
+ alias cross? crossing_symbol? # === cross?
109
+
110
+ # ========================================================================= #
111
+ # === middle_bar?
112
+ # ========================================================================= #
113
+ def middle_bar?
114
+ MIDDLE_BAR
115
+ end; alias left_bar? middle_bar? # === left_bar?
116
+ alias middle? middle_bar? # === middle?
117
+
118
+ # ========================================================================= #
119
+ # === top_right_corner?
120
+ # ========================================================================= #
121
+ def top_right_corner?
122
+ TOP_RIGHT_CORNER
123
+ end
124
+
125
+ # ========================================================================= #
126
+ # === col2
127
+ # ========================================================================= #
128
+ def col2(i)
129
+ steelblue(i)
130
+ end
131
+
132
+ # ========================================================================= #
133
+ # === lpad? (lpad tag)
134
+ # ========================================================================= #
135
+ def lpad?
136
+ ' '
137
+ end
138
+
139
+ # ========================================================================= #
140
+ # === colour_for_element
141
+ # ========================================================================= #
142
+ def colour_for_element(i)
143
+ return royalblue(i)
144
+ end
145
+
146
+ # ========================================================================= #
147
+ # === right_middle_bar?
148
+ # ========================================================================= #
149
+ def right_middle_bar?
150
+ RIGHT_MIDDLE_BAR
151
+ end; alias right_end? right_middle_bar? # === right_end?
152
+ alias right_bar? right_middle_bar? # === right_bar?
153
+
154
+ # ========================================================================= #
155
+ # === horbar
156
+ # ========================================================================= #
157
+ def horbar
158
+ (horizontal_bar? * 3)
159
+ end
160
+
161
+ # ========================================================================= #
162
+ # === bottom_left_corner?
163
+ # ========================================================================= #
164
+ def bottom_left_corner?
165
+ BOTTOM_LEFT_CORNER
166
+ end; alias left_lower_corner? bottom_left_corner? # === left_lower_corner?
167
+
168
+ # ========================================================================= #
169
+ # === left_middle_bar?
170
+ # ========================================================================= #
171
+ def left_middle_bar?
172
+ LEFT_MIDDLE_BAR
173
+ end
174
+
175
+ # ========================================================================= #
176
+ # === col
177
+ #
178
+ # This is the main colour in use.
179
+ # ========================================================================= #
180
+ def col(i)
181
+ return tomato(i)
182
+ end
183
+
184
+ # ========================================================================= #
185
+ # === col_left
186
+ # ========================================================================= #
187
+ def col_left
188
+ col(left_bar?)
189
+ end; alias col_left_bar col_left # === col_left_bar
190
+
191
+ # ========================================================================= #
192
+ # === show_the_first_row (1 tag)
193
+ # ========================================================================= #
194
+ def show_the_first_row
195
+ _ = ChemistryParadise.row1
196
+ e lpad?+col(top_left_corner?+horbar+top_right_corner?)+
197
+ (' '*63)+
198
+ col(top_left_corner?+horbar+top_right_corner?)
199
+ e lpad?+col(middle_bar?)+col2('1 ')+col(middle_bar?)+
200
+ (' '*63)+
201
+ col(middle_bar?)+col2('2 ')+col(middle_bar?)
202
+ e lpad?+col(middle_bar?)+
203
+ pad_and_colourize_this_element(_[0])+
204
+ col(middle_bar?)+
205
+ (' '*63)+
206
+ col(middle_bar?)+
207
+ pad_and_colourize_this_element(_[1])+col(middle_bar?)
208
+ e lpad?+col(
209
+ left_middle_bar?+horbar+crossing?+
210
+ horbar+
211
+ top_right_corner?
212
+ )+(' '*39)+
213
+ col(
214
+ top_left_corner?+
215
+ horbar+top_middle_corner?+
216
+ horbar+top_middle_corner?+
217
+ horbar+top_middle_corner?+
218
+ horbar+top_middle_corner?+
219
+ horbar+cross?+
220
+ horbar+right_middle_bar?
221
+ )
222
+ end
223
+
224
+ # ========================================================================= #
225
+ # === show_the_second_row (2 tag)
226
+ # ========================================================================= #
227
+ def show_the_second_row
228
+ _ = ChemistryParadise.row2
229
+ e lpad?+col_left+col2('3 ')+col_left+
230
+ col2('4 ')+
231
+ col(
232
+ middle?
233
+ )+
234
+ (' '*39)+
235
+ col_left+
236
+ col2('5 ')+
237
+ col_left+
238
+ col2('6 ')+
239
+ col_left+
240
+ col2('7 ')+
241
+ col_left+
242
+ col2('8 ')+
243
+ col_left+
244
+ col2('9 ')+
245
+ col_left+
246
+ col2('10 ')+
247
+ col_left
248
+ e lpad?+col_left+
249
+ pad_and_colourize_this_element(_[0])+
250
+ col_left+
251
+ pad_and_colourize_this_element(_[1])+
252
+ col_left+
253
+ (' '*39)+
254
+ col_left+
255
+ pad_and_colourize_this_element(' '+_[2])+
256
+ col_left+
257
+ pad_and_colourize_this_element(' '+_[3])+
258
+ col_left+
259
+ pad_and_colourize_this_element(' '+_[4])+
260
+ col_left+
261
+ pad_and_colourize_this_element(' '+_[5])+
262
+ col_left+
263
+ pad_and_colourize_this_element(' '+_[6])+
264
+ col_left+
265
+ pad_and_colourize_this_element(_[7])+
266
+ col_left
267
+ e lpad?+col(
268
+ left_middle_bar?+horbar+crossing?+
269
+ horbar+
270
+ right_middle_bar?
271
+ )+(' '*39)+
272
+ col(
273
+ left_middle_bar?+
274
+ horbar+cross?+
275
+ horbar+cross?+
276
+ horbar+cross?+
277
+ horbar+cross?+
278
+ horbar+cross?+
279
+ horbar+right_middle_bar?
280
+ )
281
+ end
282
+
283
+ # ========================================================================= #
284
+ # === pad_and_colourize_this_element
285
+ # ========================================================================= #
286
+ def pad_and_colourize_this_element(i)
287
+ i = i.dup
288
+ i.prepend(' ') if i.size < 2
289
+ return colour_for_element(
290
+ ' '+i
291
+ )
292
+ end
293
+
294
+ # ========================================================================= #
295
+ # === show_the_fourth_row (4 tag)
296
+ # ========================================================================= #
297
+ def show_the_fourth_row
298
+ _ = ChemistryParadise.row4
299
+ e lpad?+col_left+col2('19 ')+
300
+ col_left+
301
+ col2('20 ')+
302
+ col(middle?)+
303
+ col2('21 ')+
304
+ col(middle?)+
305
+ col2('22 ')+
306
+ col(middle?)+
307
+ col2('23 ')+
308
+ col(middle?)+
309
+ col2('24 ')+
310
+ col(middle?)+
311
+ col2('25 ')+
312
+ col(middle?)+
313
+ col2('26 ')+
314
+ col(middle?)+
315
+ col2('27 ')+
316
+ col(middle?)+
317
+ col2('28 ')+
318
+ col(middle?)+
319
+ col2('29 ')+
320
+ col(middle?)+
321
+ col2('30 ')+
322
+ col(middle?)+
323
+ col2('31 ')+
324
+ col(middle?)+
325
+ col2('32 ')+
326
+ col(middle?)+
327
+ col2('33 ')+
328
+ col(middle?)+
329
+ col2('34 ')+
330
+ col(middle?)+
331
+ col2('35 ')+
332
+ col(middle?)+
333
+ col2('36 ')+
334
+ col(middle?)
335
+ e lpad?+col_left+
336
+ pad_and_colourize_this_element(_[0])+
337
+ col_left+
338
+ pad_and_colourize_this_element(_[1])+
339
+ col_left+
340
+ pad_and_colourize_this_element(_[2])+
341
+ col_left+
342
+ pad_and_colourize_this_element(_[3])+
343
+ col_left+
344
+ pad_and_colourize_this_element(_[4])+
345
+ col_left+
346
+ pad_and_colourize_this_element(_[5])+
347
+ col_left+
348
+ pad_and_colourize_this_element(_[6])+
349
+ col_left+
350
+ pad_and_colourize_this_element(_[7])+
351
+ col_left+
352
+ pad_and_colourize_this_element(_[8])+
353
+ col_left+
354
+ pad_and_colourize_this_element(_[9])+
355
+ col_left+
356
+ pad_and_colourize_this_element(_[10])+
357
+ col_left+
358
+ pad_and_colourize_this_element(_[11])+
359
+ col_left+
360
+ pad_and_colourize_this_element(_[12])+
361
+ col_left+
362
+ pad_and_colourize_this_element(_[13])+
363
+ col_left+
364
+ pad_and_colourize_this_element(_[14])+
365
+ col_left+
366
+ pad_and_colourize_this_element(_[15])+
367
+ col_left+
368
+ pad_and_colourize_this_element(_[16])+
369
+ col_left+
370
+ pad_and_colourize_this_element(_[17])+
371
+ col_left
372
+ e lpad?+col(
373
+ left_middle_bar?+horbar+cross?+
374
+ horbar+
375
+ cross?
376
+ )+
377
+ col(
378
+ horbar+cross?+
379
+ horbar+cross?+
380
+ horbar+cross?+
381
+ horbar+cross?+
382
+ horbar+cross?+
383
+ horbar+cross?+
384
+ horbar+cross?+
385
+ horbar+cross?+
386
+ horbar+cross?+
387
+ horbar+cross?+
388
+ horbar+cross?+
389
+ horbar+cross?+
390
+ horbar+cross?+
391
+ horbar+cross?+
392
+ horbar+cross?+
393
+ horbar+right_end?
394
+ )
395
+ end
396
+
397
+ # ========================================================================= #
398
+ # === show_the_fifth_row (5 tag)
399
+ # ========================================================================= #
400
+ def show_the_fifth_row
401
+ _ = ChemistryParadise.row5
402
+ e lpad?+col_left+col2('37 ')+
403
+ col_left+
404
+ col2('38 ')+
405
+ col(middle?)+
406
+ col2('39 ')+
407
+ col(middle?)+
408
+ col2('40 ')+
409
+ col(middle?)+
410
+ col2('41 ')+
411
+ col(middle?)+
412
+ col2('42 ')+
413
+ col(middle?)+
414
+ col2('43 ')+
415
+ col(middle?)+
416
+ col2('44 ')+
417
+ col(middle?)+
418
+ col2('45 ')+
419
+ col(middle?)+
420
+ col2('46 ')+
421
+ col(middle?)+
422
+ col2('47 ')+
423
+ col(middle?)+
424
+ col2('48 ')+
425
+ col(middle?)+
426
+ col2('49 ')+
427
+ col(middle?)+
428
+ col2('50 ')+
429
+ col(middle?)+
430
+ col2('51 ')+
431
+ col(middle?)+
432
+ col2('52 ')+
433
+ col(middle?)+
434
+ col2('53 ')+
435
+ col(middle?)+
436
+ col2('54 ')+
437
+ col(middle?)
438
+ e lpad?+col_left+
439
+ pad_and_colourize_this_element(_[0])+
440
+ col_left+
441
+ pad_and_colourize_this_element(_[1])+
442
+ col_left+
443
+ pad_and_colourize_this_element(_[2])+
444
+ col_left+
445
+ pad_and_colourize_this_element(_[3])+
446
+ col_left+
447
+ pad_and_colourize_this_element(_[4])+
448
+ col_left+
449
+ pad_and_colourize_this_element(_[5])+
450
+ col_left+
451
+ pad_and_colourize_this_element(_[6])+
452
+ col_left+
453
+ pad_and_colourize_this_element(_[7])+
454
+ col_left+
455
+ pad_and_colourize_this_element(_[8])+
456
+ col_left+
457
+ pad_and_colourize_this_element(_[9])+
458
+ col_left+
459
+ pad_and_colourize_this_element(_[10])+
460
+ col_left+
461
+ pad_and_colourize_this_element(_[11])+
462
+ col_left+
463
+ pad_and_colourize_this_element(_[12])+
464
+ col_left+
465
+ pad_and_colourize_this_element(_[13])+
466
+ col_left+
467
+ pad_and_colourize_this_element(_[14])+
468
+ col_left+
469
+ pad_and_colourize_this_element(_[15])+
470
+ col_left+
471
+ pad_and_colourize_this_element(_[16])+
472
+ col_left+
473
+ pad_and_colourize_this_element(_[17])+
474
+ col_left
475
+ e lpad?+col(
476
+ left_middle_bar?+horbar+cross?+
477
+ horbar+
478
+ cross?
479
+ )+
480
+ col(
481
+ horbar+cross?+
482
+ horbar+cross?+
483
+ horbar+cross?+
484
+ horbar+cross?+
485
+ horbar+cross?+
486
+ horbar+cross?+
487
+ horbar+cross?+
488
+ horbar+cross?+
489
+ horbar+cross?+
490
+ horbar+cross?+
491
+ horbar+cross?+
492
+ horbar+cross?+
493
+ horbar+cross?+
494
+ horbar+cross?+
495
+ horbar+cross?+
496
+ horbar+right_end?
497
+ )
498
+ end
499
+
500
+ # ========================================================================= #
501
+ # === show_the_sixth_row (6 tag)
502
+ # ========================================================================= #
503
+ def show_the_sixth_row
504
+ _ = ChemistryParadise.row6
505
+ e lpad?+col_left+col2('55 ')+
506
+ col_left+
507
+ col2('56 ')+
508
+ col(middle?)+
509
+ col2('71 ')+
510
+ col(middle?)+
511
+ col2('72 ')+
512
+ col(middle?)+
513
+ col2('73 ')+
514
+ col(middle?)+
515
+ col2('74 ')+
516
+ col(middle?)+
517
+ col2('75 ')+
518
+ col(middle?)+
519
+ col2('76 ')+
520
+ col(middle?)+
521
+ col2('77 ')+
522
+ col(middle?)+
523
+ col2('78 ')+
524
+ col(middle?)+
525
+ col2('79 ')+
526
+ col(middle?)+
527
+ col2('80 ')+
528
+ col(middle?)+
529
+ col2('81 ')+
530
+ col(middle?)+
531
+ col2('82 ')+
532
+ col(middle?)+
533
+ col2('83 ')+
534
+ col(middle?)+
535
+ col2('84 ')+
536
+ col(middle?)+
537
+ col2('85 ')+
538
+ col(middle?)+
539
+ col2('86 ')+
540
+ col(middle?)
541
+ e lpad?+col_left+
542
+ pad_and_colourize_this_element(_[0])+
543
+ col_left+
544
+ pad_and_colourize_this_element(_[1])+
545
+ col_left+
546
+ pad_and_colourize_this_element(_[2])+
547
+ col_left+
548
+ pad_and_colourize_this_element(_[3])+
549
+ col_left+
550
+ pad_and_colourize_this_element(_[4])+
551
+ col_left+
552
+ pad_and_colourize_this_element(_[5])+
553
+ col_left+
554
+ pad_and_colourize_this_element(_[6])+
555
+ col_left+
556
+ pad_and_colourize_this_element(_[7])+
557
+ col_left+
558
+ pad_and_colourize_this_element(_[8])+
559
+ col_left+
560
+ pad_and_colourize_this_element(_[9])+
561
+ col_left+
562
+ pad_and_colourize_this_element(_[10])+
563
+ col_left+
564
+ pad_and_colourize_this_element(_[11])+
565
+ col_left+
566
+ pad_and_colourize_this_element(_[12])+
567
+ col_left+
568
+ pad_and_colourize_this_element(_[13])+
569
+ col_left+
570
+ pad_and_colourize_this_element(_[14])+
571
+ col_left+
572
+ pad_and_colourize_this_element(_[15])+
573
+ col_left+
574
+ pad_and_colourize_this_element(_[16])+
575
+ col_left+
576
+ pad_and_colourize_this_element(_[17])+
577
+ col_left
578
+ e lpad?+col(
579
+ left_middle_bar?+horbar+cross?+
580
+ horbar+
581
+ cross?
582
+ )+
583
+ col(
584
+ horbar+cross?+
585
+ horbar+cross?+
586
+ horbar+cross?+
587
+ horbar+cross?+
588
+ horbar+cross?+
589
+ horbar+cross?+
590
+ horbar+cross?+
591
+ horbar+cross?+
592
+ horbar+cross?+
593
+ horbar+cross?+
594
+ horbar+cross?+
595
+ horbar+cross?+
596
+ horbar+cross?+
597
+ horbar+cross?+
598
+ horbar+cross?+
599
+ horbar+right_end?
600
+ )
601
+ end
602
+
603
+ # ========================================================================= #
604
+ # === show_the_third_row (3 tag)
605
+ # ========================================================================= #
606
+ def show_the_third_row
607
+ _ = ChemistryParadise.row3
608
+ e lpad?+col_left+col2('11 ')+col_left+
609
+ col2('12 ')+
610
+ col(
611
+ middle?
612
+ )+
613
+ (' '*39)+
614
+ col_left+
615
+ col2('13 ')+
616
+ col_left+
617
+ col2('14 ')+
618
+ col_left+
619
+ col2('15 ')+
620
+ col_left+
621
+ col2('16 ')+
622
+ col_left+
623
+ col2('17 ')+
624
+ col_left+
625
+ col2('18 ')+
626
+ col_left
627
+ e lpad?+col_left+
628
+ pad_and_colourize_this_element(_[0])+
629
+ col_left+
630
+ pad_and_colourize_this_element(_[1])+
631
+ col_left+
632
+ (' '*39)+
633
+ col_left+
634
+ pad_and_colourize_this_element(_[2])+
635
+ col_left+
636
+ pad_and_colourize_this_element(_[3])+
637
+ col_left+
638
+ pad_and_colourize_this_element(_[4])+
639
+ col_left+
640
+ pad_and_colourize_this_element(_[5])+
641
+ col_left+
642
+ pad_and_colourize_this_element(_[6])+
643
+ col_left+
644
+ pad_and_colourize_this_element(_[7])+
645
+ col_left
646
+ e lpad?+
647
+ col(
648
+ left_middle_bar?+
649
+ horbar+
650
+ cross?+
651
+ horbar+
652
+ cross?
653
+ )+
654
+ col(
655
+ horbar+middle_to_down?+
656
+ horbar+middle_to_down?+
657
+ horbar+middle_to_down?+
658
+ horbar+middle_to_down?+
659
+ horbar+middle_to_down?+
660
+ horbar+middle_to_down?+
661
+ horbar+middle_to_down?+
662
+ horbar+middle_to_down?+
663
+ horbar+middle_to_down?+
664
+ horbar+cross?+
665
+ horbar+cross?+
666
+ horbar+cross?+
667
+ horbar+cross?+
668
+ horbar+cross?+
669
+ horbar+cross?+
670
+ horbar+right_bar?
671
+ )
672
+ end
673
+
674
+ # ========================================================================= #
675
+ # === bottom_right_corner?
676
+ # ========================================================================= #
677
+ def bottom_right_corner?
678
+ BOTTOM_RIGHT_CORNER
679
+ end; alias right_bottom_corner? bottom_right_corner? # === right_bottom_corner?
680
+
681
+ # ========================================================================= #
682
+ # === bottom_central_bar?
683
+ # ========================================================================= #
684
+ def bottom_central_bar?
685
+ BOTTOM_CENTRAL_BAR
686
+ end; alias bottom_bar? bottom_central_bar? # === bottom_bar?
687
+ alias bottom_middle bottom_central_bar? # === bottom_middle
688
+ alias bottom_middle? bottom_central_bar? # === bottom_middle?
689
+ alias middle_bottom? bottom_central_bar? # === middle_bottom?
690
+
691
+ # ========================================================================= #
692
+ # === show_the_seventh_row (7 tag)
693
+ # ========================================================================= #
694
+ def show_the_seventh_row
695
+ _ = ChemistryParadise.row7
696
+ e lpad?+col_left+col2('87 ')+
697
+ col_left+
698
+ col2('88 ')+
699
+ col(middle?)+
700
+ col2('103')+
701
+ col(middle?)+
702
+ col2('104')+
703
+ col(middle?)+
704
+ col2('105')+
705
+ col(middle?)+
706
+ col2('106')+
707
+ col(middle?)+
708
+ col2('107')+
709
+ col(middle?)+
710
+ col2('108')+
711
+ col(middle?)+
712
+ col2('109')+
713
+ col(middle?)+
714
+ col2('110')+
715
+ col(middle?)+
716
+ col2('111')+
717
+ col(middle?)+
718
+ col2('112')+
719
+ col(middle?)+
720
+ col2('113')+
721
+ col(middle?)+
722
+ col2('114')+
723
+ col(middle?)+
724
+ col2('115')+
725
+ col(middle?)+
726
+ col2('116')+
727
+ col(middle?)+
728
+ col2('117')+
729
+ col(middle?)+
730
+ col2('118')+
731
+ col(middle?)
732
+ e lpad?+col_left+
733
+ pad_and_colourize_this_element(_[0])+
734
+ col_left+
735
+ pad_and_colourize_this_element(_[1])+
736
+ col_left+
737
+ pad_and_colourize_this_element(_[2])+
738
+ col_left+
739
+ pad_and_colourize_this_element(_[3])+
740
+ col_left+
741
+ pad_and_colourize_this_element(_[4])+
742
+ col_left+
743
+ pad_and_colourize_this_element(_[5])+
744
+ col_left+
745
+ pad_and_colourize_this_element(_[6])+
746
+ col_left+
747
+ pad_and_colourize_this_element(_[7])+
748
+ col_left+
749
+ pad_and_colourize_this_element(_[8])+
750
+ col_left+
751
+ pad_and_colourize_this_element(_[9])+
752
+ col_left+
753
+ pad_and_colourize_this_element(_[10])+
754
+ col_left+
755
+ pad_and_colourize_this_element(_[11])+
756
+ col_left+
757
+ pad_and_colourize_this_element(_[12])+
758
+ col_left+
759
+ pad_and_colourize_this_element(_[13])+
760
+ col_left+
761
+ pad_and_colourize_this_element(_[14])+
762
+ col_left+
763
+ pad_and_colourize_this_element(_[15])+
764
+ col_left+
765
+ pad_and_colourize_this_element(_[16])+
766
+ col_left+
767
+ pad_and_colourize_this_element(_[17])+
768
+ col_left
769
+ e lpad?+col(
770
+ left_lower_corner?+horbar+
771
+ bottom_bar?+
772
+ horbar+
773
+ cross?
774
+ )+
775
+ col(
776
+ horbar+cross?+
777
+ horbar+cross?+
778
+ horbar+cross?+
779
+ horbar+cross?+
780
+ horbar+cross?+
781
+ horbar+cross?+
782
+ horbar+cross?+
783
+ horbar+cross?+
784
+ horbar+cross?+
785
+ horbar+cross?+
786
+ horbar+cross?+
787
+ horbar+cross?+
788
+ horbar+cross?+
789
+ horbar+cross?+
790
+ horbar+bottom_middle?+
791
+ horbar+right_bottom_corner?
792
+ )
793
+ end
794
+
795
+ # ========================================================================= #
796
+ # === show_the_eight_row
797
+ # ========================================================================= #
798
+ def show_the_eight_row
799
+ _ = ChemistryParadise.row8
800
+ e lpad?+(' '*8)+col_left+col2('57 ')+
801
+ col_left+
802
+ col2('58 ')+
803
+ col(middle?)+
804
+ col2('59 ')+
805
+ col(middle?)+
806
+ col2('60 ')+
807
+ col(middle?)+
808
+ col2('61 ')+
809
+ col(middle?)+
810
+ col2('62 ')+
811
+ col(middle?)+
812
+ col2('63 ')+
813
+ col(middle?)+
814
+ col2('64 ')+
815
+ col(middle?)+
816
+ col2('65 ')+
817
+ col(middle?)+
818
+ col2('66 ')+
819
+ col(middle?)+
820
+ col2('67 ')+
821
+ col(middle?)+
822
+ col2('68 ')+
823
+ col(middle?)+
824
+ col2('69 ')+
825
+ col(middle?)+
826
+ col2('70 ')+
827
+ col(middle?)
828
+ e lpad?+(' '*8)+
829
+ col_left+
830
+ pad_and_colourize_this_element(_[0])+
831
+ col_left+
832
+ pad_and_colourize_this_element(_[1])+
833
+ col_left+
834
+ pad_and_colourize_this_element(_[2])+
835
+ col_left+
836
+ pad_and_colourize_this_element(_[3])+
837
+ col_left+
838
+ pad_and_colourize_this_element(_[4])+
839
+ col_left+
840
+ pad_and_colourize_this_element(_[5])+
841
+ col_left+
842
+ pad_and_colourize_this_element(_[6])+
843
+ col_left+
844
+ pad_and_colourize_this_element(_[7])+
845
+ col_left+
846
+ pad_and_colourize_this_element(_[8])+
847
+ col_left+
848
+ pad_and_colourize_this_element(_[9])+
849
+ col_left+
850
+ pad_and_colourize_this_element(_[10])+
851
+ col_left+
852
+ pad_and_colourize_this_element(_[11])+
853
+ col_left+
854
+ pad_and_colourize_this_element(_[12])+
855
+ col_left+
856
+ pad_and_colourize_this_element(_[13])+
857
+ col_left
858
+ e lpad?+(' '*8)+
859
+ col(
860
+ left_middle_bar?+horbar+cross?+
861
+ horbar+
862
+ cross?
863
+ )+
864
+ col(
865
+ horbar+cross?+
866
+ horbar+cross?+
867
+ horbar+cross?+
868
+ horbar+cross?+
869
+ horbar+cross?+
870
+ horbar+cross?+
871
+ horbar+cross?+
872
+ horbar+cross?+
873
+ horbar+cross?+
874
+ horbar+cross?+
875
+ horbar+cross?+
876
+ horbar+right_end?
877
+ )
878
+ end
879
+
880
+ # ========================================================================= #
881
+ # === show_the_ninth_row
882
+ # ========================================================================= #
883
+ def show_the_ninth_row
884
+ _ = ChemistryParadise.row9
885
+ e lpad?+(' '*8)+col_left+
886
+ col2('89 ')+
887
+ col_left+
888
+ col2('90 ')+
889
+ col(middle?)+
890
+ col2('91 ')+
891
+ col(middle?)+
892
+ col2('92 ')+
893
+ col(middle?)+
894
+ col2('93 ')+
895
+ col(middle?)+
896
+ col2('94 ')+
897
+ col(middle?)+
898
+ col2('95 ')+
899
+ col(middle?)+
900
+ col2('96 ')+
901
+ col(middle?)+
902
+ col2('97 ')+
903
+ col(middle?)+
904
+ col2('98 ')+
905
+ col(middle?)+
906
+ col2('99 ')+
907
+ col(middle?)+
908
+ col2('100')+
909
+ col(middle?)+
910
+ col2('101')+
911
+ col(middle?)+
912
+ col2('102')+
913
+ col(middle?)
914
+ e lpad?+(' '*8)+
915
+ col_left+
916
+ pad_and_colourize_this_element(_[0])+
917
+ col_left+
918
+ pad_and_colourize_this_element(_[1])+
919
+ col_left+
920
+ pad_and_colourize_this_element(_[2])+
921
+ col_left+
922
+ pad_and_colourize_this_element(_[3])+
923
+ col_left+
924
+ pad_and_colourize_this_element(_[4])+
925
+ col_left+
926
+ pad_and_colourize_this_element(_[5])+
927
+ col_left+
928
+ pad_and_colourize_this_element(_[6])+
929
+ col_left+
930
+ pad_and_colourize_this_element(_[7])+
931
+ col_left+
932
+ pad_and_colourize_this_element(_[8])+
933
+ col_left+
934
+ pad_and_colourize_this_element(_[9])+
935
+ col_left+
936
+ pad_and_colourize_this_element(_[10])+
937
+ col_left+
938
+ pad_and_colourize_this_element(_[11])+
939
+ col_left+
940
+ pad_and_colourize_this_element(_[12])+
941
+ col_left+
942
+ pad_and_colourize_this_element(_[13])+
943
+ col_left
944
+ e lpad?+(' '*8)+
945
+ col(
946
+ bottom_left_corner?+
947
+ horbar+
948
+ middle_bottom?+
949
+ horbar+
950
+ middle_bottom?
951
+ )+
952
+ col(
953
+ horbar+middle_bottom?+
954
+ horbar+middle_bottom?+
955
+ horbar+middle_bottom?+
956
+ horbar+middle_bottom?+
957
+ horbar+middle_bottom?+
958
+ horbar+middle_bottom?+
959
+ horbar+middle_bottom?+
960
+ horbar+middle_bottom?+
961
+ horbar+middle_bottom?+
962
+ horbar+middle_bottom?+
963
+ horbar+middle_bottom?+
964
+ horbar+bottom_right_corner?
965
+ )
966
+ end
967
+
968
+ # ========================================================================= #
969
+ # === run (run tag)
970
+ # ========================================================================= #
971
+ def run
972
+ e
973
+ show_the_first_row
974
+ show_the_second_row
975
+ show_the_third_row
976
+ show_the_fourth_row
977
+ show_the_fifth_row
978
+ show_the_sixth_row
979
+ show_the_seventh_row
980
+ show_the_eight_row
981
+ show_the_ninth_row
982
+ e # Must be last.
983
+ end
984
+
985
+ # ========================================================================= #
986
+ # === ChemistryParadise::ShowPeriodicTable[]
987
+ # ========================================================================= #
988
+ def self.[](i = ARGV)
989
+ new(i)
990
+ end
991
+
992
+ end; end
993
+
994
+ if __FILE__ == $PROGRAM_NAME
995
+ ChemistryParadise::ShowPeriodicTable.new(ARGV)
996
+ end # showperiodictable