にっき

2007/12/14 23:11:17

うにうに☆


なんとなくでちょっとDBのめんてしたけどだいじょ〜ぶ・・・だよね?(・x・;【みかん
あんまり実感してなくても構築当時にはできなかったことがさくっとできたから
それなりにちゃんとLvあっぷできてるのかなぁ?
create に drop 使えるのに alter 権限がないなんて予想外だったけどにう(´ω`;【みかん
とくに問題なさそうだから今日も Lua で続きにう☆ヾ(・x・。【みかん



あれいのうに
016-ArrayUnique.lua
function ArrayUnique(arr)
    local key = {};
    local ret = {};
    table.foreachi(
        arr,
        function (k,v)
            if type(key[v]) == [[nil]] then
                key[v] = v;
                table.insert(ret,v);
            end
        end
    );
    return ret;
end

require([[mylib]]);
PrintTable(ArrayUnique(arg));

順番は崩しちゃいけないってことで判定用と出力用のでこんなかんじかなぁ?
引数に要素をぺちぺちせっとして実行すると
>lua5.1.exe 016-ArrayUnique.lua 3 1 4 1 5 9 2 6 5 3 5 8 9 7 9
[3,1,4,5,9,2,6,8,7]

>lua5.1.exe 016-ArrayUnique.lua 1 5 2 3 5 4 8 4 1 2 5 4 8 5 5 6
[1,5,2,3,4,8,6]

ってことでだいじょ〜ぶっぽいにう? 〆(・x・。【みかん

なかまはずれ
053-ExcludeCheck.lua
function ExcludeCheck(list)
    local n = table.getn(list);
    local ret = {};
    
    if n < 3 then
        return ret;
    end
    
    table.sort(list);
    
    if list[1] == list[n] then
        ret = {list[1]};
    elseif list[1] == list[n - 1] then
        ret = {list[1],list[n]};
    elseif list[2] == list[n] then
        ret = {list[n],list[1]};
    end
    
    return ret;
end

require([[mylib]]);
PrintTable(ExcludeCheck(arg));

そ〜としてみてはじめとおわりの要素がいっしょなら全部おんなじ,
はじめとおわりから2つ目がおんなじならおわりの要素が仲間はずれ
はじめから2つ目とおわりの要素がおんなじならはじめの要素が仲間はずれ,
どれも当てはまらないときはばらばらって考え方でこんなかんじ?
引数に要素をいろいろぺったんして実行すると
>lua5.1.exe 053-ExcludeCheck.lua 1 1 1 1
[1]

>lua5.1.exe 053-ExcludeCheck.lua 1 2 1 1 1
[1,2]

>lua5.1.exe 053-ExcludeCheck.lua 2 2 1 2 2 1 2
[]

>lua5.1.exe 053-ExcludeCheck.lua 2 2 2 2 2 1 2
[2,1]

たぶんきっとちゃんと動いてる・・・のかにう? 〆(・x・。【みかん

重複する要素を取り除く
056-OnlyUnique.lua
function OnlyUnique(list)
    local ret = {};
    local f = true;
    
    table.sort(list);
    for i = 1,table.getn(list),1 do
        if list[i] == list[i + 1] then
            f = false;
        else
            if f then
                table.insert(ret,list[i]);
            end
            f = true;
        end
    end
    
    return ret;
end

require([[mylib]]);
PrintTable(OnlyUnique(arg));

とりあえずそ〜としてる〜ぷして・・・
1つ後ろの要素がおんなじだったら2つ以上あるってことでふらぐを倒して変わるまですきっぷ☆
1つ後ろの要素が違ってふらぐが true のままならその要素は1つしかないから返却用に追加☆
これでうに要素だけ取り出せるよね?(・x・。【みかん
ってことで今回も引数に要素をぺったんして実行すると
>lua5.1.exe 056-OnlyUnique.lua 3 1 4 1 5 9 2 6 5
[2,3,4,6,9]

>lua5.1.exe 056-OnlyUnique.lua 1 2 5 4 3 8 7 6
[1,2,3,4,5,6,7,8]

>lua5.1.exe 056-OnlyUnique.lua 1 2 5 4 3 8 7 6 2
[1,3,4,5,6,7,8]

こんなかんじだけど・・・
今回のは順番崩しちゃめって条件ないからだいじょ〜ぶ・・・だよね? 〆(・x・;【みかん

十六夜たんとこで配列まわりのどうかくっぽいことしてたけど・・・
配列操作関数はやっぱり PHP のすてきだったにゃぁ・・・ (´・ω・`;【みかん
っていうか Lua の組み込み関数が最低限過ぎるのかも?
せっかくだから他の言語でもちゃれんぢしてみようかにゃぁ・・・


こめんと

こめんとする?



 
投稿された内容の著作権はこめんとの投稿者に帰属するっぽいです☆
また,現在 IE6 以下で Sleipnir,Lunascape,Donut じゃないゆ〜ざえ〜じぇんとからの描き込みを制限してますです☆
該当しちゃうかたはてきとうにゆ〜ざえ〜じぇんとを偽装しちゃってくださいです(´ω`;【みかん
さぶこんてんつ
前月 2024年 4月 翌月
  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
  • にっき にっき

あわせて読みたい

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