rio 0.3.9 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>