本文共 2061 字,大约阅读时间需要 6 分钟。
stack 保存很小的局部变量,免费使用,但有数量限制(16个变量),包含参数和返回值(including parameters and return parameters)
原来是
// 设置用户信息function set_user_info(string user_address, string name, string age) public returns(int) { TableFactory tf = TableFactory(0x1001); Table table = tf.openTable("user"); Entry entry = table.newEntry(); entry.set("user_address", user_address); entry.set("name", name); entry.set("age", age); int count = table.insert(name, entry);}
可修改为
// 设置用户信息// user_info是一个数组,如["xxxxx", "张三", "20"]function set_user_info(string[] user_info) public returns(int) { TableFactory tf = TableFactory(0x1001); Table table = tf.openTable("user"); Entry entry = table.newEntry(); entry.set("user_address", user_info[0]); entry.set("name", user_info[1]); entry.set("age", user_info[2]); int count = table.insert(user_info[0], entry);}
这种方法比较适合传入一组数据
// 设置用户信息-姓名function set_user_info_name(string user_address, string name) public returns(int) { TableFactory tf = TableFactory(0x1001); Table table = tf.openTable("user"); Entry entry = table.newEntry(); entry.set("user_address", user_address); entry.set("name", name); int count = table.insert(user_address, entry); return count;}// 设置用户信息-年龄function set_user_info_age(string user_address, string age) public returns(int) { TableFactory tf = TableFactory(0x1001); Table table = tf.openTable("user"); Entry entry = table.newEntry(); entry.set("age", age); Condition condition = table.newCondition(); condition.EQ("user_address", user_address); int count = table.update(user_address, entry, condition); return count;}
这种方法比较适合传入多组数据
原来
// 得到用户信息function get_user_info(string user_address) public returns(string name, string age) { // xxxx return (name, age);}
可改为
// 得到用户信息function get_user_info(string user_address) public returns(string[] user_info) { // xxxx user_info['name'] = '张三'; user_info['age'] = 20; return user_info;}
转载地址:http://mvkof.baihongyu.com/