网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月16日
漏签
0
天
青岛程序猿吧
关注:
10
贴子:
113
看贴
图片
吧主推荐
游戏
9
回复贴,共
1
页
<返回青岛程序猿吧
>0< 加载中...
令程序员费解的10个语言特性
只看楼主
收藏
回复
汇众UED学校
铁杆吧友
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
摘要:每种语言都有自己的独到之处,或奇特的语法,或不常见的函数,或非标准的执行方式。因此,不论新丁还是老手,看着某个特性会突然醉了。本文总结了10个经常被提及的“奇异”特性。
送TA礼物
1楼
2014-09-18 11:26
回复
汇众UED学校
铁杆吧友
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
1. Javascript: + 是一个连接符
问题描述:在JS中,+ 号用在数字间,可以用作常规加法;但如果遇上字符,又可作为字符连接符。例如:’1’+ 1的结果是11。
成因分析:
根本性原因是JS属于弱类型语言。比方说Python,同样地使用+ 号作为字符连接符,但由于它是强类型语言,一旦发现一个字符与一个整数进行相加,它会提示这是个错误操作。
2楼
2014-09-18 11:27
回复
收起回复
汇众UED学校
铁杆吧友
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
2. Perl:模块必须返回TRUE值
问题描述:绝大多数情况下,Perl模块在结束时候,都必须以1;语句来结尾,否则,如果最后一条语句的返回值不是TRUE,系统就会报错了。
成因分析:
Perl模块中包含了初始代码和子程序。当模块文件被载入时,Perl会根据是否返回TRUE来判断代码是否成功执行。即使没有初始代码,Perl仍然期望最后的语句需返回TRUE,否则会报错。
3楼
2014-09-18 11:27
回复
收起回复
汇众UED学校
铁杆吧友
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
4. PHP:大小写敏感处理
问题描述:
PHP对大小写处理比较混乱,有些地方区分,有些地方不区分。例如:变量名,常量名区分;函数名,方法名,类名不区分。
成因分析:
很可能是PHP从CGI脚本集发展成成熟编程语言过程中出现的人工产品。
5楼
2014-09-18 11:28
回复
收起回复
汇众UED学校
铁杆吧友
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
5. Ruby:0作为真值
问题描述:
在Ruby中,0值等同于TRUE值。这对有C,Python基础的程序员来说不可不谓是一场噩梦。
成因分析:
只有布尔值FALSE和nil等价于FALSE,其余的都等同于TRUE。0与1,2,3等都会被相同对待。
6楼
2014-09-18 11:28
回复
收起回复
汇众UED学校
铁杆吧友
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
6. Python:以空格数进行层次划分
问题描述:
不同于采用关键字或标点符,PY中采用缩进层级来进行层次划分,以明确每一行代码的位置。不正确的空格数(或空格和换位符数不一致)都可能造成程序报错。
成因分析:
PY作者的意图是希望代码更为可读,减少不必要的输入,并希望程序员本身应该承担起维护代码清晰度的责任。
7楼
2014-09-18 11:28
回复
收起回复
汇众UED学校
铁杆吧友
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
7. C:数组索引工作模式等同于指针
问题描述:
在C中,a[i]和i[a]是可以互换的,两个写法都能得出一样的结果。
成因分析:
在C中,对内存块而言,数组与指针是无差别的,就是说:
a[i] = *(a + i) = *(i + a) = i[a]。
8楼
2014-09-18 11:28
回复
收起回复
汇众UED学校
铁杆吧友
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
8. Perl’s:预定义变量
问题描述:
Perl有一份很长很长的特殊变量列表,里面的名字都是十分繁杂的(尽管有对应的长英文单词)。因此,除非是Perl资深开发人员,否则反复翻阅Perl文档是常有的事。
成因分析:
这些变量都有不同的含义,例如:进程ID($$),错误信息($@),正则表达式匹配($^R)。
9楼
2014-09-18 11:29
回复
收起回复
汇众UED学校
铁杆吧友
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
9. JavaScript:自动分号插入
问题描述:
JS使用分号作为语句结束的标志,并且会自行插入,即使是代码断行的情况。因此会常常导致错误的出现。
成因分析:
自动化的本意是为了带来便利,特别是对新手来说。
10楼
2014-09-18 11:29
回复
收起回复
汇众UED学校
铁杆吧友
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
10. Java:自动装箱(autoboxing)与Integer缓存
问题描述:
Java会自动把基础类型数据转为对象(自动装箱),例如把int转为一个Integer对象。同时默认地,缓存Integer对象的取值为-128到127。这样的话,在使用==来比较两个相同取值Integer对象时会出现问题(在-128和127之内是TRUE,其余的是FALSE)
成因分析:
自动装箱机制减少了代码输入量,同时Integer缓存提升了处理速度。
11楼
2014-09-18 11:29
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
老外学中文不看弱智吧等于白学
2528070
2
黑神话惊喜贺岁片隐藏彩蛋
2172622
3
洛杉矶富人雇私人消防躲过山火
1742972
4
如何评价OW2这波回归补偿?
1621215
5
谁给洋人指路素食吧的
1426204
6
中美网友对账发现对不上
1394850
7
WBG两胜晋级淘汰赛
1105032
8
来了中文软件就给我说中文
838856
9
小红书外国老哥是真敢发
821128
10
海贼王1136话情报露出
712383
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示