> Hi,
>
> I am building some info in Dict and hash like this :
> ------------------------------------
> let myHash = {}
>
> let g:cnt = 1
> g/pattern/=call storingData()/
>
>
>
> func! storingData(param1, param2)
>
> let myHash[g:cnt] = {'information':a:param1 , 'clue':a:param2 }
>
> let g:cnt += 1
> endfunc
> -------------------------
>
> I would like to know if I can map only the field of a dictionnary: eg
> information below
> Furthermore, I would like to map differently my two fields
> "information" and "clue"
>
> Can we do that ?
> map(copy(values(myHash).information,"PREFIX_BARTEXT v:val
> SUFFIX_BARTEXT")
> map(copy(values(myHash).clue," v:val SUFFIX_FOOTEXT")
>
>
> Thanks
>
Well, what about
:let copyHash = map(copy(myHash), 'v:key == "information"?
(PREFIX_BARTEXT . " " . v:val . " " . SUFFIX_BARTEXT) : v:key == "clue"?
(v:val . " " . SUFFIX_FOOTEXT) : v:val'
? This assumes that PREFIX_BARTEXT, SUFFIX_BARTEXT and SUFFIX_FOOTEXT
are variables. If they are string literals, push them into the quotes
containing the space between them and v:val of course. I think that the
parentheses are not really necessary but that they make it easier to read.
Best regards,
Tony.
--
A total abstainer is one who abstains from everything but abstention,
and especially from inactivity in the affairs of others.
-- Ambrose Bierce, "The Devil's Dictionary"
--
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
No comments:
Post a Comment