Хоча існує більше декількох ідей щодо того, що таке програмування, кероване даними, дозвольте мені навести приклад із використанням структури даних та функції.
Приклад, не керований даними:
data_lloyd = {'name': 'Lloyd', 'lives': 'Alcoy }
data_jason = {'name': 'Jason', 'lives': 'London' }
go = function(x)
if x.name == 'Lloyd'
then
print("Alcoy, Spain")
else
print("London, UK")
end
Приклад керування даними:
data_lloyd = {'name': 'Lloyd', 'lives': function(){ print("Alcoy, Spain") }
data_jason = {'name': 'Jason', 'lives': function(){ print("London, UK") }
go = function(x)
x.lives()
end
У першому прикладі рішення про показ того чи іншого результату полягає в логіці коду. В останньому прикладі вихідні дані визначаються даними, які передаються функції, і з цієї причини ми говоримо, що вихідні дані "керуються" даними.