MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 216.73.216.153
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /proc/thread-self/root/opt/cpanel/ea-ruby24/root/usr/share/ri/system/IO/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //proc/thread-self/root/opt/cpanel/ea-ruby24/root/usr/share/ri/system/IO/new-c.ri
U:RDoc::AnyMethod[iI"new:ETI"IO::new;TT:publico:RDoc::Markup::Document:@parts[7o:RDoc::Markup::Paragraph;	[I"NReturns a new IO object (a stream) for the given integer file descriptor ;TI"P+fd+ and +mode+ string.  +opt+ may be used to specify parts of +mode+ in a ;TI"?more readable fashion.  See also IO.sysopen and IO.for_fd.;To:RDoc::Markup::BlankLineo;
;	[I"OIO.new is called by various File and IO opening methods such as IO::open, ;TI"!Kernel#open, and File::open.;T@S:RDoc::Markup::Heading:
leveli:	textI"Open Mode;T@o;
;	[I"NWhen +mode+ is an integer it must be combination of the modes defined in ;TI"NFile::Constants (+File::RDONLY+, +File::WRONLY | File::CREAT+).  See the ;TI"+open(2) man page for more information.;T@o;
;	[I"FWhen +mode+ is a string it must be in one of the following forms:;T@o:RDoc::Markup::Verbatim;	[	I"fmode
;TI"fmode ":" ext_enc
;TI"#fmode ":" ext_enc ":" int_enc
;TI"fmode ":" "BOM|UTF-*"
;T:@format0o;
;	[I"O+fmode+ is an IO open mode string, +ext_enc+ is the external encoding for ;TI"3the IO and +int_enc+ is the internal encoding.;T@S;;
i	;I"IO Open Mode;T@o;
;	[I"*Ruby allows the following open modes:;T@o;;	[I"B"r"  Read-only, starts at beginning of file  (default mode).
;TI"
;TI"3"r+" Read-write, starts at beginning of file.
;TI"
;TI"."w"  Write-only, truncates existing file
;TI"<     to zero length or creates a new file for writing.
;TI"
;TI"="w+" Read-write, truncates existing file to zero length
;TI"9     or creates a new file for reading and writing.
;TI"
;TI"C"a"  Write-only, each write call appends data at end of file.
;TI"A     Creates a new file for writing if file does not exist.
;TI"
;TI"C"a+" Read-write, each write call appends data at end of file.
;TI"B     Creates a new file for reading and writing if file does
;TI"     not exist.
;T;0o;
;	[I"PThe following modes must be used separately, and along with one or more of ;TI"the modes seen above.;T@o;;	[I""b"  Binary file mode
;TI"=     Suppresses EOL <-> CRLF conversion on Windows. And
;TI"A     sets external encoding to ASCII-8BIT unless explicitly
;TI"     specified.
;TI"
;TI""t"  Text file mode
;T;0o;
;	[I"HWhen the open mode of original IO is read only, the mode cannot be ;TI"Nchanged to be writable.  Similarly, the open mode cannot be changed from ;TI"write only to readable.;T@o;
;	[I"PWhen such a change is attempted the error is raised in different locations ;TI"according to the platform.;T@S;;
i;I"IO Encoding;T@o;
;	[I"NWhen +ext_enc+ is specified, strings read will be tagged by the encoding ;TI"Iwhen reading, and strings output will be converted to the specified ;TI"encoding when writing.;T@o;
;	[	I"OWhen +ext_enc+ and +int_enc+ are specified read strings will be converted ;TI"Ifrom +ext_enc+ to +int_enc+ upon input, and written strings will be ;TI"Jconverted from +int_enc+ to +ext_enc+ upon output.  See Encoding for ;TI"8further details of transcoding on input and output.;T@o;
;	[I"PIf "BOM|UTF-8", "BOM|UTF-16LE" or "BOM|UTF16-BE" are used, Ruby checks for ;TI"Na Unicode BOM in the input document to help determine the encoding.  For ;TI"PUTF-16 encodings the file open mode must be binary.  When present, the BOM ;TI"Ois stripped and the external encoding from the BOM is used.  When the BOM ;TI"Ois missing the given Unicode encoding is used as +ext_enc+.  (The BOM-set ;TI"Hencoding option is case insensitive, so "bom|utf-8" is also valid.);T@S;;
i;I"Options;T@o;
;	[I"H+opt+ can be used instead of +mode+ for improved readability.  The ;TI""following keys are supported:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[
o:RDoc::Markup::ListItem:@label[I":mode ;T;	[o;
;	[I"Same as +mode+ parameter;T@o;;[I":flags ;T;	[o;
;	[I"+Specifies file open flags as integer. ;TI"GIf +mode+ parameter is given, this parameter will be bitwise-ORed.;T@o;;[I":\external_encoding ;T;	[o;
;	[I""External encoding for the IO.;T@o;;[I":\internal_encoding ;T;	[	o;
;	[I"NInternal encoding for the IO.  "-" is a synonym for the default internal ;TI"encoding.;T@o;
;	[I"0If the value is +nil+ no conversion occurs.;T@o;;[I":encoding ;T;	[o;
;	[I"BSpecifies external and internal encodings as "extern:intern".;T@o;;[I":textmode ;T;	[o;
;	[I"AIf the value is truth value, same as "t" in argument +mode+.;T@o;;[I":binmode ;T;	[o;
;	[I"AIf the value is truth value, same as "b" in argument +mode+.;T@o;;[I":autoclose ;T;	[o;
;	[I"GIf the value is +false+, the +fd+ will be kept open after this IO ;TI"instance gets finalized.;T@o;
;	[I"PAlso, +opt+ can have same keys in String#encode for controlling conversion ;TI"=between the external encoding and the internal encoding.;T@S;;
i;I"Example 1;T@o;;	[	I"&fd = IO.sysopen("/dev/tty", "w")
;TI"a = IO.new(fd,"w")
;TI"$stderr.puts "Hello"
;TI"a.puts "World"
;T;0o;
;	[I"Produces:;T@o;;	[I"Hello
;TI"World
;T;0S;;
i;I"Example 2;T@o;;	[I"require 'fcntl'
;TI"
;TI"'fd = STDERR.fcntl(Fcntl::F_DUPFD)
;TI";io = IO.new(fd, mode: 'w:UTF-16LE', cr_newline: true)
;TI"io.puts "Hello, World!"
;TI"
;TI"'fd = STDERR.fcntl(Fcntl::F_DUPFD)
;TI"2io = IO.new(fd, mode: 'w', cr_newline: true,
;TI"8            external_encoding: Encoding::UTF_16LE)
;TI"io.puts "Hello, World!"
;T;0o;
;	[I"NBoth of above print "Hello, World!" in UTF-16LE to standard error output ;TI">with converting EOL generated by <code>puts</code> to CR.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I")IO.new(fd [, mode] [, opt])   -> io
;T0[I"(p1, p2 = v2, p3 = {});T@�FI"IO;TcRDoc::NormalClass00

MMCT - 2023