
D
Publisher
drdan
Funcy
Tools
Functional GDScript Prototyping Array Operators Query Library Filter
An addon to aid a functional programming style in gdscript.
This plugin has been mirrored from the Godot Asset Library.
The plugin author is in no way affiliated with Gadget.
If you are the author of this plugin and would like this mirror removed, please contact support@gadgetgodot.com.
Funcy
Written in Godot 3.2
A library to aid a functional programming style in gdscript. Provides operators that deal with lists and individual items.
Similar to ramda, underscore.js
Largely untested but good for speedy prototyping.
Usage
Quick demo
const F = Funcy
# open fields for each
F.map(F.open(['inv/weapon', 'name', 'age']))
# get only the items that pass validation
F.filter(F.all([F.gt(4), F.lteq(9)]))
# compose operators
F.comp([
# map, filter
F.map([
F.expr('_x + 3'),
F.fn(self, 'plus_xy', [2])]),
F.filter(F.gt(5))
])
eval
There are multiple ways to trigger evaluation of a query
# use query later
F.map(op)
# these have the same effect
F.map(op).eval(data)
F.map(op, data)
F.do(F.map(op), data)
Installation
Download from the Asset Store
Or place addons/Funcy in the addons folder of your project.