トップページ > プログラム > 2015年04月11日 > L0A+zZu9

書き込み順位&時間帯一覧

21 位/189 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000213



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【Lua】組み込み系言語総合 その6【Squirrel】

書き込みレス一覧

【Lua】組み込み系言語総合 その6【Squirrel】
653 :デフォルトの名無しさん[sage]:2015/04/11(土) 22:52:38.83 ID:L0A+zZu9
連想配列の要素数を返す関数(table.maxn)みたいなものってありますか?

tbl[]

tbl[ "a" ] = data1
tbl[ "b" ] = data2
tbl[ "c" ] = data3

#tblやtable.maxn(tbl)をやっても「0」が帰ってきてしまいます。
ハッシュの場合、格納されている要素数を返すものはないのですかね
ざっと検索して調べた感じそれっぽいのはありませんでした
【Lua】組み込み系言語総合 その6【Squirrel】
654 :デフォルトの名無しさん[sage]:2015/04/11(土) 22:59:40.53 ID:L0A+zZu9
table.maxn(tbl)
テーブルtblの持つ要素のキーのうち、正の数値(FIXNUM)であるものの中で最大のものを返します。
tblが正の数値(FIXNUM)のキーの要素を持たない場合は0を返します。

ってかかれてるからpairsで回して数取得するようなやり方しかないかもなあ・・。
【Lua】組み込み系言語総合 その6【Squirrel】
655 :デフォルトの名無しさん[sage]:2015/04/11(土) 23:05:44.47 ID:L0A+zZu9
とりあえずこんなかんじで回避することにしました
何か他により良いやり方があれば教えて下さい

function get_hash_count( hash )
local cnt = 0

for key, value in pairs(hash) do
cnt = cnt + 1
end

return cnt
end


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。