["M... R..."], :homedirectory=>["/mnt/home-6ren">
gpt4 book ai didi

ruby - 如何检查 Ruby 哈希中是否存在键?

转载 作者:数据小太阳 更新时间:2023-10-29 06:42:35 25 4
gpt4 key购买 nike

我正在使用 Net::LDAP 的搜索,返回的条目是这样的。

#<Net::LDAP::Entry:0x7f47a6491c00
@myhash=
{:loginshell=>["/bin/bash"],
:cn=>["M... R..."],
:homedirectory=>["/mnt/home/m..."],
:uid=>["m..."],
:userpassword=>["{CRYPT}$1$3zR/C...$R1"],
...
}>

我尝试执行以下操作,但失败了。

(1)

e = entry.to_hash
e.has_key? "uid"

(2)

entry.has_key? "uid" 

第一个错误说“to_hash”未定义,第二个“has_key”未定义。然后我真的不知道该怎么做,基本上我想查找“uid”是否存在,如果存在则获取其相应的值。

非常感谢您的提示。

顺便说一句,它只响应“entry.uid”,但如果搜索键以字符串形式提供,该怎么做?例如,

def get_value(key)
if entry has key
return key's value
end
end

最佳答案

:uid 是一个Symbol。这不是 String

试试这个:

e.has_key? :uid

关于ruby - 如何检查 Ruby 哈希中是否存在键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22649548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com