OC計算代程式碼量

2021-06-27 14:29:46 字數 1474 閱讀 7697

//計算某個資料夾下所有檔案的**量

nsuinteger codelinecount(nsstring *path)

//1.獲得檔案管理者

nsfilemanager *mgr = [nsfilemanager defaultmanager];

//2.判斷path是資料夾還是檔案路徑

bool dir = no; //標記是否為資料夾

//這個路徑是否存在

bool exist = [mgr fileexistsatpath:path isdirectory:&dir];

//3.如果不存在,直接返回0

if(!exist) return 0;

if (dir)

{//資料夾

//陣列中存放著當前資料夾下面的所有內容(資料夾、檔案)

nsarray *array = [mgr contentsofdirectoryatpath:path error:nil];

//記錄**行數

int count = 0;

//遍歷陣列中的檔案(夾)名

for (nsstring *filename in array)

//子檔案(夾)的全路徑

nsstring *fullpath = [nsstring stringwithformat:@"%@/%@",path, filename];

//累加每個子路徑的總行數

count += codelinecount(fullpath);

return count;

else

{//檔案

//1.判斷檔案的副檔名(全部轉化為小寫,忽略大小寫)

nsstring *extension = [[path pathextension] lowercasestring];

if (![extension isequaltostring:@"h"]

&& ![extension isequaltostring:@"m"]

&& ![extension isequaltostring:@"c"])

//檔案拓展名不是h、m、c,直接退出

return 0;

//2.載入檔案內容

nsstring *content = [nsstring stringwithcontentsoffile:path encoding:nsutf8stringencoding error:nil];

//3.將檔案內容切割成每一行

nsarray *array = [content componentsseparatedbystring:@"\n"];

//去掉父目錄

nsstring *str = [path stringbyreplacingcharactersinrange:range withstring:@""];

nslog(@"%@ ---- %ld", str, array.count);

return array.count;

OC基礎 block 字面量

block 塊語法,可以用block去儲存一段 或者封裝一段 block 實際是由c語言實現的,執行效率很高.block 實際借鑑了函式指標的語法.block 引數型別1 引數名1,引數型別2 引數名2.返回值型別 1.沒有引數,括號也不能省略 2.引數名可以省略 void myblock1 無引數...

分組卷積 計算量

import torch import torch.nn as nn 分組卷積 n,c in,h,w,c out 10,4,16,16,4 x torch.randn n,c in,h,w conv nn.conv2d c in,c out,3,1,padding 0,bias false conv...

OC 計算器 初級

inte ce end else containterview addsubview button 建立運算符號 nsarray signarr for int i 0 i 4 i 建立清除按鈕 uibutton acbutton uibutton buttonwithtype uibuttonty...