freespeech 1.0.77 → 1.0.82

Sign up to get free protection for your applications and to get access to all the features.
Files changed (612) hide show
  1. checksums.yaml +4 -4
  2. data/CYCLE_OF_ETHICAL_BEHAVIOR +7 -0
  3. data/EXAMPLES_OF_OPERATION.html +6132 -0
  4. data/FOR_ARTIFICIAL_GENERAL_INTELLIGENCES +1 -6
  5. data/PP.rb +4 -4
  6. data/QUESTION +0 -2
  7. data/README.md +76 -79
  8. data/VERSION_NUMBER +1 -1
  9. data/bin/DISCOURSE_GENERATOR.exe +0 -0
  10. data/bin/abs +0 -0
  11. data/bin/add +0 -0
  12. data/bin/append +0 -0
  13. data/bin/args +0 -0
  14. data/bin/big_num +3 -0
  15. data/bin/chat_rb +6 -18
  16. data/bin/clock +0 -0
  17. data/bin/close +1 -1
  18. data/bin/copy +0 -0
  19. data/bin/delete +0 -0
  20. data/bin/div +0 -0
  21. data/bin/email +0 -13
  22. data/bin/emerald-browser +0 -0
  23. data/bin/exp +0 -0
  24. data/bin/find_housing +1 -1
  25. data/bin/floor +0 -0
  26. data/bin/gsub +0 -0
  27. data/bin/gsubip +0 -0
  28. data/bin/last_nth +0 -0
  29. data/bin/left_right +0 -0
  30. data/bin/lines +0 -0
  31. data/bin/mul +0 -0
  32. data/bin/nth +0 -0
  33. data/bin/nth_word +0 -0
  34. data/bin/prepend +0 -0
  35. data/bin/quot +7 -6
  36. data/bin/rgsub +0 -0
  37. data/bin/rip +0 -0
  38. data/bin/rnip +0 -0
  39. data/bin/selectlines +0 -0
  40. data/bin/sub +0 -0
  41. data/bin/swap +0 -0
  42. data/bin/trim +0 -0
  43. data/documentation/DISCOURSE_GENERATOR.exe +1 -1
  44. data/documentation/ULTIMATE_CHAT_APPLICATION.exe +1 -1
  45. data/documentation/abs +3 -11
  46. data/documentation/add +1 -5
  47. data/documentation/append +1 -3
  48. data/documentation/black +0 -1
  49. data/documentation/black_bold +0 -1
  50. data/documentation/black_bold_underline +0 -1
  51. data/documentation/black_underline +0 -1
  52. data/documentation/blue +0 -1
  53. data/documentation/blue_bold +0 -1
  54. data/documentation/blue_bold_underline +0 -1
  55. data/documentation/blue_underline +0 -1
  56. data/documentation/bold +1 -1
  57. data/documentation/chat_rb +1 -9
  58. data/documentation/clock +1 -16
  59. data/documentation/close +2 -2
  60. data/documentation/cyan +0 -1
  61. data/documentation/cyan_bold +0 -1
  62. data/documentation/cyan_bold_underline +0 -1
  63. data/documentation/cyan_underline +0 -1
  64. data/documentation/delete +2 -0
  65. data/documentation/dictate +1 -2
  66. data/documentation/div +1 -7
  67. data/documentation/email +2 -20
  68. data/documentation/emerald-browser +1 -2
  69. data/documentation/emeraldc +22 -47
  70. data/documentation/emoji +1 -4
  71. data/documentation/exp +1 -1
  72. data/documentation/find_housing +1 -1
  73. data/documentation/floor +1 -1
  74. data/documentation/g+ +1 -3
  75. data/documentation/google_speak +2 -2
  76. data/documentation/green +0 -1
  77. data/documentation/green_bold +0 -1
  78. data/documentation/green_bold_underline +0 -1
  79. data/documentation/green_underline +0 -1
  80. data/documentation/gsub +3 -7
  81. data/documentation/gsubip +1 -1
  82. data/documentation/last_nth +9 -1
  83. data/documentation/left_right.exe +1 -6
  84. data/documentation/lines +1 -3
  85. data/documentation/magenta +0 -1
  86. data/documentation/magenta_bold +0 -1
  87. data/documentation/magenta_bold_underline +0 -1
  88. data/documentation/magenta_underline +0 -1
  89. data/documentation/mul +2 -4
  90. data/documentation/nth +1 -1
  91. data/documentation/nth_word +8 -0
  92. data/documentation/open +4 -23
  93. data/documentation/page +43 -43
  94. data/documentation/prepend +2 -20
  95. data/documentation/processes +1 -5
  96. data/documentation/red +0 -1
  97. data/documentation/red_bold +0 -1
  98. data/documentation/red_bold_underline +0 -1
  99. data/documentation/red_underline +0 -1
  100. data/documentation/rgsub +8 -13
  101. data/documentation/rhyme +4 -11
  102. data/documentation/rip +1 -2
  103. data/documentation/rnip +1 -1
  104. data/documentation/selectlines +1 -7
  105. data/documentation/speakcat +2 -2
  106. data/documentation/squeeze +0 -1
  107. data/documentation/sub +2 -3
  108. data/documentation/swap +0 -2
  109. data/documentation/t +3 -12
  110. data/documentation/trim +2 -0
  111. data/documentation/underline +1 -1
  112. data/documentation/white +0 -1
  113. data/documentation/white_bold +0 -1
  114. data/documentation/white_bold_underline +0 -1
  115. data/documentation/white_underline +0 -1
  116. data/documentation/yellow +0 -1
  117. data/documentation/yellow_bold +0 -1
  118. data/documentation/yellow_bold_underline +0 -1
  119. data/documentation/yellow_underline +0 -1
  120. data/epistemology +334 -0
  121. data/gem_data/VERSION_NUMBER +1 -1
  122. data/index.html +117 -113
  123. data/non_compiled_programs/big_num +3 -0
  124. data/non_compiled_programs/chat_rb +6 -18
  125. data/non_compiled_programs/close +1 -1
  126. data/non_compiled_programs/copy +1 -0
  127. data/non_compiled_programs/email +0 -13
  128. data/non_compiled_programs/find_housing +1 -1
  129. data/non_compiled_programs/quot +7 -6
  130. data/other/ADDITIONAL_WAYS_PEOPLE_CAN_FIND_THIS +6 -1
  131. data/other/emerald-browser/Makefile +1 -1
  132. data/other/emerald-browser/OUT +6 -0
  133. data/other/emerald-browser/a.o +0 -0
  134. data/other/emerald-browser/qmake +0 -0
  135. data/other/rub +35 -0
  136. data/other/stories/1 +15 -0
  137. data/other/stories/10 +17 -0
  138. data/other/stories/100 +17 -0
  139. data/other/stories/1000 +17 -0
  140. data/other/stories/1001 +17 -0
  141. data/other/stories/101 +15 -0
  142. data/other/stories/102 +15 -0
  143. data/other/stories/103 +13 -0
  144. data/other/stories/104 +17 -0
  145. data/other/stories/105 +11 -0
  146. data/other/stories/106 +13 -0
  147. data/other/stories/107 +15 -0
  148. data/other/stories/108 +15 -0
  149. data/other/stories/109 +13 -0
  150. data/other/stories/11 +13 -0
  151. data/other/stories/110 +17 -0
  152. data/other/stories/111 +11 -0
  153. data/other/stories/112 +13 -0
  154. data/other/stories/113 +11 -0
  155. data/other/stories/114 +15 -0
  156. data/other/stories/115 +15 -0
  157. data/other/stories/116 +13 -0
  158. data/other/stories/117 +17 -0
  159. data/other/stories/118 +19 -0
  160. data/other/stories/119 +15 -0
  161. data/other/stories/12 +19 -0
  162. data/other/stories/120 +15 -0
  163. data/other/stories/121 +15 -0
  164. data/other/stories/122 +11 -0
  165. data/other/stories/123 +23 -0
  166. data/other/stories/124 +17 -0
  167. data/other/stories/125 +19 -0
  168. data/other/stories/126 +15 -0
  169. data/other/stories/127 +17 -0
  170. data/other/stories/128 +17 -0
  171. data/other/stories/129 +15 -0
  172. data/other/stories/13 +13 -0
  173. data/other/stories/130 +19 -0
  174. data/other/stories/131 +17 -0
  175. data/other/stories/132 +11 -0
  176. data/other/stories/133 +13 -0
  177. data/other/stories/134 +17 -0
  178. data/other/stories/135 +15 -0
  179. data/other/stories/136 +15 -0
  180. data/other/stories/137 +15 -0
  181. data/other/stories/138 +17 -0
  182. data/other/stories/139 +9 -0
  183. data/other/stories/14 +11 -0
  184. data/other/stories/140 +13 -0
  185. data/other/stories/141 +15 -0
  186. data/other/stories/142 +11 -0
  187. data/other/stories/143 +13 -0
  188. data/other/stories/144 +21 -0
  189. data/other/stories/145 +11 -0
  190. data/other/stories/146 +11 -0
  191. data/other/stories/147 +13 -0
  192. data/other/stories/148 +17 -0
  193. data/other/stories/149 +15 -0
  194. data/other/stories/15 +15 -0
  195. data/other/stories/150 +17 -0
  196. data/other/stories/151 +13 -0
  197. data/other/stories/152 +13 -0
  198. data/other/stories/153 +17 -0
  199. data/other/stories/154 +15 -0
  200. data/other/stories/155 +15 -0
  201. data/other/stories/156 +17 -0
  202. data/other/stories/157 +13 -0
  203. data/other/stories/158 +21 -0
  204. data/other/stories/159 +15 -0
  205. data/other/stories/16 +17 -0
  206. data/other/stories/160 +17 -0
  207. data/other/stories/161 +15 -0
  208. data/other/stories/162 +19 -0
  209. data/other/stories/163 +15 -0
  210. data/other/stories/164 +13 -0
  211. data/other/stories/165 +11 -0
  212. data/other/stories/166 +19 -0
  213. data/other/stories/167 +19 -0
  214. data/other/stories/168 +21 -0
  215. data/other/stories/169 +13 -0
  216. data/other/stories/17 +19 -0
  217. data/other/stories/170 +13 -0
  218. data/other/stories/171 +13 -0
  219. data/other/stories/172 +15 -0
  220. data/other/stories/173 +13 -0
  221. data/other/stories/174 +11 -0
  222. data/other/stories/175 +15 -0
  223. data/other/stories/176 +15 -0
  224. data/other/stories/177 +15 -0
  225. data/other/stories/178 +15 -0
  226. data/other/stories/179 +17 -0
  227. data/other/stories/18 +23 -0
  228. data/other/stories/180 +19 -0
  229. data/other/stories/181 +15 -0
  230. data/other/stories/182 +15 -0
  231. data/other/stories/183 +17 -0
  232. data/other/stories/184 +15 -0
  233. data/other/stories/185 +15 -0
  234. data/other/stories/186 +15 -0
  235. data/other/stories/187 +15 -0
  236. data/other/stories/188 +15 -0
  237. data/other/stories/189 +17 -0
  238. data/other/stories/19 +17 -0
  239. data/other/stories/190 +13 -0
  240. data/other/stories/191 +17 -0
  241. data/other/stories/192 +17 -0
  242. data/other/stories/193 +11 -0
  243. data/other/stories/194 +17 -0
  244. data/other/stories/195 +13 -0
  245. data/other/stories/196 +13 -0
  246. data/other/stories/197 +15 -0
  247. data/other/stories/198 +15 -0
  248. data/other/stories/199 +15 -0
  249. data/other/stories/2 +13 -0
  250. data/other/stories/20 +15 -0
  251. data/other/stories/200 +17 -0
  252. data/other/stories/201 +21 -0
  253. data/other/stories/202 +13 -0
  254. data/other/stories/203 +15 -0
  255. data/other/stories/204 +17 -0
  256. data/other/stories/205 +13 -0
  257. data/other/stories/206 +15 -0
  258. data/other/stories/207 +13 -0
  259. data/other/stories/208 +11 -0
  260. data/other/stories/209 +15 -0
  261. data/other/stories/21 +19 -0
  262. data/other/stories/210 +11 -0
  263. data/other/stories/211 +19 -0
  264. data/other/stories/212 +17 -0
  265. data/other/stories/213 +13 -0
  266. data/other/stories/214 +13 -0
  267. data/other/stories/215 +15 -0
  268. data/other/stories/216 +13 -0
  269. data/other/stories/217 +23 -0
  270. data/other/stories/218 +17 -0
  271. data/other/stories/219 +15 -0
  272. data/other/stories/22 +13 -0
  273. data/other/stories/220 +15 -0
  274. data/other/stories/221 +19 -0
  275. data/other/stories/222 +15 -0
  276. data/other/stories/223 +19 -0
  277. data/other/stories/224 +15 -0
  278. data/other/stories/225 +13 -0
  279. data/other/stories/226 +15 -0
  280. data/other/stories/227 +15 -0
  281. data/other/stories/228 +13 -0
  282. data/other/stories/229 +15 -0
  283. data/other/stories/23 +17 -0
  284. data/other/stories/230 +15 -0
  285. data/other/stories/231 +17 -0
  286. data/other/stories/232 +17 -0
  287. data/other/stories/233 +17 -0
  288. data/other/stories/234 +19 -0
  289. data/other/stories/235 +17 -0
  290. data/other/stories/236 +15 -0
  291. data/other/stories/237 +15 -0
  292. data/other/stories/238 +17 -0
  293. data/other/stories/239 +19 -0
  294. data/other/stories/24 +15 -0
  295. data/other/stories/240 +15 -0
  296. data/other/stories/241 +13 -0
  297. data/other/stories/242 +23 -0
  298. data/other/stories/243 +11 -0
  299. data/other/stories/244 +19 -0
  300. data/other/stories/245 +19 -0
  301. data/other/stories/246 +17 -0
  302. data/other/stories/247 +15 -0
  303. data/other/stories/248 +17 -0
  304. data/other/stories/249 +13 -0
  305. data/other/stories/25 +15 -0
  306. data/other/stories/250 +15 -0
  307. data/other/stories/251 +21 -0
  308. data/other/stories/252 +17 -0
  309. data/other/stories/253 +15 -0
  310. data/other/stories/254 +13 -0
  311. data/other/stories/255 +15 -0
  312. data/other/stories/256 +13 -0
  313. data/other/stories/257 +15 -0
  314. data/other/stories/258 +13 -0
  315. data/other/stories/259 +15 -0
  316. data/other/stories/26 +15 -0
  317. data/other/stories/260 +15 -0
  318. data/other/stories/261 +11 -0
  319. data/other/stories/262 +13 -0
  320. data/other/stories/263 +17 -0
  321. data/other/stories/264 +13 -0
  322. data/other/stories/265 +19 -0
  323. data/other/stories/266 +23 -0
  324. data/other/stories/267 +13 -0
  325. data/other/stories/268 +15 -0
  326. data/other/stories/269 +19 -0
  327. data/other/stories/27 +13 -0
  328. data/other/stories/270 +15 -0
  329. data/other/stories/271 +17 -0
  330. data/other/stories/272 +11 -0
  331. data/other/stories/273 +13 -0
  332. data/other/stories/274 +15 -0
  333. data/other/stories/275 +13 -0
  334. data/other/stories/276 +15 -0
  335. data/other/stories/277 +13 -0
  336. data/other/stories/278 +15 -0
  337. data/other/stories/279 +15 -0
  338. data/other/stories/28 +19 -0
  339. data/other/stories/280 +15 -0
  340. data/other/stories/281 +19 -0
  341. data/other/stories/282 +15 -0
  342. data/other/stories/283 +17 -0
  343. data/other/stories/284 +13 -0
  344. data/other/stories/285 +15 -0
  345. data/other/stories/286 +15 -0
  346. data/other/stories/287 +17 -0
  347. data/other/stories/288 +11 -0
  348. data/other/stories/289 +15 -0
  349. data/other/stories/29 +23 -0
  350. data/other/stories/290 +19 -0
  351. data/other/stories/291 +19 -0
  352. data/other/stories/292 +17 -0
  353. data/other/stories/293 +13 -0
  354. data/other/stories/294 +15 -0
  355. data/other/stories/295 +15 -0
  356. data/other/stories/296 +15 -0
  357. data/other/stories/297 +15 -0
  358. data/other/stories/298 +23 -0
  359. data/other/stories/299 +11 -0
  360. data/other/stories/3 +15 -0
  361. data/other/stories/30 +13 -0
  362. data/other/stories/300 +15 -0
  363. data/other/stories/301 +15 -0
  364. data/other/stories/302 +19 -0
  365. data/other/stories/303 +15 -0
  366. data/other/stories/304 +17 -0
  367. data/other/stories/305 +15 -0
  368. data/other/stories/306 +21 -0
  369. data/other/stories/307 +11 -0
  370. data/other/stories/308 +15 -0
  371. data/other/stories/309 +15 -0
  372. data/other/stories/31 +19 -0
  373. data/other/stories/310 +17 -0
  374. data/other/stories/311 +15 -0
  375. data/other/stories/312 +15 -0
  376. data/other/stories/313 +13 -0
  377. data/other/stories/314 +15 -0
  378. data/other/stories/315 +13 -0
  379. data/other/stories/316 +17 -0
  380. data/other/stories/317 +17 -0
  381. data/other/stories/318 +15 -0
  382. data/other/stories/319 +13 -0
  383. data/other/stories/32 +17 -0
  384. data/other/stories/320 +13 -0
  385. data/other/stories/321 +15 -0
  386. data/other/stories/322 +11 -0
  387. data/other/stories/323 +15 -0
  388. data/other/stories/324 +19 -0
  389. data/other/stories/325 +19 -0
  390. data/other/stories/326 +21 -0
  391. data/other/stories/327 +15 -0
  392. data/other/stories/328 +15 -0
  393. data/other/stories/329 +15 -0
  394. data/other/stories/33 +13 -0
  395. data/other/stories/330 +15 -0
  396. data/other/stories/331 +17 -0
  397. data/other/stories/332 +20 -0
  398. data/other/stories/333 +17 -0
  399. data/other/stories/334 +11 -0
  400. data/other/stories/335 +15 -0
  401. data/other/stories/336 +15 -0
  402. data/other/stories/337 +19 -0
  403. data/other/stories/338 +19 -0
  404. data/other/stories/339 +13 -0
  405. data/other/stories/34 +13 -0
  406. data/other/stories/340 +17 -0
  407. data/other/stories/341 +15 -0
  408. data/other/stories/342 +17 -0
  409. data/other/stories/343 +15 -0
  410. data/other/stories/344 +17 -0
  411. data/other/stories/345 +15 -0
  412. data/other/stories/346 +17 -0
  413. data/other/stories/347 +17 -0
  414. data/other/stories/348 +11 -0
  415. data/other/stories/349 +15 -0
  416. data/other/stories/35 +13 -0
  417. data/other/stories/350 +21 -0
  418. data/other/stories/351 +15 -0
  419. data/other/stories/352 +17 -0
  420. data/other/stories/353 +15 -0
  421. data/other/stories/354 +17 -0
  422. data/other/stories/355 +15 -0
  423. data/other/stories/356 +15 -0
  424. data/other/stories/357 +11 -0
  425. data/other/stories/358 +13 -0
  426. data/other/stories/359 +11 -0
  427. data/other/stories/36 +11 -0
  428. data/other/stories/360 +13 -0
  429. data/other/stories/361 +13 -0
  430. data/other/stories/362 +13 -0
  431. data/other/stories/363 +21 -0
  432. data/other/stories/364 +17 -0
  433. data/other/stories/365 +11 -0
  434. data/other/stories/37 +13 -0
  435. data/other/stories/38 +17 -0
  436. data/other/stories/39 +17 -0
  437. data/other/stories/4 +15 -0
  438. data/other/stories/40 +11 -0
  439. data/other/stories/4000 +15 -0
  440. data/other/stories/4001 +21 -0
  441. data/other/stories/4002 +15 -0
  442. data/other/stories/4003 +15 -0
  443. data/other/stories/4004 +15 -0
  444. data/other/stories/4005 +15 -0
  445. data/other/stories/4006 +21 -0
  446. data/other/stories/4007 +15 -0
  447. data/other/stories/4008 +15 -0
  448. data/other/stories/4009 +13 -0
  449. data/other/stories/4010 +15 -0
  450. data/other/stories/4011 +15 -0
  451. data/other/stories/4012 +17 -0
  452. data/other/stories/4013 +15 -0
  453. data/other/stories/4014 +13 -0
  454. data/other/stories/4015 +15 -0
  455. data/other/stories/4016 +17 -0
  456. data/other/stories/4017 +13 -0
  457. data/other/stories/4018 +17 -0
  458. data/other/stories/4019 +15 -0
  459. data/other/stories/4020 +19 -0
  460. data/other/stories/4021 +21 -0
  461. data/other/stories/4022 +15 -0
  462. data/other/stories/4023 +13 -0
  463. data/other/stories/4024 +13 -0
  464. data/other/stories/4025 +23 -0
  465. data/other/stories/4026 +17 -0
  466. data/other/stories/4027 +15 -0
  467. data/other/stories/4028 +13 -0
  468. data/other/stories/4029 +11 -0
  469. data/other/stories/4030 +13 -0
  470. data/other/stories/4031 +13 -0
  471. data/other/stories/4032 +13 -0
  472. data/other/stories/4033 +15 -0
  473. data/other/stories/4034 +17 -0
  474. data/other/stories/4035 +13 -0
  475. data/other/stories/41 +15 -0
  476. data/other/stories/42 +17 -0
  477. data/other/stories/43 +15 -0
  478. data/other/stories/44 +15 -0
  479. data/other/stories/45 +17 -0
  480. data/other/stories/46 +17 -0
  481. data/other/stories/47 +13 -0
  482. data/other/stories/48 +13 -0
  483. data/other/stories/49 +17 -0
  484. data/other/stories/5 +11 -0
  485. data/other/stories/50 +13 -0
  486. data/other/stories/51 +15 -0
  487. data/other/stories/52 +17 -0
  488. data/other/stories/53 +15 -0
  489. data/other/stories/54 +11 -0
  490. data/other/stories/55 +21 -0
  491. data/other/stories/56 +19 -0
  492. data/other/stories/57 +13 -0
  493. data/other/stories/58 +15 -0
  494. data/other/stories/59 +13 -0
  495. data/other/stories/6 +11 -0
  496. data/other/stories/60 +13 -0
  497. data/other/stories/61 +13 -0
  498. data/other/stories/62 +13 -0
  499. data/other/stories/63 +15 -0
  500. data/other/stories/64 +15 -0
  501. data/other/stories/65 +17 -0
  502. data/other/stories/66 +15 -0
  503. data/other/stories/67 +15 -0
  504. data/other/stories/68 +15 -0
  505. data/other/stories/69 +17 -0
  506. data/other/stories/7 +15 -0
  507. data/other/stories/70 +21 -0
  508. data/other/stories/71 +13 -0
  509. data/other/stories/72 +13 -0
  510. data/other/stories/73 +15 -0
  511. data/other/stories/74 +17 -0
  512. data/other/stories/75 +11 -0
  513. data/other/stories/76 +19 -0
  514. data/other/stories/77 +21 -0
  515. data/other/stories/78 +19 -0
  516. data/other/stories/79 +11 -0
  517. data/other/stories/8 +17 -0
  518. data/other/stories/80 +21 -0
  519. data/other/stories/81 +23 -0
  520. data/other/stories/82 +15 -0
  521. data/other/stories/83 +11 -0
  522. data/other/stories/84 +13 -0
  523. data/other/stories/85 +17 -0
  524. data/other/stories/86 +17 -0
  525. data/other/stories/87 +25 -0
  526. data/other/stories/88 +19 -0
  527. data/other/stories/89 +17 -0
  528. data/other/stories/9 +15 -0
  529. data/other/stories/90 +15 -0
  530. data/other/stories/91 +15 -0
  531. data/other/stories/92 +17 -0
  532. data/other/stories/93 +17 -0
  533. data/other/stories/94 +19 -0
  534. data/other/stories/95 +13 -0
  535. data/other/stories/96 +17 -0
  536. data/other/stories/97 +15 -0
  537. data/other/stories/98 +11 -0
  538. data/other/stories/99 +13 -0
  539. data/src/_compilation/abs +271 -0
  540. data/src/{compilation → _compilation}/add +34 -49
  541. data/src/{compilation → _compilation}/append +34 -49
  542. data/src/{compilation → _compilation}/args +33 -48
  543. data/src/_compilation/delete +271 -0
  544. data/src/{compilation → _compilation}/div +34 -49
  545. data/src/{compilation → _compilation}/exp +34 -49
  546. data/src/{compilation → _compilation}/floor +33 -48
  547. data/src/_compilation/gsub +271 -0
  548. data/src/{compilation → _compilation}/gsubip +33 -48
  549. data/src/{compilation → _compilation}/last_nth +34 -49
  550. data/src/{compilation → _compilation}/lines +34 -49
  551. data/src/{compilation/copy → _compilation/mul} +35 -50
  552. data/src/{compilation → _compilation}/nth +33 -48
  553. data/src/_compilation/nth_word +271 -0
  554. data/src/{compilation → _compilation}/prepend +34 -49
  555. data/src/{compilation → _compilation}/rip +34 -49
  556. data/src/{compilation → _compilation}/rnip +34 -49
  557. data/src/_compilation/selectlines +271 -0
  558. data/src/{compilation → _compilation}/sub +34 -49
  559. data/src/{compilation → _compilation}/swap +34 -49
  560. data/src/_compilation/trim +271 -0
  561. data/src/clock.cr +40 -39
  562. data/src/compile_all +9 -9
  563. data/src/left_right +0 -0
  564. data/src/programs/abs +0 -0
  565. data/src/programs/add +0 -0
  566. data/src/programs/append +0 -0
  567. data/src/programs/args +0 -0
  568. data/src/programs/delete +0 -0
  569. data/src/programs/div +0 -0
  570. data/src/programs/exp +0 -0
  571. data/src/programs/floor +0 -0
  572. data/src/programs/gsub +0 -0
  573. data/src/programs/gsubip +0 -0
  574. data/src/programs/last_nth +0 -0
  575. data/src/programs/lines +0 -0
  576. data/src/programs/mul +0 -0
  577. data/src/programs/nth +0 -0
  578. data/src/programs/nth_word +0 -0
  579. data/src/programs/prepend +0 -0
  580. data/src/programs/rip +0 -0
  581. data/src/programs/rnip +0 -0
  582. data/src/programs/selectlines +0 -0
  583. data/src/programs/sub +0 -0
  584. data/src/programs/swap +0 -0
  585. data/src/programs/trim +0 -0
  586. data/src/rgsub +0 -0
  587. data/src/rgsub.c +3 -5
  588. data/src/src/{code2 → code} +2 -2
  589. data/src/src/functions.cr +33 -49
  590. data/src/src/mk +2 -3
  591. data/src/src/q.cr +9 -0
  592. metadata +443 -38
  593. data/SONG +0 -156
  594. data/bin/dump +0 -0
  595. data/bin/undump +0 -0
  596. data/documentation/dump +0 -12
  597. data/documentation/undump +0 -19
  598. data/src/clock +0 -0
  599. data/src/compilation/abs +0 -286
  600. data/src/compilation/dump +0 -286
  601. data/src/compilation/gsub +0 -286
  602. data/src/compilation/mul +0 -286
  603. data/src/compilation/selectlines +0 -286
  604. data/src/compilation/undump +0 -286
  605. data/src/gsubip +0 -0
  606. data/src/programs/copy +0 -0
  607. data/src/programs/dump +0 -0
  608. data/src/programs/news +0 -0
  609. data/src/programs/undump +0 -0
  610. data/src/src/QQ +0 -15
  611. data/src/test/cat +0 -0
  612. data/src/test/foo/dog +0 -0
@@ -1,9 +1,24 @@
1
1
  #!/usr/bin/crystal
2
- require "file_utils"
3
- require "json"
4
- require "colorize"
5
2
 
6
- include FileUtils
3
+ def delete(arg)
4
+ `find -name #{arg}`.each_line do |i|
5
+ File.delete(i)
6
+ end
7
+ end
8
+
9
+
10
+ def nth_word(arg)
11
+ i = arg.to_u64 - 1
12
+ STDIN.each_line do |line|
13
+ puts line.split[i] rescue ""
14
+ end
15
+ end
16
+
17
+ def trim()
18
+ STDIN.each_line do |line|
19
+ puts line.strip
20
+ end
21
+ end
7
22
 
8
23
  def lines()
9
24
  if !STDIN.tty?
@@ -48,14 +63,6 @@ def args(arg1)
48
63
  end
49
64
  end
50
65
 
51
- def copy()
52
- command = "/usr/bin/xclip"
53
- args = ["-selection", "c"]
54
- Process.run(command, args, output: STDOUT) do |file|
55
- file.input.print STDIN.gets_to_end
56
- end
57
- end
58
-
59
66
  def mul()
60
67
  t = STDIN.read_line.to_f64
61
68
 
@@ -107,14 +114,6 @@ def abs()
107
114
  end
108
115
  end
109
116
 
110
- def dump()
111
- puts STDIN.gets_to_end.dump
112
- end
113
-
114
- def undump()
115
- puts JSON.parse(STDIN.gets_to_end)
116
- end
117
-
118
117
  def exp()
119
118
  t = STDIN.read_line.to_f64
120
119
 
@@ -138,10 +137,10 @@ end
138
137
 
139
138
  def last_nth(arg1)
140
139
  end_ = arg1.to_u64
141
- i = 0u64;
140
+ i = 0u64
142
141
  t = STDIN.gets_to_end
143
142
  if t[-1] == '\n'
144
- t = t[0..-2]
143
+ t = t[0..-2]
145
144
  end
146
145
 
147
146
  t.split("\n").reverse_each do |line|
@@ -160,7 +159,7 @@ def gsubip(arg1, arg2, arg3)
160
159
  h.print text
161
160
  end
162
161
  begin
163
- mv t, arg3
162
+ File.rename t, arg3
164
163
  rescue
165
164
  rm t
166
165
  end
@@ -172,7 +171,7 @@ def rip(arg1, arg2, arg3)
172
171
  h.print text
173
172
  end
174
173
  begin
175
- mv t, arg3
174
+ File.rename t, arg3
176
175
  rescue
177
176
  rm t
178
177
  end
@@ -194,16 +193,15 @@ def selectlines()
194
193
  end
195
194
  end
196
195
 
197
-
198
196
  def swap(file1, file2)
199
197
  [file1, file2].each do |f|
200
- File.exists?(f) || abort("No file named #{f.dump}".colorize(:red))
198
+ File.exists?(f) || abort("No file named #{f.dump}")
201
199
  end
202
200
  t = File.tempname("coreutils", "_tmp")
203
201
 
204
- mv file1, t
205
- mv file2, file1
206
- mv t, file2
202
+ File.rename file1, t
203
+ File.rename file2, file1
204
+ File.rename t, file2
207
205
  end
208
206
 
209
207
  def prepend(file)
@@ -214,7 +212,7 @@ def prepend(file)
214
212
  end
215
213
 
216
214
  begin
217
- mv t, file
215
+ File.rename t, file
218
216
  rescue
219
217
  rm t
220
218
  end
@@ -227,24 +225,13 @@ def append(file)
227
225
  h << file_data + new_data
228
226
  end
229
227
  begin
230
- mv t, file
228
+ File.rename t, file
231
229
  rescue
232
230
  rm t
233
231
  end
234
232
  end
235
233
 
236
234
  class Funcs
237
- def self.bold(text)
238
- text = text.to_s
239
- # text += two.to_s
240
-
241
- if STDOUT.tty?
242
- return text.colorize.bold.to_s
243
- else
244
- return "<b>" + text + "</b>"
245
- end
246
- end
247
-
248
235
  def self.argument_data(program, usage, long_desc)
249
236
  if !(STDOUT.tty?)
250
237
  text = "<div style='border-radius: 50px; border: 10px dotted cyan; padding: 30px;'>\n"
@@ -252,12 +239,12 @@ class Funcs
252
239
  text = ""
253
240
  end
254
241
 
255
- text += bold("NAME") + "\n\t" + program
242
+ text += ("NAME") + "\n\t" + program
256
243
  text += " - "
257
- text += program + "\n" * 2 + bold("SYNOPSIS") + "\n"
244
+ text += program + "\n" * 2 + ("SYNOPSIS") + "\n"
258
245
  # tebold_("SYNOPSIS_")# + bold("SYNOPSIS")
259
246
  text += "\t"
260
- text += bold(program) + " "
247
+ text += (program) + " "
261
248
  text += usage + "\n\n"
262
249
  text += long_desc + "\n\n"
263
250
 
@@ -267,12 +254,10 @@ class Funcs
267
254
  end
268
255
 
269
256
  puts text
270
-
271
- # puts "</
272
- # puts "</
273
257
  end
274
258
  end
275
259
 
260
+
276
261
  def main()
277
262
  if ARGV.size != 3
278
263
  Funcs.argument_data("gsubip", "[gsubip] [arguments]", "Global Substitute (Gsub) In Place\n\ngsubip is like gsub, which replaces all instances of a regular expression globally\n\n[regular expression 1] [regular expression 2] => result\n\nExample\n\ngsubip . FOO file\n\nWould make all characters in “file” become “FOO”\n\ngsubip cat dog file\n\nWould make all instances of “cat” “dog”\n\nIt is much cleaner than “sed.”\n\nYou don't need to have “sed” installed to run this program.\n\nIt doesn't read from the standard input\n\nIt takes exactly 3 arguments, no more, no fewer.\n\nSee also\n\ngsub")
@@ -1,9 +1,24 @@
1
1
  #!/usr/bin/crystal
2
- require "file_utils"
3
- require "json"
4
- require "colorize"
5
2
 
6
- include FileUtils
3
+ def delete(arg)
4
+ `find -name #{arg}`.each_line do |i|
5
+ File.delete(i)
6
+ end
7
+ end
8
+
9
+
10
+ def nth_word(arg)
11
+ i = arg.to_u64 - 1
12
+ STDIN.each_line do |line|
13
+ puts line.split[i] rescue ""
14
+ end
15
+ end
16
+
17
+ def trim()
18
+ STDIN.each_line do |line|
19
+ puts line.strip
20
+ end
21
+ end
7
22
 
8
23
  def lines()
9
24
  if !STDIN.tty?
@@ -48,14 +63,6 @@ def args(arg1)
48
63
  end
49
64
  end
50
65
 
51
- def copy()
52
- command = "/usr/bin/xclip"
53
- args = ["-selection", "c"]
54
- Process.run(command, args, output: STDOUT) do |file|
55
- file.input.print STDIN.gets_to_end
56
- end
57
- end
58
-
59
66
  def mul()
60
67
  t = STDIN.read_line.to_f64
61
68
 
@@ -107,14 +114,6 @@ def abs()
107
114
  end
108
115
  end
109
116
 
110
- def dump()
111
- puts STDIN.gets_to_end.dump
112
- end
113
-
114
- def undump()
115
- puts JSON.parse(STDIN.gets_to_end)
116
- end
117
-
118
117
  def exp()
119
118
  t = STDIN.read_line.to_f64
120
119
 
@@ -138,10 +137,10 @@ end
138
137
 
139
138
  def last_nth(arg1)
140
139
  end_ = arg1.to_u64
141
- i = 0u64;
140
+ i = 0u64
142
141
  t = STDIN.gets_to_end
143
142
  if t[-1] == '\n'
144
- t = t[0..-2]
143
+ t = t[0..-2]
145
144
  end
146
145
 
147
146
  t.split("\n").reverse_each do |line|
@@ -160,7 +159,7 @@ def gsubip(arg1, arg2, arg3)
160
159
  h.print text
161
160
  end
162
161
  begin
163
- mv t, arg3
162
+ File.rename t, arg3
164
163
  rescue
165
164
  rm t
166
165
  end
@@ -172,7 +171,7 @@ def rip(arg1, arg2, arg3)
172
171
  h.print text
173
172
  end
174
173
  begin
175
- mv t, arg3
174
+ File.rename t, arg3
176
175
  rescue
177
176
  rm t
178
177
  end
@@ -194,16 +193,15 @@ def selectlines()
194
193
  end
195
194
  end
196
195
 
197
-
198
196
  def swap(file1, file2)
199
197
  [file1, file2].each do |f|
200
- File.exists?(f) || abort("No file named #{f.dump}".colorize(:red))
198
+ File.exists?(f) || abort("No file named #{f.dump}")
201
199
  end
202
200
  t = File.tempname("coreutils", "_tmp")
203
201
 
204
- mv file1, t
205
- mv file2, file1
206
- mv t, file2
202
+ File.rename file1, t
203
+ File.rename file2, file1
204
+ File.rename t, file2
207
205
  end
208
206
 
209
207
  def prepend(file)
@@ -214,7 +212,7 @@ def prepend(file)
214
212
  end
215
213
 
216
214
  begin
217
- mv t, file
215
+ File.rename t, file
218
216
  rescue
219
217
  rm t
220
218
  end
@@ -227,24 +225,13 @@ def append(file)
227
225
  h << file_data + new_data
228
226
  end
229
227
  begin
230
- mv t, file
228
+ File.rename t, file
231
229
  rescue
232
230
  rm t
233
231
  end
234
232
  end
235
233
 
236
234
  class Funcs
237
- def self.bold(text)
238
- text = text.to_s
239
- # text += two.to_s
240
-
241
- if STDOUT.tty?
242
- return text.colorize.bold.to_s
243
- else
244
- return "<b>" + text + "</b>"
245
- end
246
- end
247
-
248
235
  def self.argument_data(program, usage, long_desc)
249
236
  if !(STDOUT.tty?)
250
237
  text = "<div style='border-radius: 50px; border: 10px dotted cyan; padding: 30px;'>\n"
@@ -252,12 +239,12 @@ class Funcs
252
239
  text = ""
253
240
  end
254
241
 
255
- text += bold("NAME") + "\n\t" + program
242
+ text += ("NAME") + "\n\t" + program
256
243
  text += " - "
257
- text += program + "\n" * 2 + bold("SYNOPSIS") + "\n"
244
+ text += program + "\n" * 2 + ("SYNOPSIS") + "\n"
258
245
  # tebold_("SYNOPSIS_")# + bold("SYNOPSIS")
259
246
  text += "\t"
260
- text += bold(program) + " "
247
+ text += (program) + " "
261
248
  text += usage + "\n\n"
262
249
  text += long_desc + "\n\n"
263
250
 
@@ -267,15 +254,13 @@ class Funcs
267
254
  end
268
255
 
269
256
  puts text
270
-
271
- # puts "</
272
- # puts "</
273
257
  end
274
258
  end
275
259
 
260
+
276
261
  def main()
277
262
  if ARGV.size != 1
278
- Funcs.argument_data("last_nth", "[last_nth] [arguments]", "Last nth gets the last n lines from the standard input")
263
+ Funcs.argument_data("last_nth", "[last_nth] [arguments]", "Last nth gets the last n lines from input\n\nFor example\n\nlast_nth 3\n\n\nWould get the 3rd from the last line")
279
264
  exit 1
280
265
  end
281
266
 
@@ -1,9 +1,24 @@
1
1
  #!/usr/bin/crystal
2
- require "file_utils"
3
- require "json"
4
- require "colorize"
5
2
 
6
- include FileUtils
3
+ def delete(arg)
4
+ `find -name #{arg}`.each_line do |i|
5
+ File.delete(i)
6
+ end
7
+ end
8
+
9
+
10
+ def nth_word(arg)
11
+ i = arg.to_u64 - 1
12
+ STDIN.each_line do |line|
13
+ puts line.split[i] rescue ""
14
+ end
15
+ end
16
+
17
+ def trim()
18
+ STDIN.each_line do |line|
19
+ puts line.strip
20
+ end
21
+ end
7
22
 
8
23
  def lines()
9
24
  if !STDIN.tty?
@@ -48,14 +63,6 @@ def args(arg1)
48
63
  end
49
64
  end
50
65
 
51
- def copy()
52
- command = "/usr/bin/xclip"
53
- args = ["-selection", "c"]
54
- Process.run(command, args, output: STDOUT) do |file|
55
- file.input.print STDIN.gets_to_end
56
- end
57
- end
58
-
59
66
  def mul()
60
67
  t = STDIN.read_line.to_f64
61
68
 
@@ -107,14 +114,6 @@ def abs()
107
114
  end
108
115
  end
109
116
 
110
- def dump()
111
- puts STDIN.gets_to_end.dump
112
- end
113
-
114
- def undump()
115
- puts JSON.parse(STDIN.gets_to_end)
116
- end
117
-
118
117
  def exp()
119
118
  t = STDIN.read_line.to_f64
120
119
 
@@ -138,10 +137,10 @@ end
138
137
 
139
138
  def last_nth(arg1)
140
139
  end_ = arg1.to_u64
141
- i = 0u64;
140
+ i = 0u64
142
141
  t = STDIN.gets_to_end
143
142
  if t[-1] == '\n'
144
- t = t[0..-2]
143
+ t = t[0..-2]
145
144
  end
146
145
 
147
146
  t.split("\n").reverse_each do |line|
@@ -160,7 +159,7 @@ def gsubip(arg1, arg2, arg3)
160
159
  h.print text
161
160
  end
162
161
  begin
163
- mv t, arg3
162
+ File.rename t, arg3
164
163
  rescue
165
164
  rm t
166
165
  end
@@ -172,7 +171,7 @@ def rip(arg1, arg2, arg3)
172
171
  h.print text
173
172
  end
174
173
  begin
175
- mv t, arg3
174
+ File.rename t, arg3
176
175
  rescue
177
176
  rm t
178
177
  end
@@ -194,16 +193,15 @@ def selectlines()
194
193
  end
195
194
  end
196
195
 
197
-
198
196
  def swap(file1, file2)
199
197
  [file1, file2].each do |f|
200
- File.exists?(f) || abort("No file named #{f.dump}".colorize(:red))
198
+ File.exists?(f) || abort("No file named #{f.dump}")
201
199
  end
202
200
  t = File.tempname("coreutils", "_tmp")
203
201
 
204
- mv file1, t
205
- mv file2, file1
206
- mv t, file2
202
+ File.rename file1, t
203
+ File.rename file2, file1
204
+ File.rename t, file2
207
205
  end
208
206
 
209
207
  def prepend(file)
@@ -214,7 +212,7 @@ def prepend(file)
214
212
  end
215
213
 
216
214
  begin
217
- mv t, file
215
+ File.rename t, file
218
216
  rescue
219
217
  rm t
220
218
  end
@@ -227,24 +225,13 @@ def append(file)
227
225
  h << file_data + new_data
228
226
  end
229
227
  begin
230
- mv t, file
228
+ File.rename t, file
231
229
  rescue
232
230
  rm t
233
231
  end
234
232
  end
235
233
 
236
234
  class Funcs
237
- def self.bold(text)
238
- text = text.to_s
239
- # text += two.to_s
240
-
241
- if STDOUT.tty?
242
- return text.colorize.bold.to_s
243
- else
244
- return "<b>" + text + "</b>"
245
- end
246
- end
247
-
248
235
  def self.argument_data(program, usage, long_desc)
249
236
  if !(STDOUT.tty?)
250
237
  text = "<div style='border-radius: 50px; border: 10px dotted cyan; padding: 30px;'>\n"
@@ -252,12 +239,12 @@ class Funcs
252
239
  text = ""
253
240
  end
254
241
 
255
- text += bold("NAME") + "\n\t" + program
242
+ text += ("NAME") + "\n\t" + program
256
243
  text += " - "
257
- text += program + "\n" * 2 + bold("SYNOPSIS") + "\n"
244
+ text += program + "\n" * 2 + ("SYNOPSIS") + "\n"
258
245
  # tebold_("SYNOPSIS_")# + bold("SYNOPSIS")
259
246
  text += "\t"
260
- text += bold(program) + " "
247
+ text += (program) + " "
261
248
  text += usage + "\n\n"
262
249
  text += long_desc + "\n\n"
263
250
 
@@ -267,15 +254,13 @@ class Funcs
267
254
  end
268
255
 
269
256
  puts text
270
-
271
- # puts "</
272
- # puts "</
273
257
  end
274
258
  end
275
259
 
260
+
276
261
  def main()
277
262
  if ARGV.size != 0
278
- Funcs.argument_data("lines", "[lines] [arguments]", "Lines gets the number of files in the current folder that you are in.\n\n\nIt can also act like \"wc -l\" if you pipe data into it.")
263
+ Funcs.argument_data("lines", "[lines] [arguments]", "Lines gets the number of files in the current folder that you are in.\n\nIt can also act like wc -l if you pipe data into it.")
279
264
  exit 1
280
265
  end
281
266
 
@@ -1,9 +1,24 @@
1
1
  #!/usr/bin/crystal
2
- require "file_utils"
3
- require "json"
4
- require "colorize"
5
2
 
6
- include FileUtils
3
+ def delete(arg)
4
+ `find -name #{arg}`.each_line do |i|
5
+ File.delete(i)
6
+ end
7
+ end
8
+
9
+
10
+ def nth_word(arg)
11
+ i = arg.to_u64 - 1
12
+ STDIN.each_line do |line|
13
+ puts line.split[i] rescue ""
14
+ end
15
+ end
16
+
17
+ def trim()
18
+ STDIN.each_line do |line|
19
+ puts line.strip
20
+ end
21
+ end
7
22
 
8
23
  def lines()
9
24
  if !STDIN.tty?
@@ -48,14 +63,6 @@ def args(arg1)
48
63
  end
49
64
  end
50
65
 
51
- def copy()
52
- command = "/usr/bin/xclip"
53
- args = ["-selection", "c"]
54
- Process.run(command, args, output: STDOUT) do |file|
55
- file.input.print STDIN.gets_to_end
56
- end
57
- end
58
-
59
66
  def mul()
60
67
  t = STDIN.read_line.to_f64
61
68
 
@@ -107,14 +114,6 @@ def abs()
107
114
  end
108
115
  end
109
116
 
110
- def dump()
111
- puts STDIN.gets_to_end.dump
112
- end
113
-
114
- def undump()
115
- puts JSON.parse(STDIN.gets_to_end)
116
- end
117
-
118
117
  def exp()
119
118
  t = STDIN.read_line.to_f64
120
119
 
@@ -138,10 +137,10 @@ end
138
137
 
139
138
  def last_nth(arg1)
140
139
  end_ = arg1.to_u64
141
- i = 0u64;
140
+ i = 0u64
142
141
  t = STDIN.gets_to_end
143
142
  if t[-1] == '\n'
144
- t = t[0..-2]
143
+ t = t[0..-2]
145
144
  end
146
145
 
147
146
  t.split("\n").reverse_each do |line|
@@ -160,7 +159,7 @@ def gsubip(arg1, arg2, arg3)
160
159
  h.print text
161
160
  end
162
161
  begin
163
- mv t, arg3
162
+ File.rename t, arg3
164
163
  rescue
165
164
  rm t
166
165
  end
@@ -172,7 +171,7 @@ def rip(arg1, arg2, arg3)
172
171
  h.print text
173
172
  end
174
173
  begin
175
- mv t, arg3
174
+ File.rename t, arg3
176
175
  rescue
177
176
  rm t
178
177
  end
@@ -194,16 +193,15 @@ def selectlines()
194
193
  end
195
194
  end
196
195
 
197
-
198
196
  def swap(file1, file2)
199
197
  [file1, file2].each do |f|
200
- File.exists?(f) || abort("No file named #{f.dump}".colorize(:red))
198
+ File.exists?(f) || abort("No file named #{f.dump}")
201
199
  end
202
200
  t = File.tempname("coreutils", "_tmp")
203
201
 
204
- mv file1, t
205
- mv file2, file1
206
- mv t, file2
202
+ File.rename file1, t
203
+ File.rename file2, file1
204
+ File.rename t, file2
207
205
  end
208
206
 
209
207
  def prepend(file)
@@ -214,7 +212,7 @@ def prepend(file)
214
212
  end
215
213
 
216
214
  begin
217
- mv t, file
215
+ File.rename t, file
218
216
  rescue
219
217
  rm t
220
218
  end
@@ -227,24 +225,13 @@ def append(file)
227
225
  h << file_data + new_data
228
226
  end
229
227
  begin
230
- mv t, file
228
+ File.rename t, file
231
229
  rescue
232
230
  rm t
233
231
  end
234
232
  end
235
233
 
236
234
  class Funcs
237
- def self.bold(text)
238
- text = text.to_s
239
- # text += two.to_s
240
-
241
- if STDOUT.tty?
242
- return text.colorize.bold.to_s
243
- else
244
- return "<b>" + text + "</b>"
245
- end
246
- end
247
-
248
235
  def self.argument_data(program, usage, long_desc)
249
236
  if !(STDOUT.tty?)
250
237
  text = "<div style='border-radius: 50px; border: 10px dotted cyan; padding: 30px;'>\n"
@@ -252,12 +239,12 @@ class Funcs
252
239
  text = ""
253
240
  end
254
241
 
255
- text += bold("NAME") + "\n\t" + program
242
+ text += ("NAME") + "\n\t" + program
256
243
  text += " - "
257
- text += program + "\n" * 2 + bold("SYNOPSIS") + "\n"
244
+ text += program + "\n" * 2 + ("SYNOPSIS") + "\n"
258
245
  # tebold_("SYNOPSIS_")# + bold("SYNOPSIS")
259
246
  text += "\t"
260
- text += bold(program) + " "
247
+ text += (program) + " "
261
248
  text += usage + "\n\n"
262
249
  text += long_desc + "\n\n"
263
250
 
@@ -267,19 +254,17 @@ class Funcs
267
254
  end
268
255
 
269
256
  puts text
270
-
271
- # puts "</
272
- # puts "</
273
257
  end
274
258
  end
275
259
 
260
+
276
261
  def main()
277
262
  if ARGV.size != 0
278
- Funcs.argument_data("copy", "[copy] [arguments]", "copy copies the standard input\n\nExample\n\nls | copy")
263
+ Funcs.argument_data("mul", "[mul] [arguments]", "Multiply numbers\n\necho 1 > file\necho 2 >> file\necho 3 >> file\necho 4 >> file\necho 5 >> file\n\ncat file | mul\n\n=> 120")
279
264
  exit 1
280
265
  end
281
266
 
282
- copy
267
+ mul
283
268
  end
284
269
 
285
270