rio 0.3.9 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (315) hide show
  1. data/README +14 -8
  2. data/Rakefile +7 -9
  3. data/doc/ANNOUNCE +61 -46
  4. data/doc/RELEASE_NOTES +12 -3
  5. data/doc/RIOIS +7 -7
  6. data/doc/generators/template/html/rio.rb +7 -8
  7. data/doc/generators/template/html/ugly.rb +4 -2
  8. data/doc/pkg_def.rb +4 -10
  9. data/doc/rdoc/classes/Kernel.html +133 -0
  10. data/doc/rdoc/classes/Kernel.src/M000233.html +18 -0
  11. data/doc/rdoc/classes/RIO.html +625 -0
  12. data/doc/rdoc/classes/RIO.src/M000001.html +18 -0
  13. data/doc/rdoc/classes/RIO.src/M000002.html +18 -0
  14. data/doc/rdoc/classes/RIO.src/M000003.html +18 -0
  15. data/doc/rdoc/classes/RIO/Doc.html +148 -0
  16. data/doc/rdoc/classes/RIO/Doc/EXAMPLES.html +432 -0
  17. data/doc/rdoc/classes/RIO/Doc/HOWTO.html +1075 -0
  18. data/doc/rdoc/classes/RIO/Doc/INDEX.html +368 -0
  19. data/doc/rdoc/classes/RIO/Doc/INTRO.html +1533 -0
  20. data/doc/rdoc/classes/RIO/Doc/OPTIONAL.html +221 -0
  21. data/doc/rdoc/classes/RIO/Doc/SYNOPSIS.html +337 -0
  22. data/doc/rdoc/classes/RIO/IF.html +165 -0
  23. data/doc/rdoc/classes/RIO/IF/CSV.html +203 -0
  24. data/doc/rdoc/classes/RIO/IF/CSV.src/M000116.html +19 -0
  25. data/doc/rdoc/classes/RIO/IF/CSV.src/M000117.html +16 -0
  26. data/doc/rdoc/classes/RIO/IF/CSV.src/M000118.html +16 -0
  27. data/doc/rdoc/classes/RIO/IF/Dir.html +343 -0
  28. data/doc/rdoc/classes/RIO/IF/Dir.src/M000045.html +16 -0
  29. data/doc/rdoc/classes/RIO/IF/Dir.src/M000046.html +16 -0
  30. data/doc/rdoc/classes/RIO/IF/Dir.src/M000047.html +16 -0
  31. data/doc/rdoc/classes/RIO/IF/Dir.src/M000048.html +16 -0
  32. data/doc/rdoc/classes/RIO/IF/Dir.src/M000049.html +16 -0
  33. data/doc/rdoc/classes/RIO/IF/Dir.src/M000050.html +16 -0
  34. data/doc/rdoc/classes/RIO/IF/Dir.src/M000051.html +16 -0
  35. data/doc/rdoc/classes/RIO/IF/File.html +223 -0
  36. data/doc/rdoc/classes/RIO/IF/File.src/M000212.html +16 -0
  37. data/doc/rdoc/classes/RIO/IF/File.src/M000213.html +16 -0
  38. data/doc/rdoc/classes/RIO/IF/File.src/M000214.html +16 -0
  39. data/doc/rdoc/classes/RIO/IF/File.src/M000215.html +16 -0
  40. data/doc/rdoc/classes/RIO/IF/FileOrDir.html +572 -0
  41. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000155.html +16 -0
  42. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000156.html +16 -0
  43. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000157.html +16 -0
  44. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000158.html +16 -0
  45. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000159.html +16 -0
  46. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000160.html +16 -0
  47. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000161.html +16 -0
  48. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000162.html +16 -0
  49. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000163.html +16 -0
  50. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000164.html +16 -0
  51. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000165.html +16 -0
  52. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000166.html +16 -0
  53. data/doc/rdoc/classes/RIO/IF/Grande.html +1349 -0
  54. data/doc/rdoc/classes/RIO/IF/Grande.src/M000088.html +16 -0
  55. data/doc/rdoc/classes/RIO/IF/Grande.src/M000089.html +16 -0
  56. data/doc/rdoc/classes/RIO/IF/Grande.src/M000090.html +16 -0
  57. data/doc/rdoc/classes/RIO/IF/Grande.src/M000091.html +16 -0
  58. data/doc/rdoc/classes/RIO/IF/Grande.src/M000092.html +16 -0
  59. data/doc/rdoc/classes/RIO/IF/Grande.src/M000093.html +21 -0
  60. data/doc/rdoc/classes/RIO/IF/Grande.src/M000094.html +16 -0
  61. data/doc/rdoc/classes/RIO/IF/Grande.src/M000095.html +16 -0
  62. data/doc/rdoc/classes/RIO/IF/Grande.src/M000096.html +16 -0
  63. data/doc/rdoc/classes/RIO/IF/Grande.src/M000097.html +16 -0
  64. data/doc/rdoc/classes/RIO/IF/Grande.src/M000098.html +16 -0
  65. data/doc/rdoc/classes/RIO/IF/Grande.src/M000099.html +16 -0
  66. data/doc/rdoc/classes/RIO/IF/Grande.src/M000100.html +21 -0
  67. data/doc/rdoc/classes/RIO/IF/Grande.src/M000101.html +16 -0
  68. data/doc/rdoc/classes/RIO/IF/Grande.src/M000102.html +16 -0
  69. data/doc/rdoc/classes/RIO/IF/Grande.src/M000103.html +16 -0
  70. data/doc/rdoc/classes/RIO/IF/Grande.src/M000104.html +16 -0
  71. data/doc/rdoc/classes/RIO/IF/Grande.src/M000105.html +16 -0
  72. data/doc/rdoc/classes/RIO/IF/GrandeEntry.html +810 -0
  73. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000106.html +16 -0
  74. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000107.html +16 -0
  75. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000108.html +16 -0
  76. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000109.html +16 -0
  77. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000110.html +16 -0
  78. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000111.html +16 -0
  79. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000112.html +16 -0
  80. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000113.html +16 -0
  81. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000114.html +16 -0
  82. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000115.html +16 -0
  83. data/doc/rdoc/classes/RIO/IF/GrandeStream.html +1513 -0
  84. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000052.html +16 -0
  85. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000053.html +16 -0
  86. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000054.html +16 -0
  87. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000055.html +16 -0
  88. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000056.html +16 -0
  89. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000057.html +16 -0
  90. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000058.html +16 -0
  91. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000059.html +16 -0
  92. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000060.html +16 -0
  93. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000061.html +16 -0
  94. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000062.html +16 -0
  95. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000063.html +16 -0
  96. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000064.html +16 -0
  97. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000065.html +16 -0
  98. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000066.html +16 -0
  99. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000067.html +16 -0
  100. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000068.html +19 -0
  101. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000069.html +16 -0
  102. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000070.html +16 -0
  103. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000071.html +16 -0
  104. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000072.html +16 -0
  105. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000073.html +16 -0
  106. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000074.html +16 -0
  107. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000075.html +16 -0
  108. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000076.html +16 -0
  109. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000077.html +16 -0
  110. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000078.html +16 -0
  111. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000079.html +16 -0
  112. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000080.html +16 -0
  113. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000081.html +16 -0
  114. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000082.html +16 -0
  115. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000083.html +16 -0
  116. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000084.html +16 -0
  117. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000085.html +16 -0
  118. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000086.html +16 -0
  119. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000087.html +16 -0
  120. data/doc/rdoc/classes/RIO/IF/Path.html +999 -0
  121. data/doc/rdoc/classes/RIO/IF/Path.src/M000180.html +16 -0
  122. data/doc/rdoc/classes/RIO/IF/Path.src/M000181.html +16 -0
  123. data/doc/rdoc/classes/RIO/IF/Path.src/M000182.html +16 -0
  124. data/doc/rdoc/classes/RIO/IF/Path.src/M000183.html +16 -0
  125. data/doc/rdoc/classes/RIO/IF/Path.src/M000184.html +16 -0
  126. data/doc/rdoc/classes/RIO/IF/Path.src/M000185.html +16 -0
  127. data/doc/rdoc/classes/RIO/IF/Path.src/M000186.html +16 -0
  128. data/doc/rdoc/classes/RIO/IF/Path.src/M000187.html +16 -0
  129. data/doc/rdoc/classes/RIO/IF/Path.src/M000188.html +16 -0
  130. data/doc/rdoc/classes/RIO/IF/Path.src/M000189.html +16 -0
  131. data/doc/rdoc/classes/RIO/IF/Path.src/M000190.html +16 -0
  132. data/doc/rdoc/classes/RIO/IF/Path.src/M000191.html +16 -0
  133. data/doc/rdoc/classes/RIO/IF/Path.src/M000192.html +16 -0
  134. data/doc/rdoc/classes/RIO/IF/Path.src/M000193.html +16 -0
  135. data/doc/rdoc/classes/RIO/IF/Path.src/M000194.html +16 -0
  136. data/doc/rdoc/classes/RIO/IF/Path.src/M000195.html +16 -0
  137. data/doc/rdoc/classes/RIO/IF/Path.src/M000196.html +16 -0
  138. data/doc/rdoc/classes/RIO/IF/Path.src/M000197.html +16 -0
  139. data/doc/rdoc/classes/RIO/IF/Path.src/M000198.html +16 -0
  140. data/doc/rdoc/classes/RIO/IF/Path.src/M000199.html +16 -0
  141. data/doc/rdoc/classes/RIO/IF/Path.src/M000200.html +16 -0
  142. data/doc/rdoc/classes/RIO/IF/Path.src/M000201.html +16 -0
  143. data/doc/rdoc/classes/RIO/IF/Path.src/M000202.html +18 -0
  144. data/doc/rdoc/classes/RIO/IF/Path.src/M000203.html +16 -0
  145. data/doc/rdoc/classes/RIO/IF/Path.src/M000204.html +16 -0
  146. data/doc/rdoc/classes/RIO/IF/Path.src/M000205.html +16 -0
  147. data/doc/rdoc/classes/RIO/IF/Path.src/M000206.html +16 -0
  148. data/doc/rdoc/classes/RIO/IF/Path.src/M000207.html +16 -0
  149. data/doc/rdoc/classes/RIO/IF/Path.src/M000208.html +16 -0
  150. data/doc/rdoc/classes/RIO/IF/Path.src/M000209.html +16 -0
  151. data/doc/rdoc/classes/RIO/IF/Path.src/M000210.html +16 -0
  152. data/doc/rdoc/classes/RIO/IF/Path.src/M000211.html +16 -0
  153. data/doc/rdoc/classes/RIO/IF/RubyIO.html +1414 -0
  154. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000004.html +16 -0
  155. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000005.html +16 -0
  156. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000006.html +16 -0
  157. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000007.html +16 -0
  158. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000008.html +16 -0
  159. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000009.html +16 -0
  160. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000010.html +16 -0
  161. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000011.html +16 -0
  162. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000012.html +16 -0
  163. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000013.html +16 -0
  164. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000014.html +16 -0
  165. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000015.html +16 -0
  166. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000016.html +16 -0
  167. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000017.html +16 -0
  168. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000018.html +16 -0
  169. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000019.html +16 -0
  170. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000020.html +16 -0
  171. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000021.html +16 -0
  172. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000022.html +16 -0
  173. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000023.html +16 -0
  174. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000024.html +16 -0
  175. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000025.html +16 -0
  176. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000026.html +16 -0
  177. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000027.html +16 -0
  178. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000028.html +16 -0
  179. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000029.html +16 -0
  180. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000030.html +16 -0
  181. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000031.html +16 -0
  182. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000032.html +16 -0
  183. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000033.html +16 -0
  184. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000034.html +16 -0
  185. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000035.html +16 -0
  186. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000036.html +16 -0
  187. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000037.html +16 -0
  188. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000038.html +16 -0
  189. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000039.html +16 -0
  190. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000040.html +16 -0
  191. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000041.html +16 -0
  192. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000042.html +16 -0
  193. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000043.html +16 -0
  194. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000044.html +16 -0
  195. data/doc/rdoc/classes/RIO/IF/String.html +203 -0
  196. data/doc/rdoc/classes/RIO/IF/String.src/M000216.html +16 -0
  197. data/doc/rdoc/classes/RIO/IF/String.src/M000217.html +16 -0
  198. data/doc/rdoc/classes/RIO/IF/String.src/M000218.html +16 -0
  199. data/doc/rdoc/classes/RIO/IF/Test.html +990 -0
  200. data/doc/rdoc/classes/RIO/IF/Test.src/M000119.html +16 -0
  201. data/doc/rdoc/classes/RIO/IF/Test.src/M000120.html +16 -0
  202. data/doc/rdoc/classes/RIO/IF/Test.src/M000121.html +16 -0
  203. data/doc/rdoc/classes/RIO/IF/Test.src/M000122.html +16 -0
  204. data/doc/rdoc/classes/RIO/IF/Test.src/M000123.html +16 -0
  205. data/doc/rdoc/classes/RIO/IF/Test.src/M000124.html +16 -0
  206. data/doc/rdoc/classes/RIO/IF/Test.src/M000125.html +16 -0
  207. data/doc/rdoc/classes/RIO/IF/Test.src/M000126.html +16 -0
  208. data/doc/rdoc/classes/RIO/IF/Test.src/M000127.html +16 -0
  209. data/doc/rdoc/classes/RIO/IF/Test.src/M000128.html +16 -0
  210. data/doc/rdoc/classes/RIO/IF/Test.src/M000129.html +16 -0
  211. data/doc/rdoc/classes/RIO/IF/Test.src/M000130.html +16 -0
  212. data/doc/rdoc/classes/RIO/IF/Test.src/M000131.html +16 -0
  213. data/doc/rdoc/classes/RIO/IF/Test.src/M000132.html +16 -0
  214. data/doc/rdoc/classes/RIO/IF/Test.src/M000133.html +16 -0
  215. data/doc/rdoc/classes/RIO/IF/Test.src/M000134.html +16 -0
  216. data/doc/rdoc/classes/RIO/IF/Test.src/M000135.html +16 -0
  217. data/doc/rdoc/classes/RIO/IF/Test.src/M000136.html +16 -0
  218. data/doc/rdoc/classes/RIO/IF/Test.src/M000137.html +16 -0
  219. data/doc/rdoc/classes/RIO/IF/Test.src/M000138.html +16 -0
  220. data/doc/rdoc/classes/RIO/IF/Test.src/M000139.html +16 -0
  221. data/doc/rdoc/classes/RIO/IF/Test.src/M000140.html +16 -0
  222. data/doc/rdoc/classes/RIO/IF/Test.src/M000141.html +16 -0
  223. data/doc/rdoc/classes/RIO/IF/Test.src/M000142.html +16 -0
  224. data/doc/rdoc/classes/RIO/IF/Test.src/M000143.html +16 -0
  225. data/doc/rdoc/classes/RIO/IF/Test.src/M000144.html +16 -0
  226. data/doc/rdoc/classes/RIO/IF/Test.src/M000145.html +16 -0
  227. data/doc/rdoc/classes/RIO/IF/Test.src/M000146.html +16 -0
  228. data/doc/rdoc/classes/RIO/IF/Test.src/M000147.html +16 -0
  229. data/doc/rdoc/classes/RIO/IF/Test.src/M000148.html +16 -0
  230. data/doc/rdoc/classes/RIO/IF/Test.src/M000149.html +16 -0
  231. data/doc/rdoc/classes/RIO/IF/Test.src/M000150.html +16 -0
  232. data/doc/rdoc/classes/RIO/IF/Test.src/M000151.html +16 -0
  233. data/doc/rdoc/classes/RIO/IF/Test.src/M000152.html +16 -0
  234. data/doc/rdoc/classes/RIO/IF/Test.src/M000153.html +16 -0
  235. data/doc/rdoc/classes/RIO/IF/Test.src/M000154.html +16 -0
  236. data/doc/rdoc/classes/RIO/IF/YAML.html +517 -0
  237. data/doc/rdoc/classes/RIO/IF/YAML.src/M000167.html +19 -0
  238. data/doc/rdoc/classes/RIO/IF/YAML.src/M000168.html +16 -0
  239. data/doc/rdoc/classes/RIO/IF/YAML.src/M000169.html +16 -0
  240. data/doc/rdoc/classes/RIO/IF/YAML.src/M000170.html +16 -0
  241. data/doc/rdoc/classes/RIO/IF/YAML.src/M000171.html +16 -0
  242. data/doc/rdoc/classes/RIO/IF/YAML.src/M000172.html +16 -0
  243. data/doc/rdoc/classes/RIO/IF/YAML.src/M000173.html +16 -0
  244. data/doc/rdoc/classes/RIO/IF/YAML.src/M000174.html +16 -0
  245. data/doc/rdoc/classes/RIO/IF/YAML.src/M000175.html +16 -0
  246. data/doc/rdoc/classes/RIO/IF/YAML.src/M000176.html +16 -0
  247. data/doc/rdoc/classes/RIO/IF/YAML.src/M000177.html +16 -0
  248. data/doc/rdoc/classes/RIO/IF/YAML.src/M000178.html +16 -0
  249. data/doc/rdoc/classes/RIO/IF/YAML.src/M000179.html +16 -0
  250. data/doc/rdoc/classes/RIO/Rio.html +508 -0
  251. data/doc/rdoc/classes/RIO/Rio.src/M000219.html +18 -0
  252. data/doc/rdoc/classes/RIO/Rio.src/M000220.html +20 -0
  253. data/doc/rdoc/classes/RIO/Rio.src/M000221.html +27 -0
  254. data/doc/rdoc/classes/RIO/Rio.src/M000222.html +16 -0
  255. data/doc/rdoc/classes/RIO/Rio.src/M000224.html +19 -0
  256. data/doc/rdoc/classes/RIO/Rio.src/M000225.html +20 -0
  257. data/doc/rdoc/classes/RIO/Rio.src/M000226.html +16 -0
  258. data/doc/rdoc/classes/RIO/Rio.src/M000227.html +16 -0
  259. data/doc/rdoc/classes/RIO/Rio.src/M000228.html +16 -0
  260. data/doc/rdoc/classes/RIO/Rio.src/M000229.html +16 -0
  261. data/doc/rdoc/classes/RIO/Rio.src/M000230.html +16 -0
  262. data/doc/rdoc/classes/RIO/Rio.src/M000231.html +16 -0
  263. data/doc/rdoc/classes/RIO/Rio.src/M000232.html +16 -0
  264. data/doc/rdoc/created.rid +1 -0
  265. data/doc/rdoc/files/README.html +229 -0
  266. data/doc/rdoc/files/lib/rio/constructor_rb.html +141 -0
  267. data/doc/rdoc/files/lib/rio/doc/EXAMPLES_rb.html +134 -0
  268. data/doc/rdoc/files/lib/rio/doc/HOWTO_rb.html +134 -0
  269. data/doc/rdoc/files/lib/rio/doc/INDEX_rb.html +134 -0
  270. data/doc/rdoc/files/lib/rio/doc/INTRO_rb.html +134 -0
  271. data/doc/rdoc/files/lib/rio/doc/OPTIONAL_rb.html +134 -0
  272. data/doc/rdoc/files/lib/rio/doc/SYNOPSIS_rb.html +134 -0
  273. data/doc/rdoc/files/lib/rio/if/basic_rb.html +134 -0
  274. data/doc/rdoc/files/lib/rio/if/csv_rb.html +134 -0
  275. data/doc/rdoc/files/lib/rio/if/dir_rb.html +134 -0
  276. data/doc/rdoc/files/lib/rio/if/file_rb.html +134 -0
  277. data/doc/rdoc/files/lib/rio/if/fileordir_rb.html +134 -0
  278. data/doc/rdoc/files/lib/rio/if/grande_entry_rb.html +134 -0
  279. data/doc/rdoc/files/lib/rio/if/grande_rb.html +141 -0
  280. data/doc/rdoc/files/lib/rio/if/grande_stream_rb.html +134 -0
  281. data/doc/rdoc/files/lib/rio/if/internal_rb.html +134 -0
  282. data/doc/rdoc/files/lib/rio/if/path_rb.html +134 -0
  283. data/doc/rdoc/files/lib/rio/if/rubyio_rb.html +134 -0
  284. data/doc/rdoc/files/lib/rio/if/string_rb.html +134 -0
  285. data/doc/rdoc/files/lib/rio/if/temp_rb.html +134 -0
  286. data/doc/rdoc/files/lib/rio/if/test_rb.html +134 -0
  287. data/doc/rdoc/files/lib/rio/if/yaml_rb.html +134 -0
  288. data/doc/rdoc/files/lib/rio/kernel_rb.html +142 -0
  289. data/doc/rdoc/files/lib/rio_rb.html +153 -0
  290. data/doc/rdoc/fr_class_index.html +49 -0
  291. data/doc/rdoc/fr_file_index.html +51 -0
  292. data/doc/rdoc/fr_method_index.html +259 -0
  293. data/doc/rdoc/index.html +30 -0
  294. data/doc/rdoc/rdoc-style.css +428 -0
  295. data/lib/rio/cp.rb +9 -8
  296. data/lib/rio/doc/HOWTO.rb +46 -32
  297. data/lib/rio/doc/INDEX.rb +311 -0
  298. data/lib/rio/doc/INTRO.rb +10 -10
  299. data/lib/rio/doc/OPTIONAL.rb +6 -9
  300. data/lib/rio/doc/SYNOPSIS.rb +54 -57
  301. data/lib/rio/ext/csv.rb +5 -1
  302. data/lib/rio/ext/yaml.rb +19 -40
  303. data/lib/rio/if/fileordir.rb +1 -1
  304. data/lib/rio/if/grande.rb +4 -4
  305. data/lib/rio/if/grande_entry.rb +6 -0
  306. data/lib/rio/if/grande_stream.rb +10 -8
  307. data/lib/rio/if/path.rb +1 -1
  308. data/lib/rio/if/rubyio.rb +4 -4
  309. data/lib/rio/if/yaml.rb +27 -13
  310. data/lib/rio/ops/stream/input.rb +0 -1
  311. data/lib/rio/stream.rb +1 -0
  312. data/lib/rio/version.rb +1 -1
  313. data/test/tc/synopsis.rb +75 -0
  314. data/test/tc/yaml.rb +150 -4
  315. metadata +314 -2
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>opaque (RIO::IF::Path)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/rio/if/path.rb, line 407</span>
14
+ 407: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">opaque</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) <span class="ruby-identifier">target</span>.<span class="ruby-identifier">opaque</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">end</span></pre>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>merge (RIO::IF::Path)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/rio/if/path.rb, line 417</span>
14
+ 417: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge</span>(<span class="ruby-identifier">other</span>) <span class="ruby-identifier">target</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">other</span>) <span class="ruby-keyword kw">end</span></pre>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>route_from (RIO::IF::Path)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/rio/if/path.rb, line 425</span>
14
+ 425: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">route_from</span>(<span class="ruby-identifier">other</span>) <span class="ruby-identifier">target</span>.<span class="ruby-identifier">route_from</span>(<span class="ruby-identifier">other</span>) <span class="ruby-keyword kw">end</span></pre>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>route_to (RIO::IF::Path)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/rio/if/path.rb, line 432</span>
14
+ 432: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">route_to</span>(<span class="ruby-identifier">other</span>) <span class="ruby-identifier">target</span>.<span class="ruby-identifier">route_to</span>(<span class="ruby-identifier">other</span>) <span class="ruby-keyword kw">end</span></pre>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>cleanpath (RIO::IF::Path)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/rio/if/path.rb, line 445</span>
14
+ 445: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cleanpath</span>(<span class="ruby-identifier">consider_symlink</span>=<span class="ruby-keyword kw">false</span>) <span class="ruby-identifier">target</span>.<span class="ruby-identifier">cleanpath</span>(<span class="ruby-identifier">consider_symlink</span>) <span class="ruby-keyword kw">end</span></pre>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>realpath (RIO::IF::Path)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/rio/if/path.rb, line 453</span>
14
+ 453: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">realpath</span>() <span class="ruby-identifier">target</span>.<span class="ruby-identifier">realpath</span>() <span class="ruby-keyword kw">end</span></pre>
15
+ </body>
16
+ </html>
@@ -0,0 +1,1414 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: RIO::IF::RubyIO</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <meta name="revisit-after" content="5 days">
12
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
13
+ <script type="text/javascript">
14
+ // <![CDATA[
15
+
16
+ function popupCode( url ) {
17
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
18
+ }
19
+
20
+ function toggleCode( id ) {
21
+ if ( document.getElementById )
22
+ elem = document.getElementById( id );
23
+ else if ( document.all )
24
+ elem = eval( "document.all." + id );
25
+ else
26
+ return false;
27
+
28
+ elemStyle = elem.style;
29
+
30
+ if ( elemStyle.display != "block" ) {
31
+ elemStyle.display = "block"
32
+ } else {
33
+ elemStyle.display = "none"
34
+ }
35
+
36
+ return true;
37
+ }
38
+
39
+ // Make codeblocks hidden by default
40
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
41
+
42
+ // ]]>
43
+ </script>
44
+
45
+ </head>
46
+ <body>
47
+
48
+
49
+
50
+ <div id="classHeader">
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td class="class-mod"><strong>Module</strong></td>
54
+ <td class="class-name-in-header">RIO::IF::RubyIO</td>
55
+ <td rowspan="2" class="class-header-space-col"></td>
56
+ <td rowspan="2">
57
+ <a class="in-url" href="../../../files/lib/rio/if/rubyio_rb.html">
58
+ lib/rio/if/rubyio.rb
59
+ </a>
60
+ &nbsp;&nbsp;
61
+ </td>
62
+ </tr>
63
+
64
+ </table>
65
+ </div>
66
+ <!-- banner header -->
67
+
68
+ <div id="bodyContent">
69
+
70
+
71
+
72
+ <div id="contextContent">
73
+
74
+
75
+
76
+ </div>
77
+
78
+ <div id="method-list">
79
+ <h3 class="section-bar">Methods</h3>
80
+
81
+ <div class="name-list">
82
+ <a href="#M000008">binmode</a>&nbsp;&nbsp;
83
+ <a href="#M000030">close</a>&nbsp;&nbsp;
84
+ <a href="#M000031">close_write</a>&nbsp;&nbsp;
85
+ <a href="#M000010">each_byte</a>&nbsp;&nbsp;
86
+ <a href="#M000011">each_line</a>&nbsp;&nbsp;
87
+ <a href="#M000025">eof?</a>&nbsp;&nbsp;
88
+ <a href="#M000032">fcntl</a>&nbsp;&nbsp;
89
+ <a href="#M000034">fileno</a>&nbsp;&nbsp;
90
+ <a href="#M000009">flush</a>&nbsp;&nbsp;
91
+ <a href="#M000035">fsync</a>&nbsp;&nbsp;
92
+ <a href="#M000037">getc</a>&nbsp;&nbsp;
93
+ <a href="#M000004">gets</a>&nbsp;&nbsp;
94
+ <a href="#M000033">ioctl</a>&nbsp;&nbsp;
95
+ <a href="#M000026">ioh</a>&nbsp;&nbsp;
96
+ <a href="#M000027">ios</a>&nbsp;&nbsp;
97
+ <a href="#M000005">lineno</a>&nbsp;&nbsp;
98
+ <a href="#M000006">lineno=</a>&nbsp;&nbsp;
99
+ <a href="#M000028">mode</a>&nbsp;&nbsp;
100
+ <a href="#M000029">mode?</a>&nbsp;&nbsp;
101
+ <a href="#M000043">nosync</a>&nbsp;&nbsp;
102
+ <a href="#M000036">pid</a>&nbsp;&nbsp;
103
+ <a href="#M000015">print</a>&nbsp;&nbsp;
104
+ <a href="#M000016">print!</a>&nbsp;&nbsp;
105
+ <a href="#M000018">printf</a>&nbsp;&nbsp;
106
+ <a href="#M000017">printf!</a>&nbsp;&nbsp;
107
+ <a href="#M000020">putc</a>&nbsp;&nbsp;
108
+ <a href="#M000019">putc!</a>&nbsp;&nbsp;
109
+ <a href="#M000021">puts</a>&nbsp;&nbsp;
110
+ <a href="#M000022">puts!</a>&nbsp;&nbsp;
111
+ <a href="#M000013">readline</a>&nbsp;&nbsp;
112
+ <a href="#M000012">readlines</a>&nbsp;&nbsp;
113
+ <a href="#M000014">readpartial</a>&nbsp;&nbsp;
114
+ <a href="#M000007">recno</a>&nbsp;&nbsp;
115
+ <a href="#M000042">sync</a>&nbsp;&nbsp;
116
+ <a href="#M000044">sync?</a>&nbsp;&nbsp;
117
+ <a href="#M000038">to_i</a>&nbsp;&nbsp;
118
+ <a href="#M000039">to_io</a>&nbsp;&nbsp;
119
+ <a href="#M000040">tty?</a>&nbsp;&nbsp;
120
+ <a href="#M000041">ungetc</a>&nbsp;&nbsp;
121
+ <a href="#M000024">write</a>&nbsp;&nbsp;
122
+ <a href="#M000023">write!</a>&nbsp;&nbsp;
123
+ </div>
124
+ </div>
125
+
126
+
127
+
128
+ <!-- if includes -->
129
+
130
+ <div id="section">
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+ <!-- if method_list -->
140
+ <div id="methods">
141
+ <h3 class="section-bar">Public Instance methods</h3>
142
+
143
+ <div id="method-M000008" class="method-detail">
144
+ <a name="M000008"></a>
145
+
146
+ <div class="method-heading">
147
+ <a href="RubyIO.src/M000008.html" target="Code" class="method-signature"
148
+ onclick="popupCode('RubyIO.src/M000008.html');return false;">
149
+ <span class="method-name">binmode</span><span class="method-args">()</span>
150
+ </a>
151
+ </div>
152
+
153
+ <div class="method-description">
154
+ <p>
155
+ Calls IO#binmode
156
+ </p>
157
+ <p>
158
+ Puts rio into binary mode. This is useful only in MS-DOS/Windows
159
+ environments. Once a stream is in binary mode, it cannot be reset to
160
+ nonbinary mode.
161
+ </p>
162
+ <p>
163
+ Returns the Rio.
164
+ </p>
165
+ <pre>
166
+ rio('afile.exe').binmode.bytes(512).to_a # read a file in 512 byte blocks
167
+ </pre>
168
+ </div>
169
+ </div>
170
+
171
+ <div id="method-M000030" class="method-detail">
172
+ <a name="M000030"></a>
173
+
174
+ <div class="method-heading">
175
+ <a href="RubyIO.src/M000030.html" target="Code" class="method-signature"
176
+ onclick="popupCode('RubyIO.src/M000030.html');return false;">
177
+ <span class="method-name">close</span><span class="method-args">()</span>
178
+ </a>
179
+ </div>
180
+
181
+ <div class="method-description">
182
+ <p>
183
+ Calls IO#close
184
+ </p>
185
+ <pre>
186
+ ario.close =&gt; nil
187
+ </pre>
188
+ <p>
189
+ Closes <em>ario</em> and flushes any pending writes to the operating
190
+ system. The stream is unavailable for any further data operations; an
191
+ <tt>IOError</tt> is raised if such an attempt is made. I/O streams are
192
+ automatically closed when they are claimed by the garbage collector.
193
+ </p>
194
+ </div>
195
+ </div>
196
+
197
+ <div id="method-M000031" class="method-detail">
198
+ <a name="M000031"></a>
199
+
200
+ <div class="method-heading">
201
+ <a href="RubyIO.src/M000031.html" target="Code" class="method-signature"
202
+ onclick="popupCode('RubyIO.src/M000031.html');return false;">
203
+ <span class="method-name">close_write</span><span class="method-args">()</span>
204
+ </a>
205
+ </div>
206
+
207
+ <div class="method-description">
208
+ </div>
209
+ </div>
210
+
211
+ <div id="method-M000010" class="method-detail">
212
+ <a name="M000010"></a>
213
+
214
+ <div class="method-heading">
215
+ <a href="RubyIO.src/M000010.html" target="Code" class="method-signature"
216
+ onclick="popupCode('RubyIO.src/M000010.html');return false;">
217
+ <span class="method-name">each_byte</span><span class="method-args">(*args,&amp;block)</span>
218
+ </a>
219
+ </div>
220
+
221
+ <div class="method-description">
222
+ <p>
223
+ Calls IO#each_byte
224
+ </p>
225
+ <pre>
226
+ ario.each_byte {|byte| block } =&gt; ario
227
+ </pre>
228
+ <p>
229
+ Calls the given block once for each byte (0..255) in <em>ario</em>, passing
230
+ the byte as an argument.
231
+ </p>
232
+ </div>
233
+ </div>
234
+
235
+ <div id="method-M000011" class="method-detail">
236
+ <a name="M000011"></a>
237
+
238
+ <div class="method-heading">
239
+ <a href="RubyIO.src/M000011.html" target="Code" class="method-signature"
240
+ onclick="popupCode('RubyIO.src/M000011.html');return false;">
241
+ <span class="method-name">each_line</span><span class="method-args">(*args,&amp;block)</span>
242
+ </a>
243
+ </div>
244
+
245
+ <div class="method-description">
246
+ <p>
247
+ Calls IO#each_line
248
+ </p>
249
+ <pre>
250
+ ario.each_line(sep_string=$/) {|line| block } =&gt; ario
251
+ </pre>
252
+ <p>
253
+ Executes the block for every line in <em>ario</em>, where lines are
254
+ separated by <em>sep_string</em>.
255
+ </p>
256
+ </div>
257
+ </div>
258
+
259
+ <div id="method-M000025" class="method-detail">
260
+ <a name="M000025"></a>
261
+
262
+ <div class="method-heading">
263
+ <a href="RubyIO.src/M000025.html" target="Code" class="method-signature"
264
+ onclick="popupCode('RubyIO.src/M000025.html');return false;">
265
+ <span class="method-name">eof?</span><span class="method-args">()</span>
266
+ </a>
267
+ </div>
268
+
269
+ <div class="method-description">
270
+ <p>
271
+ Calls IO#eof?
272
+ </p>
273
+ <pre>
274
+ ario.eof =&gt; true or false
275
+ </pre>
276
+ <p>
277
+ Returns true if <em>ario</em> is at end of file. The stream must be opened
278
+ for reading or an <tt>IOError</tt> will be raised.
279
+ </p>
280
+ </div>
281
+ </div>
282
+
283
+ <div id="method-M000032" class="method-detail">
284
+ <a name="M000032"></a>
285
+
286
+ <div class="method-heading">
287
+ <a href="RubyIO.src/M000032.html" target="Code" class="method-signature"
288
+ onclick="popupCode('RubyIO.src/M000032.html');return false;">
289
+ <span class="method-name">fcntl</span><span class="method-args">(integer_cmd,arg)</span>
290
+ </a>
291
+ </div>
292
+
293
+ <div class="method-description">
294
+ <p>
295
+ Calls IO#fcntl
296
+ </p>
297
+ <pre>
298
+ ario.fcntl(integer_cmd, arg) =&gt; integer
299
+ </pre>
300
+ <p>
301
+ Provides a mechanism for issuing low-level commands to control or query
302
+ file-oriented I/O streams. Arguments and results are platform dependent. If
303
+ <em>arg</em> is a number, its value is passed directly. If it is a string,
304
+ it is interpreted as a binary sequence of bytes (<tt>Array#pack</tt> might
305
+ be a useful way to build this string). On Unix platforms, see
306
+ <tt>fcntl(2)</tt> for details. Not implemented on all platforms.
307
+ </p>
308
+ </div>
309
+ </div>
310
+
311
+ <div id="method-M000034" class="method-detail">
312
+ <a name="M000034"></a>
313
+
314
+ <div class="method-heading">
315
+ <a href="RubyIO.src/M000034.html" target="Code" class="method-signature"
316
+ onclick="popupCode('RubyIO.src/M000034.html');return false;">
317
+ <span class="method-name">fileno</span><span class="method-args">()</span>
318
+ </a>
319
+ </div>
320
+
321
+ <div class="method-description">
322
+ <p>
323
+ Calls IO#fileno
324
+ </p>
325
+ <pre>
326
+ ario.fileno =&gt; fixnum
327
+ ario.to_i =&gt; fixnum
328
+ </pre>
329
+ <p>
330
+ Returns an integer representing the numeric file descriptor for
331
+ <em>ario</em>.
332
+ </p>
333
+ </div>
334
+ </div>
335
+
336
+ <div id="method-M000009" class="method-detail">
337
+ <a name="M000009"></a>
338
+
339
+ <div class="method-heading">
340
+ <a href="RubyIO.src/M000009.html" target="Code" class="method-signature"
341
+ onclick="popupCode('RubyIO.src/M000009.html');return false;">
342
+ <span class="method-name">flush</span><span class="method-args">()</span>
343
+ </a>
344
+ </div>
345
+
346
+ <div class="method-description">
347
+ <p>
348
+ Calls IO#flush
349
+ </p>
350
+ <pre>
351
+ ario.flush =&gt; ario
352
+ </pre>
353
+ <p>
354
+ Flushes any buffered data within <em>ario</em> to the underlying operating
355
+ system (note that this is Ruby internal buffering only; the OS may buffer
356
+ the data as well).
357
+ </p>
358
+ </div>
359
+ </div>
360
+
361
+ <div id="method-M000035" class="method-detail">
362
+ <a name="M000035"></a>
363
+
364
+ <div class="method-heading">
365
+ <a href="RubyIO.src/M000035.html" target="Code" class="method-signature"
366
+ onclick="popupCode('RubyIO.src/M000035.html');return false;">
367
+ <span class="method-name">fsync</span><span class="method-args">()</span>
368
+ </a>
369
+ </div>
370
+
371
+ <div class="method-description">
372
+ <p>
373
+ Calls IO#fsync
374
+ </p>
375
+ <pre>
376
+ ario.fsync =&gt; ario
377
+ </pre>
378
+ <p>
379
+ Immediately writes all buffered data in <em>ario</em> to disk and return
380
+ <em>ario</em>. Does nothing if the underlying operating system does not
381
+ support _fsync(2)_. Note that <tt>fsync</tt> differs from using <a
382
+ href="RubyIO.html#M000042">sync</a>. The latter ensures that data is
383
+ flushed from Ruby&#8217;s buffers, but doesn&#8217;t not guarantee that the
384
+ underlying operating system actually writes it to disk.
385
+ </p>
386
+ </div>
387
+ </div>
388
+
389
+ <div id="method-M000037" class="method-detail">
390
+ <a name="M000037"></a>
391
+
392
+ <div class="method-heading">
393
+ <a href="RubyIO.src/M000037.html" target="Code" class="method-signature"
394
+ onclick="popupCode('RubyIO.src/M000037.html');return false;">
395
+ <span class="method-name">getc</span><span class="method-args">()</span>
396
+ </a>
397
+ </div>
398
+
399
+ <div class="method-description">
400
+ <p>
401
+ Calls IO#getc
402
+ </p>
403
+ <pre>
404
+ ario.getc =&gt; fixnum or nil
405
+ </pre>
406
+ <p>
407
+ Gets the next 8-bit byte (0..255) from <em>ario</em>. Returns <tt>nil</tt>
408
+ if called at end of file.
409
+ </p>
410
+ <p>
411
+ f = File.new(&quot;testfile&quot;) f.getc #=&gt; 84 f.getc #=&gt; 104
412
+ </p>
413
+ </div>
414
+ </div>
415
+
416
+ <div id="method-M000004" class="method-detail">
417
+ <a name="M000004"></a>
418
+
419
+ <div class="method-heading">
420
+ <a href="RubyIO.src/M000004.html" target="Code" class="method-signature"
421
+ onclick="popupCode('RubyIO.src/M000004.html');return false;">
422
+ <span class="method-name">gets</span><span class="method-args">(sep_string=$/)</span>
423
+ </a>
424
+ </div>
425
+
426
+ <div class="method-description">
427
+ <p>
428
+ Calls IO#gets
429
+ </p>
430
+ <p>
431
+ Reads the next line from the Rio; lines are separated by sep_string. A
432
+ separator of nil reads the entire contents, and a zero-length separator
433
+ reads the input a paragraph at a time (two successive newlines in the input
434
+ separate paragraphs).
435
+ </p>
436
+ <p>
437
+ Returns nil if called at end of file.
438
+ </p>
439
+ <pre>
440
+ astring = rio('afile.txt').gets # read the first line of afile.txt into astring
441
+ </pre>
442
+ </div>
443
+ </div>
444
+
445
+ <div id="method-M000033" class="method-detail">
446
+ <a name="M000033"></a>
447
+
448
+ <div class="method-heading">
449
+ <a href="RubyIO.src/M000033.html" target="Code" class="method-signature"
450
+ onclick="popupCode('RubyIO.src/M000033.html');return false;">
451
+ <span class="method-name">ioctl</span><span class="method-args">(integer_cmd,arg)</span>
452
+ </a>
453
+ </div>
454
+
455
+ <div class="method-description">
456
+ <p>
457
+ Calls IO#ioctl
458
+ </p>
459
+ <pre>
460
+ ario.ioctl(integer_cmd, arg) =&gt; integer
461
+ </pre>
462
+ <p>
463
+ Provides a mechanism for issuing low-level commands to control or query I/O
464
+ devices. Arguments and results are platform dependent. If <em>arg</em> is a
465
+ number, its value is passed directly. If it is a string, it is interpreted
466
+ as a binary sequence of bytes. On Unix platforms, see +ioctl(2)+ for
467
+ details. Not implemented on all platforms.
468
+ </p>
469
+ </div>
470
+ </div>
471
+
472
+ <div id="method-M000026" class="method-detail">
473
+ <a name="M000026"></a>
474
+
475
+ <div class="method-heading">
476
+ <a href="RubyIO.src/M000026.html" target="Code" class="method-signature"
477
+ onclick="popupCode('RubyIO.src/M000026.html');return false;">
478
+ <span class="method-name">ioh</span><span class="method-args">(*args)</span>
479
+ </a>
480
+ </div>
481
+
482
+ <div class="method-description">
483
+ <p>
484
+ Provides direct access to the IO handle (as would be returned by ::IO#new)
485
+ <b>with</b> filtering. Reading from and writing to this handle will be
486
+ affected by such things as <a href="GrandeStream.html#M000085">gzip</a> and
487
+ <a href="GrandeStream.html#M000082">chomp</a> if they were specified for
488
+ the Rio.
489
+ </p>
490
+ <p>
491
+ Compare this with <a href="RubyIO.html#M000027">ios</a>
492
+ </p>
493
+ </div>
494
+ </div>
495
+
496
+ <div id="method-M000027" class="method-detail">
497
+ <a name="M000027"></a>
498
+
499
+ <div class="method-heading">
500
+ <a href="RubyIO.src/M000027.html" target="Code" class="method-signature"
501
+ onclick="popupCode('RubyIO.src/M000027.html');return false;">
502
+ <span class="method-name">ios</span><span class="method-args">(*args)</span>
503
+ </a>
504
+ </div>
505
+
506
+ <div class="method-description">
507
+ <p>
508
+ Provides direct access to the IO handle (as would be returned by ::IO#new)
509
+ Reading from and writing to this handle is <b>not</b> affected by such
510
+ things as <a href="GrandeStream.html#M000085">gzip</a> and <a
511
+ href="GrandeStream.html#M000082">chomp</a>.
512
+ </p>
513
+ <p>
514
+ Compare this with <a href="RubyIO.html#M000026">ioh</a>
515
+ </p>
516
+ </div>
517
+ </div>
518
+
519
+ <div id="method-M000005" class="method-detail">
520
+ <a name="M000005"></a>
521
+
522
+ <div class="method-heading">
523
+ <a href="RubyIO.src/M000005.html" target="Code" class="method-signature"
524
+ onclick="popupCode('RubyIO.src/M000005.html');return false;">
525
+ <span class="method-name">lineno</span><span class="method-args">()</span>
526
+ </a>
527
+ </div>
528
+
529
+ <div class="method-description">
530
+ <p>
531
+ Calls IO#lineno
532
+ </p>
533
+ <p>
534
+ Returns the current line number of a Rio.
535
+ </p>
536
+ <p>
537
+ The Rio will be opened for reading if not already. lineno counts the number
538
+ of times gets is called, rather than the number of newlines encountered
539
+ &#8212; so lineno will only be accurate if the file is read exclusively
540
+ with line-oriented methods (<a href="RubyIO.html#M000013">readline</a>,
541
+ IF::GrandeStream#each_line, <a href="RubyIO.html#M000004">gets</a> etc.)
542
+ </p>
543
+ <p>
544
+ See also the $. variable and <a href="RubyIO.html#M000007">recno</a>
545
+ </p>
546
+ <pre>
547
+ f = rio(&quot;testfile&quot;)
548
+ f.lineno #=&gt; 0
549
+ f.gets #=&gt; &quot;This is line one\n&quot;
550
+ f.lineno #=&gt; 1
551
+ f.gets #=&gt; &quot;This is line two\n&quot;
552
+ f.lineno #=&gt; 2
553
+ </pre>
554
+ </div>
555
+ </div>
556
+
557
+ <div id="method-M000006" class="method-detail">
558
+ <a name="M000006"></a>
559
+
560
+ <div class="method-heading">
561
+ <a href="RubyIO.src/M000006.html" target="Code" class="method-signature"
562
+ onclick="popupCode('RubyIO.src/M000006.html');return false;">
563
+ <span class="method-name">lineno=</span><span class="method-args">(integer)</span>
564
+ </a>
565
+ </div>
566
+
567
+ <div class="method-description">
568
+ <p>
569
+ Calls IO#lineno=
570
+ </p>
571
+ <pre>
572
+ ario.lineno = integer =&gt; integer
573
+ </pre>
574
+ <p>
575
+ Manually sets the current line number to the given value. <tt>$.</tt> is
576
+ updated only on the next read.
577
+ </p>
578
+ <p>
579
+ f = rio(&quot;testfile&quot;) f.gets #=&gt; &quot;This is line one\n&quot;
580
+ $. #=&gt; 1 f.lineno = 1000 f.lineno #=&gt; 1000 $. # lineno of last read
581
+ #=&gt; 1 f.gets #=&gt; &quot;This is line two\n&quot; $. # lineno of last
582
+ read #=&gt; 1001
583
+ </p>
584
+ </div>
585
+ </div>
586
+
587
+ <div id="method-M000028" class="method-detail">
588
+ <a name="M000028"></a>
589
+
590
+ <div class="method-heading">
591
+ <a href="RubyIO.src/M000028.html" target="Code" class="method-signature"
592
+ onclick="popupCode('RubyIO.src/M000028.html');return false;">
593
+ <span class="method-name">mode</span><span class="method-args">(m,*args)</span>
594
+ </a>
595
+ </div>
596
+
597
+ <div class="method-description">
598
+ <p>
599
+ Explicitly set the mode with which a Rio will be opened.
600
+ </p>
601
+ <pre>
602
+ ario.mode('r+') =&gt; ario
603
+ </pre>
604
+ <p>
605
+ Normally one needs never open a Rio or specify its mode &#8212; the mode is
606
+ determined by the operation the Rio is asked to perform. (i.e. <a
607
+ href="RubyIO.html#M000015">print</a> requires write access, <a
608
+ href="RubyIO.html#M000012">readlines</a> requires read access). However
609
+ there are times when one wishes to be specific about the mode with which a
610
+ Rio will be opened. Note that explicitly setting the mode overrides all of
611
+ Rio&#8217;s internal mode logic. If a mode is specified via <a
612
+ href="RubyIO.html#M000028">mode</a> or <a
613
+ href="FileOrDir.html#M000155">open</a> that mode will be used. Period.
614
+ </p>
615
+ <p>
616
+ Returns the Rio.
617
+ </p>
618
+ <p>
619
+ See also <a href="RubyIO.html#M000029">mode?</a>
620
+ </p>
621
+ <p>
622
+ If the mode is given as a String, it must be one of the values listed in
623
+ the following table.
624
+ </p>
625
+ <pre>
626
+ Mode | Meaning
627
+ -----+--------------------------------------------------------
628
+ &quot;r&quot; | Read-only, starts at beginning of file (default mode).
629
+ -----+--------------------------------------------------------
630
+ &quot;r+&quot; | Read-write, starts at beginning of file.
631
+ -----+--------------------------------------------------------
632
+ &quot;w&quot; | Write-only, truncates existing file
633
+ | to zero length or creates a new file for writing.
634
+ -----+--------------------------------------------------------
635
+ &quot;w+&quot; | Read-write, truncates existing file to zero length
636
+ | or creates a new file for reading and writing.
637
+ -----+--------------------------------------------------------
638
+ &quot;a&quot; | Write-only, starts at end of file if file exists,
639
+ | otherwise creates a new file for writing.
640
+ -----+--------------------------------------------------------
641
+ &quot;a+&quot; | Read-write, starts at end of file if file exists,
642
+ | otherwise creates a new file for reading and
643
+ | writing.
644
+ -----+--------------------------------------------------------
645
+ &quot;b&quot; | (DOS/Windows only) Binary file mode (may appear with
646
+ | any of the key letters listed above).
647
+
648
+ ario = rio('afile').mode('r+').nocloseoneof # file will be opened in r+ mode
649
+ # don't want the file closed at eof
650
+ ario.seek(apos).gets # read the string at apos in afile
651
+ ario.rewind.gets # read the string at the beginning of the file
652
+ ario.close
653
+ </pre>
654
+ <p>
655
+ TODO:
656
+ </p>
657
+ <ul>
658
+ <li>Add support for integer modes
659
+
660
+ </li>
661
+ </ul>
662
+ </div>
663
+ </div>
664
+
665
+ <div id="method-M000029" class="method-detail">
666
+ <a name="M000029"></a>
667
+
668
+ <div class="method-heading">
669
+ <a href="RubyIO.src/M000029.html" target="Code" class="method-signature"
670
+ onclick="popupCode('RubyIO.src/M000029.html');return false;">
671
+ <span class="method-name">mode?</span><span class="method-args">()</span>
672
+ </a>
673
+ </div>
674
+
675
+ <div class="method-description">
676
+ <p>
677
+ Query a Rio&#8217;s mode
678
+ </p>
679
+ <pre>
680
+ ario.mode? #=&gt; a mode string
681
+ </pre>
682
+ <p>
683
+ See <a href="RubyIO.html#M000028">mode</a>
684
+ </p>
685
+ <pre>
686
+ ario = rio('afile')
687
+ ario.puts(&quot;Hello World&quot;)
688
+ ario.mode? #=&gt; 'w' IF::RubyIO#puts requires write access
689
+
690
+ ario = rio('afile')
691
+ ario.gets
692
+ ario.mode? #=&gt; 'r' IF::RubyIO#gets requires read access
693
+
694
+ ario = rio('afile').mode('w+').nocloseoneof
695
+ ario.gets
696
+ ario.mode? #=&gt; 'w+' Set explictly
697
+ </pre>
698
+ </div>
699
+ </div>
700
+
701
+ <div id="method-M000043" class="method-detail">
702
+ <a name="M000043"></a>
703
+
704
+ <div class="method-heading">
705
+ <a href="RubyIO.src/M000043.html" target="Code" class="method-signature"
706
+ onclick="popupCode('RubyIO.src/M000043.html');return false;">
707
+ <span class="method-name">nosync</span><span class="method-args">(arg=false,&amp;block)</span>
708
+ </a>
709
+ </div>
710
+
711
+ <div class="method-description">
712
+ <p>
713
+ Similar to IO#sync= false
714
+ </p>
715
+ <pre>
716
+ ario.nosync(&amp;block) =&gt; ario
717
+ </pre>
718
+ <p>
719
+ Sets the Rio so that its &#8216;sync mode&#8217; will be set to
720
+ <tt>false</tt> when opened, or set it immediately if already open. When
721
+ sync mode is true, all output is immediately flushed to the underlying
722
+ operating system and is not buffered internally. Returns the rio. See also
723
+ <a href="RubyIO.html#M000035">fsync</a>, <a
724
+ href="RubyIO.html#M000042">sync</a>, <a
725
+ href="RubyIO.html#M000044">sync?</a>.
726
+ </p>
727
+ <p>
728
+ If a block is given behaves like <tt>ario.nosync.each(&amp;block)</tt>
729
+ </p>
730
+ <pre>
731
+ f = rio(&quot;testfile&quot;).sync.puts(&quot;Hello World&quot;)
732
+ f.sync? # =&gt; true
733
+ f.nosync
734
+ f.sync? # =&gt; false
735
+ </pre>
736
+ </div>
737
+ </div>
738
+
739
+ <div id="method-M000036" class="method-detail">
740
+ <a name="M000036"></a>
741
+
742
+ <div class="method-heading">
743
+ <a href="RubyIO.src/M000036.html" target="Code" class="method-signature"
744
+ onclick="popupCode('RubyIO.src/M000036.html');return false;">
745
+ <span class="method-name">pid</span><span class="method-args">()</span>
746
+ </a>
747
+ </div>
748
+
749
+ <div class="method-description">
750
+ <p>
751
+ Calls IO#pid
752
+ </p>
753
+ <pre>
754
+ ario.pid =&gt; fixnum
755
+ </pre>
756
+ <p>
757
+ Returns the process ID of a child process associated with <em>ario</em>.
758
+ This will be set by <tt>IO::popen</tt>.
759
+ </p>
760
+ <pre>
761
+ pipe = IO.popen(&quot;-&quot;)
762
+ if pipe
763
+ $stderr.puts &quot;In parent, child pid is #{pipe.pid}&quot;
764
+ else
765
+ $stderr.puts &quot;In child, pid is #{$$}&quot;
766
+ end
767
+ </pre>
768
+ <p>
769
+ produces:
770
+ </p>
771
+ <pre>
772
+ In child, pid is 26209
773
+ In parent, child pid is 26209
774
+ </pre>
775
+ </div>
776
+ </div>
777
+
778
+ <div id="method-M000015" class="method-detail">
779
+ <a name="M000015"></a>
780
+
781
+ <div class="method-heading">
782
+ <a href="RubyIO.src/M000015.html" target="Code" class="method-signature"
783
+ onclick="popupCode('RubyIO.src/M000015.html');return false;">
784
+ <span class="method-name">print</span><span class="method-args">(*args,&amp;block)</span>
785
+ </a>
786
+ </div>
787
+
788
+ <div class="method-description">
789
+ <p>
790
+ Calls IO::print
791
+ </p>
792
+ <p>
793
+ Writes the given object(s) to the Rio. If the output record separator ($\)
794
+ is not nil, it will be appended to the output. If no arguments are given,
795
+ prints $_. Objects that aren&#8217;t strings will be converted by calling
796
+ their to_s method. Returns the Rio.
797
+ </p>
798
+ <pre>
799
+ rio('f.txt').print(&quot;Hello Rio\n&quot;) # print the string to f.txt
800
+ rio(?-).print(&quot;Hello Rio\n&quot;) # print the string to stdout
801
+ </pre>
802
+ </div>
803
+ </div>
804
+
805
+ <div id="method-M000016" class="method-detail">
806
+ <a name="M000016"></a>
807
+
808
+ <div class="method-heading">
809
+ <a href="RubyIO.src/M000016.html" target="Code" class="method-signature"
810
+ onclick="popupCode('RubyIO.src/M000016.html');return false;">
811
+ <span class="method-name">print!</span><span class="method-args">(*args,&amp;block)</span>
812
+ </a>
813
+ </div>
814
+
815
+ <div class="method-description">
816
+ <p>
817
+ Writes the given objects to the rio as with <a
818
+ href="RubyIO.html#M000015">print</a> and then closes the Rio. Returns the
819
+ Rio.
820
+ </p>
821
+ <p>
822
+ Equivalent to rio.print(*args).close
823
+ </p>
824
+ <pre>
825
+ rio('f.txt').print!(&quot;Hello Rio\n&quot;) # print the string to f.txt then close it
826
+ </pre>
827
+ </div>
828
+ </div>
829
+
830
+ <div id="method-M000018" class="method-detail">
831
+ <a name="M000018"></a>
832
+
833
+ <div class="method-heading">
834
+ <a href="RubyIO.src/M000018.html" target="Code" class="method-signature"
835
+ onclick="popupCode('RubyIO.src/M000018.html');return false;">
836
+ <span class="method-name">printf</span><span class="method-args">(*argv)</span>
837
+ </a>
838
+ </div>
839
+
840
+ <div class="method-description">
841
+ <p>
842
+ Calls IO#printf
843
+ </p>
844
+ <pre>
845
+ ario.printf(format_string [, obj, ...] ) =&gt; ario
846
+ </pre>
847
+ <p>
848
+ Formats and writes to <em>ario</em>, converting parameters under control of
849
+ the format string. See +Kernel#sprintf+ for details.
850
+ </p>
851
+ </div>
852
+ </div>
853
+
854
+ <div id="method-M000017" class="method-detail">
855
+ <a name="M000017"></a>
856
+
857
+ <div class="method-heading">
858
+ <a href="RubyIO.src/M000017.html" target="Code" class="method-signature"
859
+ onclick="popupCode('RubyIO.src/M000017.html');return false;">
860
+ <span class="method-name">printf!</span><span class="method-args">(*argv)</span>
861
+ </a>
862
+ </div>
863
+
864
+ <div class="method-description">
865
+ <p>
866
+ Writes the given objects to the rio as with <a
867
+ href="RubyIO.html#M000018">printf</a> and then closes the rio. Returns the
868
+ rio.
869
+ </p>
870
+ <p>
871
+ Equivalent to rio.printf(*args).close
872
+ </p>
873
+ </div>
874
+ </div>
875
+
876
+ <div id="method-M000020" class="method-detail">
877
+ <a name="M000020"></a>
878
+
879
+ <div class="method-heading">
880
+ <a href="RubyIO.src/M000020.html" target="Code" class="method-signature"
881
+ onclick="popupCode('RubyIO.src/M000020.html');return false;">
882
+ <span class="method-name">putc</span><span class="method-args">(*argv)</span>
883
+ </a>
884
+ </div>
885
+
886
+ <div class="method-description">
887
+ <p>
888
+ Calls IO#putc
889
+ </p>
890
+ <pre>
891
+ ario.putc(obj) =&gt; ario
892
+ </pre>
893
+ <p>
894
+ If <em>obj</em> is <tt>Numeric</tt>, write the character whose code is
895
+ <em>obj</em>, otherwise write the first character of the string
896
+ representation of <em>obj</em> to <em>ario</em>.
897
+ </p>
898
+ <pre>
899
+ stdout = rio(?-)
900
+ stdout.putc &quot;A&quot;
901
+ stdout.putc 65
902
+ </pre>
903
+ <p>
904
+ _produces:_
905
+ </p>
906
+ <pre>
907
+ AA
908
+ </pre>
909
+ </div>
910
+ </div>
911
+
912
+ <div id="method-M000019" class="method-detail">
913
+ <a name="M000019"></a>
914
+
915
+ <div class="method-heading">
916
+ <a href="RubyIO.src/M000019.html" target="Code" class="method-signature"
917
+ onclick="popupCode('RubyIO.src/M000019.html');return false;">
918
+ <span class="method-name">putc!</span><span class="method-args">(*argv)</span>
919
+ </a>
920
+ </div>
921
+
922
+ <div class="method-description">
923
+ <p>
924
+ Writes the given objects to the rio as with <a
925
+ href="RubyIO.html#M000020">putc</a> and then closes the rio. Returns the
926
+ rio.
927
+ </p>
928
+ <p>
929
+ Equivalent to rio.putc(*args).close
930
+ </p>
931
+ </div>
932
+ </div>
933
+
934
+ <div id="method-M000021" class="method-detail">
935
+ <a name="M000021"></a>
936
+
937
+ <div class="method-heading">
938
+ <a href="RubyIO.src/M000021.html" target="Code" class="method-signature"
939
+ onclick="popupCode('RubyIO.src/M000021.html');return false;">
940
+ <span class="method-name">puts</span><span class="method-args">(*args)</span>
941
+ </a>
942
+ </div>
943
+
944
+ <div class="method-description">
945
+ <p>
946
+ Calls IO#puts
947
+ </p>
948
+ <p>
949
+ Writes the given objects to the rio as with <a
950
+ href="RubyIO.html#M000015">print</a>. Writes a record separator (typically
951
+ a newline) after any that do not already end with a newline sequence. If
952
+ called with an array argument, writes each element on a new line. If called
953
+ without arguments, outputs a single record separator. Returns the rio.
954
+ </p>
955
+ </div>
956
+ </div>
957
+
958
+ <div id="method-M000022" class="method-detail">
959
+ <a name="M000022"></a>
960
+
961
+ <div class="method-heading">
962
+ <a href="RubyIO.src/M000022.html" target="Code" class="method-signature"
963
+ onclick="popupCode('RubyIO.src/M000022.html');return false;">
964
+ <span class="method-name">puts!</span><span class="method-args">(*args)</span>
965
+ </a>
966
+ </div>
967
+
968
+ <div class="method-description">
969
+ <p>
970
+ Writes the given objects to the rio as with <a
971
+ href="RubyIO.html#M000021">puts</a> and then closes the rio. Returns the
972
+ rio.
973
+ </p>
974
+ <p>
975
+ Equivalent to rio.puts(*args).close
976
+ </p>
977
+ <pre>
978
+ rio('f.txt').puts!('Hello Rio') # print the string to f.txt then close it
979
+ </pre>
980
+ </div>
981
+ </div>
982
+
983
+ <div id="method-M000013" class="method-detail">
984
+ <a name="M000013"></a>
985
+
986
+ <div class="method-heading">
987
+ <a href="RubyIO.src/M000013.html" target="Code" class="method-signature"
988
+ onclick="popupCode('RubyIO.src/M000013.html');return false;">
989
+ <span class="method-name">readline</span><span class="method-args">(*args)</span>
990
+ </a>
991
+ </div>
992
+
993
+ <div class="method-description">
994
+ <p>
995
+ Calls IO#readline
996
+ </p>
997
+ <pre>
998
+ ario.readline(sep_string=$/) =&gt; string
999
+ </pre>
1000
+ <p>
1001
+ Reads a line as with +IO#gets+, but raises an <tt>EOFError</tt> on end of
1002
+ file.
1003
+ </p>
1004
+ </div>
1005
+ </div>
1006
+
1007
+ <div id="method-M000012" class="method-detail">
1008
+ <a name="M000012"></a>
1009
+
1010
+ <div class="method-heading">
1011
+ <a href="RubyIO.src/M000012.html" target="Code" class="method-signature"
1012
+ onclick="popupCode('RubyIO.src/M000012.html');return false;">
1013
+ <span class="method-name">readlines</span><span class="method-args">(*args,&amp;block)</span>
1014
+ </a>
1015
+ </div>
1016
+
1017
+ <div class="method-description">
1018
+ <p>
1019
+ Calls IO#readlines
1020
+ </p>
1021
+ <p>
1022
+ Reads all of the lines in a Rio, and returns them in anArray. Lines are
1023
+ separated by the optional aSepString. The stream must be opened for reading
1024
+ or an IOerror will be raised.
1025
+ </p>
1026
+ <pre>
1027
+ an_array = rio('afile.txt').readlines # read afile.txt into an array
1028
+ an_array = rio('afile.txt').chomp.readlines # read afile.txt into an array with each line chomped
1029
+ </pre>
1030
+ </div>
1031
+ </div>
1032
+
1033
+ <div id="method-M000014" class="method-detail">
1034
+ <a name="M000014"></a>
1035
+
1036
+ <div class="method-heading">
1037
+ <a href="RubyIO.src/M000014.html" target="Code" class="method-signature"
1038
+ onclick="popupCode('RubyIO.src/M000014.html');return false;">
1039
+ <span class="method-name">readpartial</span><span class="method-args">(*args)</span>
1040
+ </a>
1041
+ </div>
1042
+
1043
+ <div class="method-description">
1044
+ <p>
1045
+ Calls IO#readpartial
1046
+ </p>
1047
+ <p>
1048
+ Reads at most maxlen bytes from the I/O stream but it blocks only if ios
1049
+ has no data immediately available. If the optional outbuf argument is
1050
+ present, it must reference a String, which will receive the data. It raises
1051
+ EOFError on end of file.
1052
+ </p>
1053
+ <p>
1054
+ readpartial is designed for streams such as pipe, socket, tty, etc. It
1055
+ blocks only when no data immediately available. This means that it blocks
1056
+ only when following all conditions hold.
1057
+ </p>
1058
+ <ul>
1059
+ <li>the buffer in the IO object is empty.
1060
+
1061
+ </li>
1062
+ <li>the content of the stream is empty.
1063
+
1064
+ </li>
1065
+ <li>the stream is not reached to EOF.
1066
+
1067
+ </li>
1068
+ </ul>
1069
+ <p>
1070
+ When readpartial blocks, it waits data or EOF on the stream. If some data
1071
+ is reached, readpartial returns with the data. If EOF is reached,
1072
+ readpartial raises EOFError.
1073
+ </p>
1074
+ <p>
1075
+ When readpartial doesn�t blocks, it returns or raises immediately. If the
1076
+ buffer is not empty, it returns the data in the buffer. Otherwise if the
1077
+ stream has some content, it returns the data in the stream. Otherwise if
1078
+ the stream is reached to EOF, it raises EOFError.
1079
+ </p>
1080
+ <pre>
1081
+ r, w = IO.pipe # buffer pipe content
1082
+ w &lt;&lt; &quot;abc&quot; # &quot;&quot; &quot;abc&quot;.
1083
+ r.readpartial(4096) #=&gt; &quot;abc&quot; &quot;&quot; &quot;&quot;
1084
+ r.readpartial(4096) # blocks because buffer and pipe is empty.
1085
+
1086
+ r, w = IO.pipe # buffer pipe content
1087
+ w &lt;&lt; &quot;abc&quot; # &quot;&quot; &quot;abc&quot;
1088
+ w.close # &quot;&quot; &quot;abc&quot; EOF
1089
+ r.readpartial(4096) #=&gt; &quot;abc&quot; &quot;&quot; EOF
1090
+ r.readpartial(4096) # raises EOFError
1091
+
1092
+ r, w = IO.pipe # buffer pipe content
1093
+ w &lt;&lt; &quot;abc\ndef\n&quot; # &quot;&quot; &quot;abc\ndef\n&quot;
1094
+ r.gets #=&gt; &quot;abc\n&quot; &quot;def\n&quot; &quot;&quot;
1095
+ w &lt;&lt; &quot;ghi\n&quot; # &quot;def\n&quot; &quot;ghi\n&quot;
1096
+ r.readpartial(4096) #=&gt; &quot;def\n&quot; &quot;&quot; &quot;ghi\n&quot;
1097
+ r.readpartial(4096) #=&gt; &quot;ghi\n&quot; &quot;&quot; &quot;&quot;
1098
+ </pre>
1099
+ <p>
1100
+ Note that readpartial is nonblocking-flag insensitive. It blocks even if
1101
+ the nonblocking-flag is set.
1102
+ </p>
1103
+ <p>
1104
+ Also note that readpartial behaves similar to sysread in blocking mode. The
1105
+ behavior is identical when the buffer is empty. ios.reopen(other_IO) =&gt;
1106
+ ios ios.reopen(path, mode_str) =&gt; ios
1107
+ </p>
1108
+ <p>
1109
+ Reassociates ios with the I/O stream given in other_IO or to a new stream
1110
+ opened on path. This may dynamically change the actual class of this
1111
+ stream.
1112
+ </p>
1113
+ <pre>
1114
+ f1 = File.new(&quot;testfile&quot;)
1115
+ f2 = File.new(&quot;testfile&quot;)
1116
+ f2.readlines[0] #=&gt; &quot;This is line one\n&quot;
1117
+ f2.reopen(f1) #=&gt; #&lt;File:testfile&gt;
1118
+ f2.readlines[0] #=&gt; &quot;This is line one\n&quot;
1119
+ </pre>
1120
+ </div>
1121
+ </div>
1122
+
1123
+ <div id="method-M000007" class="method-detail">
1124
+ <a name="M000007"></a>
1125
+
1126
+ <div class="method-heading">
1127
+ <a href="RubyIO.src/M000007.html" target="Code" class="method-signature"
1128
+ onclick="popupCode('RubyIO.src/M000007.html');return false;">
1129
+ <span class="method-name">recno</span><span class="method-args">()</span>
1130
+ </a>
1131
+ </div>
1132
+
1133
+ <div class="method-description">
1134
+ <p>
1135
+ Returns the current record number of a Rio. The <tt>recno</tt> is the index
1136
+ used by the grande selection methods. It represents the zero-based index of
1137
+ the last record read. Returns nil until a record has been read.
1138
+ </p>
1139
+ <p>
1140
+ see <a href="GrandeStream.html#M000055">lines</a> <a
1141
+ href="GrandeStream.html#M000056">bytes</a> and <a
1142
+ href="GrandeStream.html#M000057">records</a>
1143
+ </p>
1144
+ <p>
1145
+ To illustrate: Given a file containing three lines
1146
+ &quot;L0\n&quot;,&quot;L1\n&quot;,&quot;L2\n&quot; and a Range (0..1) Each
1147
+ of the following would fill anarray with [&quot;L0\n&quot;,
1148
+ &quot;L1\n&quot;]
1149
+ </p>
1150
+ <p>
1151
+ Given:
1152
+ </p>
1153
+ <pre>
1154
+ anarray = []
1155
+ range = (0..1)
1156
+
1157
+ all_lines = rio('afile').readlines
1158
+ all_lines.each_with_index do |line,i|
1159
+ anarray &lt;&lt; line if range === i
1160
+ end
1161
+ # anarray == [&quot;L0\n&quot;, &quot;L1\n&quot;]
1162
+
1163
+ anarray = rio('afile').lines[0..1] # anarray == [&quot;L0\n&quot;, &quot;L1\n&quot;]
1164
+ </pre>
1165
+ <p>
1166
+ <tt>recno</tt> counts the number of times IF::Grande#getrec or <a
1167
+ href="Grande.html#M000090">each</a> is used to get a record. so
1168
+ <tt>recno</tt> will only concern parts of the file read with grande methods
1169
+ <a href="Grande.html#M000090">each</a>, <a
1170
+ href="Grande.html#M000089">[]</a>, IF::Grande#getrec
1171
+ </p>
1172
+ <p>
1173
+ See also <a href="RubyIO.html#M000005">lineno</a>
1174
+ </p>
1175
+ </div>
1176
+ </div>
1177
+
1178
+ <div id="method-M000042" class="method-detail">
1179
+ <a name="M000042"></a>
1180
+
1181
+ <div class="method-heading">
1182
+ <a href="RubyIO.src/M000042.html" target="Code" class="method-signature"
1183
+ onclick="popupCode('RubyIO.src/M000042.html');return false;">
1184
+ <span class="method-name">sync</span><span class="method-args">(arg=true,&amp;block)</span>
1185
+ </a>
1186
+ </div>
1187
+
1188
+ <div class="method-description">
1189
+ <p>
1190
+ Sets the &#8216;sync-mode&#8217; of the underlying IO using IO#sync=
1191
+ </p>
1192
+ <pre>
1193
+ ario.sync(boolean=true,&amp;block) =&gt; ario
1194
+ </pre>
1195
+ <p>
1196
+ Sets the Rio so that its &#8216;sync mode&#8217; will be set to
1197
+ <tt>true</tt> or <tt>false</tt> when opened, or set it immediately if
1198
+ already open. When sync mode is true, all output is immediately flushed to
1199
+ the underlying operating system and is not buffered internally. Returns the
1200
+ rio. See also <a href="RubyIO.html#M000035">fsync</a>, <a
1201
+ href="RubyIO.html#M000043">nosync</a>, <a
1202
+ href="RubyIO.html#M000044">sync?</a>.
1203
+ </p>
1204
+ <p>
1205
+ If a block is given behaves like <tt>ario.sync(arg).each(&amp;block)</tt>
1206
+ </p>
1207
+ <pre>
1208
+ f = rio(&quot;testfile&quot;).sync.puts(&quot;Hello World&quot;)
1209
+ f.sync? # =&gt; true
1210
+ </pre>
1211
+ </div>
1212
+ </div>
1213
+
1214
+ <div id="method-M000044" class="method-detail">
1215
+ <a name="M000044"></a>
1216
+
1217
+ <div class="method-heading">
1218
+ <a href="RubyIO.src/M000044.html" target="Code" class="method-signature"
1219
+ onclick="popupCode('RubyIO.src/M000044.html');return false;">
1220
+ <span class="method-name">sync?</span><span class="method-args">()</span>
1221
+ </a>
1222
+ </div>
1223
+
1224
+ <div class="method-description">
1225
+ <p>
1226
+ Query the current &quot;sync mode&quot; with IO#sync
1227
+ </p>
1228
+ <pre>
1229
+ ario.sync? =&gt; true or false
1230
+ </pre>
1231
+ <p>
1232
+ Returns the current &quot;sync mode&quot; of <em>ario</em>. When sync mode
1233
+ is true, all output is immediately flushed to the underlying operating
1234
+ system and is not buffered by Ruby internally. See also <a
1235
+ href="RubyIO.html#M000035">fsync</a>, <a
1236
+ href="RubyIO.html#M000042">sync</a>, <a
1237
+ href="RubyIO.html#M000043">nosync</a>
1238
+ </p>
1239
+ <pre>
1240
+ f = rio(&quot;testfile&quot;)
1241
+ f.sync? #=&gt; false
1242
+ </pre>
1243
+ </div>
1244
+ </div>
1245
+
1246
+ <div id="method-M000038" class="method-detail">
1247
+ <a name="M000038"></a>
1248
+
1249
+ <div class="method-heading">
1250
+ <a href="RubyIO.src/M000038.html" target="Code" class="method-signature"
1251
+ onclick="popupCode('RubyIO.src/M000038.html');return false;">
1252
+ <span class="method-name">to_i</span><span class="method-args">()</span>
1253
+ </a>
1254
+ </div>
1255
+
1256
+ <div class="method-description">
1257
+ <p>
1258
+ Calls IO#to_i
1259
+ </p>
1260
+ <pre>
1261
+ to_i()
1262
+ </pre>
1263
+ <p>
1264
+ Alias for <a href="RubyIO.html#M000034">fileno</a>
1265
+ </p>
1266
+ </div>
1267
+ </div>
1268
+
1269
+ <div id="method-M000039" class="method-detail">
1270
+ <a name="M000039"></a>
1271
+
1272
+ <div class="method-heading">
1273
+ <a href="RubyIO.src/M000039.html" target="Code" class="method-signature"
1274
+ onclick="popupCode('RubyIO.src/M000039.html');return false;">
1275
+ <span class="method-name">to_io</span><span class="method-args">()</span>
1276
+ </a>
1277
+ </div>
1278
+
1279
+ <div class="method-description">
1280
+ <p>
1281
+ Calls IO#to_io
1282
+ </p>
1283
+ <pre>
1284
+ ario.to_io -&gt; ios
1285
+ </pre>
1286
+ <p>
1287
+ Returns <em>ario</em>.
1288
+ </p>
1289
+ </div>
1290
+ </div>
1291
+
1292
+ <div id="method-M000040" class="method-detail">
1293
+ <a name="M000040"></a>
1294
+
1295
+ <div class="method-heading">
1296
+ <a href="RubyIO.src/M000040.html" target="Code" class="method-signature"
1297
+ onclick="popupCode('RubyIO.src/M000040.html');return false;">
1298
+ <span class="method-name">tty?</span><span class="method-args">()</span>
1299
+ </a>
1300
+ </div>
1301
+
1302
+ <div class="method-description">
1303
+ <p>
1304
+ Calls IO#tty?
1305
+ </p>
1306
+ <pre>
1307
+ ario.tty? =&gt; true or false
1308
+ </pre>
1309
+ <p>
1310
+ Returns <tt>true</tt> if <em>ario</em> is associated with a terminal device
1311
+ (tty), <tt>false</tt> otherwise.
1312
+ </p>
1313
+ <pre>
1314
+ rio(&quot;testfile&quot;).tty? #=&gt; false
1315
+ rio(&quot;/dev/tty&quot;).tty? #=&gt; true
1316
+ </pre>
1317
+ </div>
1318
+ </div>
1319
+
1320
+ <div id="method-M000041" class="method-detail">
1321
+ <a name="M000041"></a>
1322
+
1323
+ <div class="method-heading">
1324
+ <a href="RubyIO.src/M000041.html" target="Code" class="method-signature"
1325
+ onclick="popupCode('RubyIO.src/M000041.html');return false;">
1326
+ <span class="method-name">ungetc</span><span class="method-args">(*args)</span>
1327
+ </a>
1328
+ </div>
1329
+
1330
+ <div class="method-description">
1331
+ <p>
1332
+ Calls IO#ungetc
1333
+ </p>
1334
+ <pre>
1335
+ ario.ungetc(integer) =&gt; ario
1336
+ </pre>
1337
+ <p>
1338
+ Pushes back one character (passed as a parameter) onto <em>ario</em>, such
1339
+ that a subsequent buffered read will return it. Only one character may be
1340
+ pushed back before a subsequent read operation (that is, you will be able
1341
+ to read only the last of several characters that have been pushed back).
1342
+ </p>
1343
+ <pre>
1344
+ f = rio(&quot;testfile&quot;) #=&gt; #&lt;Rio:testfile&gt;
1345
+ c = f.getc #=&gt; 84
1346
+ f.ungetc(c).getc #=&gt; 84
1347
+ </pre>
1348
+ </div>
1349
+ </div>
1350
+
1351
+ <div id="method-M000024" class="method-detail">
1352
+ <a name="M000024"></a>
1353
+
1354
+ <div class="method-heading">
1355
+ <a href="RubyIO.src/M000024.html" target="Code" class="method-signature"
1356
+ onclick="popupCode('RubyIO.src/M000024.html');return false;">
1357
+ <span class="method-name">write</span><span class="method-args">(*argv)</span>
1358
+ </a>
1359
+ </div>
1360
+
1361
+ <div class="method-description">
1362
+ <p>
1363
+ Calls IO#write
1364
+ </p>
1365
+ <pre>
1366
+ ario.write(string) =&gt; integer
1367
+ </pre>
1368
+ <p>
1369
+ Writes the given string to <em>ario</em>. If the argument is not a string,
1370
+ it will be converted to a string using <tt>to_s</tt>. Returns the number of
1371
+ bytes written.
1372
+ </p>
1373
+ </div>
1374
+ </div>
1375
+
1376
+ <div id="method-M000023" class="method-detail">
1377
+ <a name="M000023"></a>
1378
+
1379
+ <div class="method-heading">
1380
+ <a href="RubyIO.src/M000023.html" target="Code" class="method-signature"
1381
+ onclick="popupCode('RubyIO.src/M000023.html');return false;">
1382
+ <span class="method-name">write!</span><span class="method-args">(*argv)</span>
1383
+ </a>
1384
+ </div>
1385
+
1386
+ <div class="method-description">
1387
+ <p>
1388
+ Writes the given objects to the rio as with <a
1389
+ href="RubyIO.html#M000024">write</a> and then closes the rio.
1390
+ </p>
1391
+ <p>
1392
+ Equivalent to
1393
+ </p>
1394
+ <pre>
1395
+ ario.write(*args)
1396
+ ario.close
1397
+ </pre>
1398
+ </div>
1399
+ </div>
1400
+
1401
+
1402
+ </div>
1403
+ </div>
1404
+
1405
+
1406
+ </div>
1407
+
1408
+
1409
+ <div id="validator-badges">
1410
+ <p><small>Copyright &copy; 2005,2006,2007 Christopher Kleckner. <a href="http://www.gnu.org/licenses/gpl.html">All rights reserved</a>.</small></p>
1411
+ </div>
1412
+
1413
+ </body>
1414
+ </html>