| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2765 人关注过本帖, 3 人收藏
标题:VFP学习、开发漫谈 (二)
只看楼主 加入收藏
b土木丁口
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:264
专家分:189
注 册:2013-9-12
收藏
得分:0 
支持
2014-02-25 17:59
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
我也來談一談字符串的三個分界符。VFP的字符串界定,確實有三種形式:雙引號、單引號和方括號。

雙引號,是與所有編程語言一致的字符串標識方式,從與其他語言觀感一致的角度來說,應首選使用雙引號。其實若論按鍵,由於鍵盤上雙引號和單引號位於同一鍵上,區別僅在後者要按Shift鍵,似乎需要多按一個鍵,但實際上右Shift鍵與雙引號鍵距離相當近,可以單手操作,而且對練過打字(指法)的人來説,這根本不是什麽問題,何況需要多指操作的情況還有許多,并不單單是書寫字符串如此(打字本來就是多指并用的嘛)。所以這個不是很成立的理由,好的理由就是兼容性,不要顯得太另類。

在C、C++等語言中,以及其他許多語言中(包括C#、BASIC、Pascal等),單引號是表示字符(char)的,熟悉C/C++的人都知道,字符char類被内部表達爲整數,而字符串往往是一個字符數組,'A'和"A"的涵義是不一樣的。所以使用單引號的時候,從兼容性考慮,也要避免讓閲讀者誤會爲是字符,特別是單字符字符串。VFP并不區分單字符(char)和字符串(string),都是字符串(事實上VFP儲存的數值型數據也是以字符串形式儲存的,不是二進制,故VFP的字符運算速度相當快但數值運算較慢)。VFP的字符串和數組當從C++的vector派生而來。

方括號,從兼容性角度考慮,它也應優先表達爲數組。對數組,最好不要用圓括號(像字符串的三種表達一樣),雖然語法允許,但最好不要這樣用,因爲VFP的執行有兩種機制,解釋執行和編譯執行,對圓括號的東西,如果代碼又沒有數據類型聲明和明確定義,在編譯後,會被理解爲函數,這就是很多人經常問到數組被報未定義函數的原因。字符串用方括號,遇到内容僅是數字時恐怕就悲劇了。頻繁變換字符串標識,也影響可讀性和可理解性。

那麽,VFP爲什麽要別出心裁地允許三種字符串界定符呢?答案是它不是讓程序員有多種花巧選擇,而是有實際用途的。我們有時會遇到字符串内部出現雙引號、單引號、方括號這樣的文字符號,這個時候單一界定符就很不方便了(有辦法,但很繁瑣而且難看,類似C/C++那樣的轉義字符不是最佳方案,C#就修正了這個問題),VFP看來是完美解決這一問題的唯一語言,使用三種界定:當你在字符串内部用到雙引號,那麽這個字符串就用單引號括在最外面,反之亦然,如果兩種符號都有,那麽你還有第三種可用(不大可能這也遇到麻煩,如果有,那麽你應該去買六合彩了,中彩機會極大)。

[ 本帖最后由 TonyDeng 于 2014-2-26 03:32 编辑 ]

授人以渔,不授人以鱼。
2014-02-26 03:25
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
对于VFP有三种字符串界定符的看法,我与邓版的最后一段文字观点一致,是为了字符串使用的方便。
2014-02-26 08:19
flash7914
Rank: 2
等 级:论坛游民
帖 子:40
专家分:14
注 册:2013-4-7
收藏
得分:0 
感谢老师的无私奉献。
2014-02-26 10:44
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:273
专家分:227
注 册:2012-12-20
收藏
得分:0 
学习
2014-02-27 13:10
ivf
Rank: 1
等 级:新手上路
帖 子:66
专家分:2
注 册:2009-3-14
收藏
得分:0 
好帖子,楼主辛苦~~~
2014-03-08 11:36
wzxzh
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-6-10
收藏
得分:0 
细节决定成败,基础知识学习中
2014-06-12 22:38
cxzbzgz
Rank: 8Rank: 8
来 自:云南楚雄
等 级:贵宾
威 望:24
帖 子:296
专家分:808
注 册:2012-6-15
收藏
得分:0 
难得看到的VFp的好文章,高手!

学习交流VFP,QQ:248561326。
2014-07-30 15:41
caohongyi
Rank: 2
来 自:青岛
等 级:论坛游民
帖 子:31
专家分:49
注 册:2010-8-13
收藏
得分:0 
太好了,受益匪浅
2014-09-13 17:04
b土木丁口
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:264
专家分:189
注 册:2013-9-12
收藏
得分:0 
路过
2014-10-13 16:23
快速回复:VFP学习、开发漫谈 (二)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015727 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved