如何在Genie中访问GLib.HashTable?我正在尝试为libsoup HTTP服务器编写一个处理程序方法。查询参数是GLib.HashTable。当我尝试访问查询时,例如与
def search_handler (server : Soup.Server, msg : Soup.Message, path : string,
query : GLib.HashTable?, client : Soup.ClientContext)
response_text : string = null
if query is not null && query.contains("expr")
response_text = get_search(query.get("expr"))
我收到了错误:
error: missing generic type arguments
response_text = get_search(query.get("expr"))
^^^^^
我找到的唯一方法是创建一个新的HashTable对象:
p : GLib.HashTable of string, string = query
expr : string = p.get("expr")
处理此问题的正确方法是什么?
答案 0 :(得分:1)
我可以尝试:字符串,字符串
var d = new dict of string,string
d["one"]="1"
d["two"]="2"
print "%s",d["one"]
答案 1 :(得分:1)
类似这样的事情
[缩进= 4]
init
var h = new HashTable of string, int (str_hash, str_equal)
h["foo"] = 123
h["bar"] = 456
foo ("foo", h)
def foo (key: string, hash: HashTable of string, int)
// PUT HASHTABLE IN THE END
if hash.contains (key)
stdout.printf ("%s => %i", key, hash[key])