Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
api [2014/07/06 16:31]
vexatos
api [2016/06/17 05:14]
payonel [Custom Libraries]
Line 1: Line 1:
-APIS+APIs
 ==== ====
  
Line 5: Line 5:
 ------------------ ------------------
  
-First and foremost you should get familiar with the [[http://​www.lua.org/​manual/​5.2/​manual.html|Lua reference manual]], if you are new to Lua. You will find most basic Lua functionality explained there, as well as a bunch of standard library functions.+First and foremost you should get familiar with the [[http://​www.lua.org/​manual/​5.3/​manual.html|Lua reference manual]], if you are new to Lua. You will find most basic Lua functionality explained there, as well as a bunch of standard library functions.
  
-OpenComputers makes an effort to largely emulate the standard library in areas that would usually interact with the host system - that being the I/O library. There are a few differences,​ which you can look up here: [[NonstandardLuaLibs|differences in the standard libraries]]. Most notably, the debug library is mostly ​ unavailable,​ and `load` only accepts text source files, no binary / pre-compiled Lua programs (for security reasons).+OpenComputers makes an effort to largely emulate the standard library in areas that would usually interact with the host system - that being the I/O library. There are a few differences,​ which you can look up here: [[api:​non-standard-lua-libs|differences in the standard libraries]]. Most notably, the debug library is mostly ​ unavailable,​ and `load` only accepts text source files, no binary / pre-compiled Lua programs (for security reasons).
  
 Note that you now need to `require` all non-standard APIs (including the ones below) before you use them, i.e. all modules not listed in the [[http://​www.lua.org/​manual/​5.2/​manual.html|Lua reference manual]]. Note that you now need to `require` all non-standard APIs (including the ones below) before you use them, i.e. all modules not listed in the [[http://​www.lua.org/​manual/​5.2/​manual.html|Lua reference manual]].
Line 27: Line 27:
 The standard libraries aside, OpenComputers comes with a couple of additional, built-in libraries. Here is a list of all these libraries. Note that some of these may not be usable depending on your configuration (HTTP) and context (Robot library on computers), but they'​ll still be there. The standard libraries aside, OpenComputers comes with a couple of additional, built-in libraries. Here is a list of all these libraries. Note that some of these may not be usable depending on your configuration (HTTP) and context (Robot library on computers), but they'​ll still be there.
  
-- [[Buffer|Buffer]]: a Lua `FILE*` API buffer implementation for wrapping streams. +- [[api:buffer|Buffer]]: a Lua `FILE*` API buffer implementation for wrapping streams. 
-- [[Colors|Colors]]: a global table that allows referencing standard Minecraft colors by name. +- [[api:colors|Colors]]: a global table that allows referencing standard Minecraft colors by name. 
-- [[Component|Component]]:​ look-up and management of components attached to the computer. +- [[api:​component|Component]]:​ look-up and management of components attached to the computer. 
-- [[Computer|Computer]]:​ information on and interactions with the computer the Lua state is running on. +- [[api:​computer|Computer]]:​ information on and interactions with the computer the Lua state is running on. 
-- [[Event|Event]]: ​a very rudimentary ​event system ​(intended for libraries) and filtered signal ​pulling. +- [[api:event|Event]]: ​an event system, often used by libraries, for pulling ​and registering handlers to signals
-- [[FileSystem|FileSystem]]:​ abstracted interaction with file system components. +- [[api:​guid|GUID]]:​ creates long unique identifier strings in the common 8-4-4-4-12 format. 
-- [[Internet|Internet]]:​ a wrapper for Internet Card functionality. +- [[api:​fileSystem|FileSystem]]:​ abstracted interaction with file system components. 
-- [[Keyboard|Keyboard]]:​ a table of key codes by name and pressed key tracking. +- [[api:​internet|Internet]]:​ a wrapper for Internet Card functionality. 
-- [[Note|Note]]: converts music notes between their real name, their MIDI code and their frequency +- [[api:​non-standard-lua-libs#​input_and_output_facilities|IO]]:​ processing input and output of processes, based on the standard Lua library 
-- [[Process|Process]]: keeps track of running programs and their environments +- [[api:​keyboard|Keyboard]]:​ a table of key codes by name and pressed key tracking. 
-- [[Robot|Robot]]: abstracted access to robot actions. +- [[api:note|Note]]: converts music notes between their real name, their MIDI code and their frequency 
-- [[Serialization|Serialization]]:​ allows serialization of values, e.g. for sending them via the network. +- [[api:​non-standard-lua-libs#​operating_system_facilities|OS]]:​ general operating system api, based on the standard Lua library 
-- [[Shell|Shell]]: working path tracking and program execution. +- [[api:​package|Package]]:​ provides cached libraries and special loading. 
-- [[Sides|Sides]]: a global table that allows referencing sides by name. +- [[api:​process|Process]]: keeps track of running programs and their environments. 
-- [[Term|Term]]: provides ​a simple readline implementation ​and text output. +- [[api:​rc|RC]]:​ provides automatic program execution and service management. 
-- [[Text|Text]]: provides text utilities such as serialization and tab to space conversion. +- [[api:robot|Robot]]: abstracted access to robot actions. 
-- [[Unicode|Unicode]]: provides Unicode aware implementations of some functions in the string library.+- [[api:​serialization|Serialization]]:​ allows serialization of values, e.g. for sending them via the network. 
 +- [[api:shell|Shell]]: working path tracking and program execution. 
 +- [[api:sides|Sides]]: a global table that allows referencing sides by name. 
 +- [[api:term|Term]]: provides ​the concept of the cursor, to read and write from keyboard input and screen ​output, respectively
 +- [[api:text|Text]]: provides text utilities such as tab to space conversion. 
 +- [[api:​transforms|Transforms]]:​ provides helpful and advanced table manipulators. 
 +- [[api:​unicode|Unicode]]: provides Unicode aware implementations of some functions in the string library. 
 + 
 + 
 +Contents 
 +----------- 
 +{{page>​api:​contents&​noheader&​noeditbutton&​nouser&​nofooter}}