Perl - 需要帮助使用现有数组中的项目填充 Term::ANSIMenu
尝试使用 Term::ANSIMenu 构建一个漂亮的菜单。
文档说 items()
需要一个数组数组:
items()
Type: array of arrays
Constraints: [[<keyname>, <string>, <code_ref>], ...]
Default: []
所以这工作正常:
my $menu = Term::ANSIMenu->new(
items => [['1', 'First menu item', \&exec_item],
['2', 'And so on', \&exec_item],
]) ;
我需要做的是向 items()
提供现有数组中的字符串(得到由我的程序动态创建 - 它可能包含任意数量的字符串)。
例如,
@array = ('menu choice one', 'menu choice two', 'menu choice three') ;
我正在努力创建一个“数组的数组”,然后将其传递给 items()
。
有接受者吗?
Trying to use Term::ANSIMenu to build a nice menu.
The doc says items()
expects an array of arrays:
items()
Type: array of arrays
Constraints: [[<keyname>, <string>, <code_ref>], ...]
Default: []
So this works fine:
my $menu = Term::ANSIMenu->new(
items => [['1', 'First menu item', \&exec_item],
['2', 'And so on', \&exec_item],
]) ;
What I need to do is feed items()
with strings in an existing array (that gets dynamically created by my program - it may contain any number of strings).
e.g.
@array = ('menu choice one', 'menu choice two', 'menu choice three') ;
I'm struggling to create an "array of arrays" that I can then pass to items()
.
Any takers?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要传递 对数组的引用
应该如下所示:
You need to pass reference to array
Should looks like:
使用
\@
引用现有数组:或者
对于
items
:或者
Use
\@
to reference an existing array:or
so then for
items
:or