0

今天最后一个新手问题。有一个哈希:

h = {a: 1, b: 2, c: 3}

如何使用这样的输出实现 convert_to_arr(h) 方法:

convert_to_arr(h) 
# ["Key: 'a', Value: '1'",  
# "Key: 'b', Value: '2'",  
# "Key: 'c', Value: '3'"]

谢谢!

4

3 回答 3

4
{a: 1, b: 2, c: 3}.map { |key, value| "Key: '#{key}', Value: '#{value}'" }

=> ["Key: 'a', Value: '1'", "Key: 'b', Value: '2'", "Key: 'c', Value: '3'"]
于 2013-07-20T21:30:59.920 回答
2
h = {a: 1, b: 2, c: 3}
h.map{|k,v| "key: '#{k}' ,val: '#{v}'"}
# => ["key: 'a' ,val: '1'", "key: 'b' ,val: '2'", "key: 'c' ,val: '3'"]
于 2013-07-20T21:24:06.790 回答
-1

你总是可以实现一个结构:

struct keyItem
{
    char key[30];
    int value;
}

然后做这样的事情:

keyItem h[3] =
{
    { "a", 1 },
    { "b", 2 },
    { "c", 3 }
}

你的功能是这样的:

void print_keys(keyItem[] k, int size)
{
    for (int i = 0; i < size; i++)
    {
        printf("Key: \"%s\", Value: '%d'\n", k[i].key, k[i].value);
    }
}
于 2013-07-20T21:29:20.797 回答