簡體   English   中英

如何將排序表索引作為字符串返回?

[英]How can I return a sorted table index as a string?

我非常不熟悉使用 LUA 和 LUA 表。

我想提供的示例是,我想知道他/她的銀行賬戶中資金最少的人的姓名:

BankAccount = {}
BankAccount["Tom"] = 432
BankAccount["Henry"] = 55
BankAccount["Kath"] = 875

table.sort(BankAccount)
print("BankAccount Element at index 1 is ", BankAccount[1])

目標:我希望它返回字符串“Henry”。

我遇到的問題是我不確定如何以這種方式構造表,以便它根據值返回字符串。 我還看到人們這樣做:

BankAccount = {
    {"Tom", 432},
    {"Henry", 55},
    {"Kath", 875},
}

所以我不完全確定如何進行。 謝謝您的幫助。

您無法對第一個表進行排序,因為它是一個沒有任何特定順序的 hash 表,但如果您提供排序 function,則可以對第二個表進行排序:

BankAccount = {
    {"Tom", 432},
    {"Henry", 55},
    {"Kath", 875},
}
table.sort(BankAccount, function(a, b) return a[2] < b[2] end)
print(BankAccount[1][1]) -- should print Henry

table.sort將 function 作為第二個參數,它將接收兩個正在排序的值,並且需要返回 true/false 值,指示第一個元素是否需要在第二個元素之前為 go(參見table.sort )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM