erl命令行运行问题

最近在使用idea进行一些开发,之前都是在ide里写代码,运行均是手动在shell中,在idea里尝试直接运行,实际上相当于在命令行中使用-run 或-s ,却发现有2个问题。
1、使用io:format输出时,和shell中的结果不一样。
-s:  
ddd["1"]

shell:
ddd1
2、使用递归函数时,报参数匹配错误
{badarith,[{tc,a,1,[{file,"f:/qinyuxi/tset1/src/tc.erl"},{line,13}]}
写了一个测试程序检查
- module(tc).

- export([a/1]).

a(10) ->
  10;

a(A) ->
  io:format("ddd~p~n",[A]),
  a(A+1).
该程序在shell中运行正常,使用erl -run tc a 1则报上面的错。
本来以为是2个独立的问题,经过高任兄的分析,发现2个问题是有关联的,仔细看问题1,其实可以发现,传入的参数在-run模式下,其实是["1"],而不是1,所以该错误就很明显了,erlang虽然是弱类型语言,但在模式匹配中,list是无法和integer进行比较的。
如何让-run带入的参数和shell中一样呢?这个留待以后研究

转载于:https://www.cnblogs.com/ccj/archive/2012/11/01/2749614.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值