Download the open source Bot Libre Community Edition and install Bot Libre on your own server
Self, AIML, and scripting : How to retrieve a string list from an object where I put them?

RE: How to retrieve a string list from an object where I put them?

by admin posted Oct 26 2019, 19:50

Be sure to assign the variable a value first before trying to add to it, otherwise you are adding elements in the null object. The 'element' field can be used to access an array's elements.

i.e.
#Global.assuntos = new Array();
#Global.assuntos.add("autotutela");
#Global.assuntos.add("jurisdição");
#Global.assuntos.add("inafastabilidade da jurisdição");

#Global.assuntos.size() == 3;
#Global.assuntos.element[0] == "autotutela";
#Global.assuntos.element[1] == "jurisdição";

var text = "";
for (element in #Global.assuntos.element) {
    text = text + element + ",";
};
text == "autotutela,jurisdição,inafastabilidade da jurisdição,";

In Self every object field can have multiple values, so using array access on a field accesses the field index, not the element index of the field value.

i.e.
#Global.assuntos =+ "autotutela";
#Global.assuntos =+ "jurisdição";
#Global.assuntos =+ "inafastabilidade da jurisdição";

#Global.size(#assuntos) == 3;
#Global.assuntos[0] == "autotutela";
#Global.assuntos[1] == "jurisdição";

var text = "";
for (element in #Global.assuntos) {
    text = text + element + ",";
};
text == "autotutela,jurisdição,inafastabilidade da jurisdição,";

So you don't need to create an array, but can if you wish. As a variable you can use the array index, just not as a field on another object (then it is the field index).

#Global.assuntos = new Array();
#Global.assuntos.add("autotutela");
#Global.assuntos.add("jurisdição");
#Global.assuntos.add("inafastabilidade da jurisdição");

var assuntos = #Global.assuntos;
assuntos.size() == 3;
assuntos.element[0] == "autotutela";
assuntos.element[1] == "jurisdição";

var text = "";
for (element in assuntos) {
    text = text + element + ",";
};
text == "autotutela,jurisdição,inafastabilidade da jurisdição,";


Id: 29803294
Posted: Oct 26 2019, 19:50
Updated: Oct 26 2019, 19:52
Replies: 0
Views: 2657, today: 1, week: 2, month: 61
1 0 5.0/5