Clojure获取地图内的值

时间:2015-07-25 09:34:19

标签: clojure hashmap

如何获取openid.claimed_id或地图中的任何其他字段?

:openid.claimed_id不起作用。

>>> with open('/tmp/test', 'w') as test:
...     test.write('hello!')
...     test.flush()
...     test.truncate(0)
...     test.write('world')
...     test.tell()
... 
6
0
5
11
>>> with open('/tmp/test', 'r') as test:
...     print(repr(test.read()))
... 
'\x00\x00\x00\x00\x00\x00world'

2 个答案:

答案 0 :(得分:4)

地图中的键是字符串而非关键字。

您可以使用:

(get m "openid.claimed_id")

或者您可以先将字符串键转换为关键字,然后根据关键字进行查找:

(:openid.claimed_id (clojure.walk/keywordize-keys m))

答案 1 :(得分:2)

由于地图也是可以自行查找的功能,因此最简单的方法是

cls
setlocal disableDelayedExpansion

if %PROCESSOR_ARCHITECTURE%==x86 set arch=x86
if %PROCESSOR_ARCHITECTURE%==AMD64 set arch=x64

for /r "%~dp0" %%m in ("*.exe") do (
    set expath=%%m
    set exfile=%%~nm

    expath :: execute the .exe files
)
echo.
echo Done! 
echo.
pause
goto :eof

echo %exfile%

(m "openid.claimed_id") 是你的地图。