にっき

2007/12/25 20:17:59

すとっぷうぉっち


ふみゅ・・・
簡単そうなお題はくりあしちゃったのとどたばたしてるのもあってちょっと止まってたら
いつの間にかもうすとっくがほとんどなくなっちゃったにう(´・ω・`;【みかん
でもとりあえずは残ってる問題をご〜ご〜ってことで...〆(・x・。【みかん



実行時間の測定
022-profile.lua
function profile(func)
    local start = os.time();
    local ret = func(unpack(arg));
    local t = os.difftime(os.time(),start);
    
    if type(ret) == [[table]] then
        return {t,unpack(ret)};
    end
    
    return {t,ret};
end

function heavyFunction(n)
    for i = 1,n,1 do
    end
    return [[Hello World]];
end

function heavyMultiResultFunction(n)
    for i = 1,n * 2,1 do
    end
    return {[[Hello]],[[World]]};
end

require([[mylib]]);
PrintTable(profile(heavyFunction,arg[1]));
PrintTable(profile(heavyMultiResultFunction,arg[1]));

関数と引数を与えるとその引数で関数を実行して結果の先頭に処理時間をぺったんして返品☆
って方針で描いたけどこんなのでいいのかなぁ?
問題は os.time だと単位が秒からしか計れないっぽいにう(´・ω・`;【みかん
とりあえず引数に繰り返し回数を指定して
>lua5.1.exe 022-profile.lua 65535000
[1,Hello World]
[3,Hello,World]

>lua5.1.exe 022-profile.lua 99999999
[2,Hello World]
[4,Hello,World]

こんなかんじ?
あんまり使えにゃい気がするにう(´・ω・`;【みかん

擬似 ls の実装
094-ls.lua
function ls(list,dir)
    local ret = {};
    local pat = [[^(]] .. dir;
    if string.sub(dir,string.len(dir)) ~= [[/]] then
        pat = pat .. [[/]];
    end
    pat = pat .. [[([^/]+).*)$]];
    
    table.sort(list);
    for i = 1,table.getn(list),1 do
        local tmp = string.gsub(list[i] .. [[/]],pat,[[%2]]);
        if string.len(list[i]) > string.len(tmp) then
            table.insert(ret,tmp);
        elseif table.getn(ret) > 0 then
            break;
        end
    end
    
    return ret;
end

dir = table.remove(arg,table.getn(arg));
require([[mylib]]);
PrintTable(ls(arg,dir));

使い捨てのぱすりすとをつり〜にするのもびみょ〜だにゃぁ・・・
ってことでそ〜と+前方一致+通り過ぎたら終了なかんじでどうかなぁ?
>lua5.1.exe 094-ls.lua aaa/bbb aaa/ccc aaa/ddd/eee bbb/ddd/eee aaa/
[bbb,ccc,ddd]

>lua5.1.exe 094-ls.lua aaa/bbb aaa/ccc aaa/ddd/eee bbb/ddd/eee aaa/ddd/
[eee]

速度低下はそんなにおっきなぱすりすと準備するのめんど〜だしにゃぁ・・・
たぶんきっとだいじょ〜ぶってことで d(´・ω・`;【みかん


こめんと

こめんとする?



 
投稿された内容の著作権はこめんとの投稿者に帰属するっぽいです☆
また,現在 IE6 以下で Sleipnir,Lunascape,Donut じゃないゆ〜ざえ〜じぇんとからの描き込みを制限してますです☆
該当しちゃうかたはてきとうにゆ〜ざえ〜じぇんとを偽装しちゃってくださいです(´ω`;【みかん
さぶこんてんつ
前月 2024年 11月 翌月
          1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
 
30
 
             
  • あじ あじ
  • ED ED
  • えでん えでん
  • えれふぃ えれふぃ
  • ぐらぶれ ぐらぶれ
  • etc etc
  • にっき にっき

あわせて読みたい

先頭に戻る
めにう 先頭に戻る