全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
4336 12
2010-01-20
以下程序仅作例示:

program mytest
  version 11
  args l1 l2
  sysuse auto,clear
  replace price=`l1'+`l2'
end

运行之后,输入命令:
mytest 4 5
就把price变量值替换为9

问题:
如何在程序中控制这种情况,比如多输或少输入一个数字,如: “mytest 4 5 6” 、“mytest 4”  会提示错误!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-1-20 15:03:07
这个问题很简单啊,不过怎么可能不会这个呢,加一些输出提示就好了啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-1-20 15:06:46
要看是什么语言,如果是C / java都可以控制(可以拿到参数的数量),别的不熟
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-1-20 15:08:29
changbaiqz 发表于 2010-1-20 15:03
这个问题很简单啊,不过怎么可能不会这个呢,加一些输出提示就好了啊
怎么加!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-1-20 15:08:36
原理应该是这样的吧:输入的数要存放到数组args中,要检测输入数字是否过多或过少,只需要查看一下数组args存放的数字个数就可以了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-1-20 17:25:37
eblog 发表于 2010-1-20 14:58
以下程序仅作例示:

program mytest
  version 11
  args l1 l2
  sysuse auto,clear
  replace price=`l1'+`l2'
end

运行之后,输入命令:
mytest 4 5
就把price变量值替换为9

问题:
如何在程序中控制这种情况,比如多输或少输入一个数字,如: “mytest 4 5 6” 、“mytest 4”  会提示错误!
cap program drop mytest
program mytest
  version 11
  args l1 l2
  if `"`2'"' ==""{
    dis as error "You must specify two arguments, not one!"
    exit
  }
  if `"`3'"' !=""{
    dis as error "You can not specify more than two arguments"
    exit
  }
  sysuse auto,clear
  replace price=`l1'+`l2'
end
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群