となるボットサービスプロバイダに ボットのリブレクトボット
Self, AIML, and scripting

star (parameter with space or dash)

による Schrader 掲載 Mar 22 2018, 10:58

Hi, I have a pattern with 3 stars, pattern "* * *" template relearn();

then I can read sigle parameters by using:

var brand = sentence.get(#word, 0);
var series = sentence.get(#word, 1);
var year = sentence.get(#word, 2);

but one of the parameter can have space for example par1 par2 par 3

so the words become 4 becose a space.

I have to read 3 parameters from the 3 starts

How can I solve this situation ? 

 

Also if the user input 1par 2-par 3par, the second parameter is ignored I mean in #word1 I find obly 2 and not 2-par

 

 Thanks in advance


by admin posted Mar 22 2018, 13:43
To access * wildcards from a pattern use the "star" variable. For multiple stars this will be an array.

i.e.
var brand = star[0];
var series = star[1];
var year = star[2];

The star will be the whole string fragment matched to the wildcard.

Thumbs up: 0, thumbs down: 0, stars: 0.0
Views: 2990, today: 0, week: 1, month: 17

Id: 21407233
タグ: star (parameter with space or dash)
掲載: Mar 22 2018, 10:58
回答: 1
眺望: 2864, 今日の: 1, 週間: 2, 月: 19
0 0 0.0/5