Add function for flattening 2d lists
Bug: 226974242 Test: ./out/rbcrun ./build/make/tests/run.rbc Change-Id: Iae977b34ca0ac156ec795c54f4951c769fa994dd
This commit is contained in:
parent
de1949b562
commit
6f6060a358
2 changed files with 13 additions and 2 deletions
|
@ -619,6 +619,12 @@ def _last_word(input):
|
|||
return ""
|
||||
return input[l-1]
|
||||
|
||||
def _flatten_2d_list(list):
|
||||
result = []
|
||||
for x in list:
|
||||
result += x
|
||||
return result
|
||||
|
||||
def _dir(paths):
|
||||
"""Equivalent to the GNU make function $(dir).
|
||||
|
||||
|
@ -785,7 +791,7 @@ def _mkstrip(s):
|
|||
if t == "list":
|
||||
s = " ".join(s)
|
||||
elif t != "string":
|
||||
fail("Argument to mkstrip must be a string or list.")
|
||||
fail("Argument to mkstrip must be a string or list, got: "+t)
|
||||
result = ""
|
||||
was_space = False
|
||||
for ch in s.strip().elems():
|
||||
|
@ -879,6 +885,7 @@ rblf = struct(
|
|||
findstring = _findstring,
|
||||
first_word = _first_word,
|
||||
last_word = _last_word,
|
||||
flatten_2d_list = _flatten_2d_list,
|
||||
inherit = _inherit,
|
||||
indirect = _indirect,
|
||||
mk2rbc_error = _mk2rbc_error,
|
||||
|
|
|
@ -43,7 +43,7 @@ assert_eq(["a", "b", "c"], rblf.mksort(["b", "a", "c", "c"]))
|
|||
|
||||
assert_eq("", rblf.mkstrip(" \n \t "))
|
||||
assert_eq("a b c", rblf.mkstrip(" a b \n c \t"))
|
||||
assert_eq(1, rblf.mkstrip(1))
|
||||
assert_eq("1", rblf.mkstrip("1 "))
|
||||
|
||||
assert_eq("b1 b2", rblf.mksubst("a", "b", "a1 a2"))
|
||||
assert_eq(["b1", "x2"], rblf.mksubst("a", "b", ["a1", "x2"]))
|
||||
|
@ -90,6 +90,10 @@ assert_eq("bar", rblf.last_word(["foo", "bar"]))
|
|||
assert_eq("", rblf.last_word(""))
|
||||
assert_eq("", rblf.last_word([]))
|
||||
|
||||
assert_eq(["foo", "bar"], rblf.flatten_2d_list([["foo", "bar"]]))
|
||||
assert_eq(["foo", "bar"], rblf.flatten_2d_list([["foo"], ["bar"]]))
|
||||
assert_eq([], rblf.flatten_2d_list([]))
|
||||
|
||||
assert_eq(
|
||||
["build/make/tests/board.rbc", "build/make/tests/board_input_vars.rbc"],
|
||||
rblf.expand_wildcard("build/make/tests/board*.rbc")
|
||||
|
|
Loading…
Reference in a new issue