⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.133
Server IP:
185.119.109.197
Server:
Linux managedhosting.chostar.me 5.15.0-160-generic #170-Ubuntu SMP Wed Oct 1 10:06:56 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.1.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
ri
/
3.0.0
/
system
/
BasicObject
/
View File Name :
cdesc-BasicObject.ri
U:RDoc::NormalClass[iI"BasicObject:ET@0o:RDoc::Markup::Document:@parts[o;;[ : @fileI"class.c;T:0@omit_headings_from_table_of_contents_below0o;;[o:RDoc::Markup::Paragraph;[I"OBasicObject is the parent class of all classes in Ruby. It's an explicit ;TI"blank class.;To:RDoc::Markup::BlankLine o;;[ I"LBasicObject can be used for creating object hierarchies independent of ;TI"ORuby's object hierarchy, proxy objects like the Delegator class, or other ;TI"Luses where namespace pollution from Ruby's methods and classes must be ;TI" avoided.;T@o;;[I"KTo avoid polluting BasicObject for other users an appropriately named ;TI"Msubclass of BasicObject should be created instead of directly modifying ;TI"BasicObject:;T@o:RDoc::Markup::Verbatim;[I"(class MyObjectSystem < BasicObject ;TI" end ;T:@format0o;;[I"GBasicObject does not include Kernel (for methods like +puts+) and ;TI"OBasicObject is outside of the namespace of the standard library so common ;TI"?classes will not be found without using a full class path.;T@o;;[ I"KA variety of strategies can be used to provide useful portions of the ;TI"Fstandard library to subclasses of BasicObject. A subclass could ;TI"J
include Kernel
to obtain +puts+, +exit+, etc. A custom ;TI"PKernel-like module could be created and included or delegation can be used ;TI"via #method_missing:;T@o; ;[I"(class MyObjectSystem < BasicObject ;TI" DELEGATE = [:puts, :p] ;TI" ;TI"/ def method_missing(name, *args, &block) ;TI"4 return super unless DELEGATE.include? name ;TI", ::Kernel.send(name, *args, &block) ;TI" end ;TI" ;TI"> def respond_to_missing?(name, include_private = false) ;TI"* DELEGATE.include?(name) or super ;TI" end ;TI" end ;T;0o;;[ I"IAccess to classes and modules from the Ruby standard library can be ;TI"Lobtained in a BasicObject subclass by referencing the desired constant ;TI"Jfrom the root like
::File
or
::Enumerator
. ;TI"KLike #method_missing, #const_missing can be used to delegate constant ;TI"lookup to +Object+:;T@o; ;[ I"(class MyObjectSystem < BasicObject ;TI"$ def self.const_missing(name) ;TI"" ::Object.const_get(name) ;TI" end ;TI"end;T;0; I" object.c;T; 0; 0; 0[ [ [ [[I" class;T[[:public[[I"new;TI" object.c;T[:protected[ [:private[ [I" instance;T[[;[[I"!;T@W[I"!=;T@W[I"==;T@W[I"__id__;TI" gc.c;T[I" __send__;TI"vm_eval.c;T[I"equal?;T@W[I"instance_eval;T@l[I"instance_exec;T@l[I"singleton_method_removed;T@W[I"singleton_method_undefined;T@W[;[ [;[[I"method_missing;T@l[I"singleton_method_added;T@W[ [U:RDoc::Context::Section[i 0o;;[ ; 0; 0[ @I" gc.c;T@KI"vm_eval.c;T@‚cRDoc::TopLevel