রিসোর্স লোড হচ্ছে... লোডিং...

২.৯ কৌশলগত রোবট চলাকালীন ডিবাগিং (JS - eval ফাংশনের ব্যবহার)

লেখক:উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্ন, তৈরিঃ ২০১৬-১১-১৫ 14:54:40, আপডেটঃ ২০১৭-১১-১১ 10:21:40

ইন্টারঅ্যাকশন কৌশল রোবট চলাকালীন ডিবাগিং ((JS eval ফাংশনের ব্যবহার)

  • আসুন প্রথমে JS এর eval ফাংশন সম্পর্কে জেনে নিইঃ

    w3schoolimg img

    আপনি যদি eval ফাংশন সম্পর্কে জানেন, তাহলে আপনি কি কৌশলগত ইন্টারঅ্যাকশনের ক্ষেত্রে কোড বাস্তবায়ন দেখতে পারেন?

  • কৌশলগত ইন্টারঅ্যাকশনের বাস্তবায়নঃ

    নীতি ইন্টারঅ্যাকশনের জন্য ব্যবহারকারীকে API GetCommand ফাংশনের রিটার্ন মানগুলি পরিচালনা করতে হবে।

var cmd = GetCommand();             // 调用API  获取界面交互控件的消息。 
if (cmd) {                          // 判断是否有消息
    var js = cmd.split(':', 2)[1];  // 分割 返回的消息 字符串, 限制返回2个, 把索引为1的 元素 赋值给 名为js 的变量 
    Log("执行调试代码:", js);         // 输出 执行的代码
    try {                           // 异常检测
        eval(js);                   // 执行 eval函数, 该函数执行传入的参数(代码)。
    } catch(e) {                    // 抛出异常
        Log("Exception", e);        // 输出错误信息
    }
}

নীচে আমরা এই কোডটি একটি নীতিতে লিখেছি এবং ইন্টারেক্টিভ ইন্টারফেস কন্ট্রোলগুলি কনফিগার করেছি। সম্পূর্ণ পরীক্ষার কোডঃ

var price = 0;
var amount = 0;
function main() {
    Log("初始 price:", price, "初始 amount", amount);
    while(true){
        var cmd = GetCommand();             // 调用API  获取界面交互控件的消息。 
        if (cmd) {                          // 判断是否有消息
            var js = cmd.split(':', 2)[1];  // 分割 返回的消息 字符串, 限制返回2个, 把索引为1的 元素 赋值给 名为js 的变量 
            Log("执行调试代码:", js);         // 输出 执行的代码
            try {                           // 异常检测
                eval(js);                   // 执行 eval函数, 该函数执行传入的参数(代码)。
            } catch(e) {                    // 抛出异常
                Log("Exception", e);        // 输出错误信息
            }
        }
        Sleep(1000);
    }
}

ইন্টারেক্টিভ কন্ট্রোল যোগ করুনঃimg

  • এটি চালানঃ

    imgএখন, আমরা price, amount, এর গ্লোবাল ভেরিয়েবল পরিবর্তন করি।imgযদি এটি ভুল কোড হয় তবে এটি একটি ব্যতিক্রম ফেলে দেয়ঃimg

আরো

হালকা মেঘমুনদাকে ধন্যবাদ, অবশেষে ইন্টারঅ্যাকশন করার উপায় খুঁজে পেয়েছি।