SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 741|回复: 0
打印 上一主题 下一主题

SAS中定义字符长度问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2011-8-27 22:32:44 | 只看该作者

SAS中定义字符长度问题

From hssnow's blog on hssnow.name

前段时间翻看SASOR上的老帖子,在这个帖子中 ahuige 和 qkaiwei 讨论了下SAS中定义字符长度的问题,觉得挺有意思也挺有用处,摘录如下: ahuige 1.第一个讨厌的特性,变量按第一次赋值决定变量的长度。 ?View Code SAS1 2 3 4 5 data xx; x='ab'; x='ab'||'c'; put x=; run; 以上的语句,在log窗中可以看到,x的值依然是'ab';这会让一个使用过其他语言写过这种天经地义的正确写法但又在sas中得到这种结果的人不知所措 ahuige 然后现在会有sas的卫道者跳出来说,这有什么,一个变量应该先定义长度,然后再赋值。下面的方法可以解决这个问题 ?View Code SAS1 2 3 4 5 6 data xx; length x$8.;*这里加一个定义长度; x='ab'; x='ab'||'c'; put x=; run; 这个问题的确解决了,log窗里可以看到这里x='abc' 好,现在初学者认为他已经了解了解决这个问题的方法。但是,下面的pitfall又来了。 ?View Code SAS1 2 3 4 5 6 data xx; length x$8; [...]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-10 00:02 , Processed in 0.068220 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表