Int($sFileRead = "")有什么含义?[已解决]
本帖最后由 cashiba 于 2018-6-28 21:55 编辑Func _FileCountLines($sFilePath)
Local $hFileOpen = FileOpen($sFilePath, $FO_READ)
If $hFileOpen = -1 Then Return SetError(1, 0, 0)
Local $sFileRead = StringStripWS(FileRead($hFileOpen), $STR_STRIPTRAILING)
FileClose($hFileOpen)
Return UBound(StringRegExp($sFileRead, "\R", $STR_REGEXPARRAYGLOBALMATCH)) + 1 - Int($sFileRead = "")
EndFunc
如上自定义函数计算文件行数
最后一句
UBound(StringRegExp($sFileRead, "\R", $STR_REGEXPARRAYGLOBALMATCH)) + 1 - Int($sFileRead = "")
感觉有些深奥阿
整句话怎么解释或理解呢?
尤其 Int($sFileRead = "")起什么作用?
帮助不是写得很清楚,要转换为整数的表达式. 楼主问得是为什么这样写.而不是int有什么用.
Int($sFileRead = "")
括号里的$sFileRead = "" 是一个逻辑判断.
如果前面的sFileRead的值不为空.那么这个表达式返回假.Int($sFileRead = "") = 0
如果前面的sFileRead的值为空.那么这个表达式返回真.Int($sFileRead = "") = 1
实在不懂可以代入测试一下的.一试便知. 按照这个函数的写法,如果文件为空时,会返回1,所以后面加上一个判断是不是空,为空则减掉这个1. 哦,原来是要表达这个意思,太深奥了....
{:face (203):}
if $sRead = "" Then
Return 0
else
Return UBound(StringRegExp($sRead, "\R", 3)) + 1
EndIf
感谢各位大神的指点.....
{:face (88):}
页:
[1]