Difference between revisions of "Peripheral.find"
From ComputerCraft Wiki
Bomb Bloke (Talk | contribs) m (Rewording.) |
|||
Line 20: | Line 20: | ||
}} | }} | ||
{{Example | {{Example | ||
− | |desc=Finds 2 '''advanced''' monitors and writes 'Hello' on the first and 'World' on the second. | + | |desc=Finds 2 '''advanced''' monitors and writes 'Hello' on the first and 'World' on the second. |
|code= local mon1, mon2 = '''peripheral.find("monitor", function(name, object) return object.isColour() end)''' | |code= local mon1, mon2 = '''peripheral.find("monitor", function(name, object) return object.isColour() end)''' | ||
Line 34: | Line 34: | ||
}} | }} | ||
}} | }} | ||
+ | |||
+ | {{Example | ||
+ | |desc=If six monitors were to be attached to a computer, peripheral.find("monitor") would return their handles in that order: Bottom, top, back, front, right and left. | ||
+ | That order always stays the same. The bottom peripheral will always have the priority and be returned first. | ||
+ | peripheral.getNames() follows the same return pattern. It could be used to find out the order in which the peripheral handles will be returned when using peripheral.find(). | ||
+ | |code= local bottomMonitor, topMonitor, backMonitor, frontMonitor, rightMonitor, leftMonitor = '''peripheral.find("monitor")''' | ||
+ | textutils.tabulate(peripheral.getNames()) | ||
+ | |||
+ | |output= Will print the string 'bottom top back front right left' on the terminal. | ||
+ | }} | ||
+ | |||
+ | |||
[[Category:Lua_Core_Functions]] | [[Category:Lua_Core_Functions]] |
Revision as of 15:24, 1 August 2015
Function peripheral.find | |
Introduced by ComputerCraft 1.6, returns a list of handles for connected peripherals that match the supplied type (essentially performing as a filtered version of peripheral.wrap()). A custom function may additionally be passed as a parameter - if it's supplied, each matching peripheral's name and handle will be passed to it during the search, and they'll only be included in the final results if it returns "true". | |
Syntax | peripheral.find(string type [, function fnFilter( name, object )]) |
Returns | table handle1, table handle2, ... handles to peripherals of the given type |
Part of | ComputerCraft |
API | peripheral |
Examples
Example | |
Finds a monitor and writes 'Hello' on it. | |
Code |
local monitor = peripheral.find("monitor") if monitor then monitor.write("Hello") end |
Output | If there is a monitor connected 'Hello' will be written on it. |
Example | |
Finds 2 advanced monitors and writes 'Hello' on the first and 'World' on the second. | |
Code |
local mon1, mon2 = peripheral.find("monitor", function(name, object) return object.isColour() end) if mon1 then mon1.setTextColour(colours.blue) mon1.write("Hello") end if mon2 then mon2.setTextColour(colours.red) mon2.write("World") end |
Output | If it finds 1 advanced monitor, 'Hello' will be written on it. If it finds 2 advanced monitors, 'Hello' will be written on the first and 'World' on the second. |