我在SystemVerilog中看到一个代码如下:
if(address[2*pointer+:2])
do_something;
Run Code Online (Sandbox Code Playgroud)
我应该如何理解+:索引此向量的时间?
我发现它被称为位切片,但我无法找到它的解释.
我已将文件中的数据放入数组中,然后我只是保留了我想要的数据,如下所示:
基本上我想要的是独立访问每一列.由于文件将不断变化,我不想要硬编码的东西,我本来已经做到了:).
Element0: | data | address | type | source | disable |
Element1: | 0x000001 | 0x123456 | in | D | yes |
Element2: | 0x0d0f00 | 0xffffff | out | M | yes |
Element3: | 0xe00ab4 | 0xaefbd1 | in | E | no |
我尝试使用正则表达式/\|\s+.*\s+\|/只打印几行(它删除了我关心的数据).我也试过,/\|.*\|/它打印所有空.我用Google搜索了分割方法,我知道发生这种情况是因为.*删除了我关心的数据.我也试过了正则表达式,\|\s*\|但它打印整行.我尝试了许多正则表达式,但此刻我想不出解决这个问题的方法.有什么建议?
`line_ary = ary_element.split(/\|\s.*\|/)
unless line_ary.nil? puts line_ary`
Run Code Online (Sandbox Code Playgroud)