Liquidsoap: как перебирать список строк

#liquidsoap

#liquidsoap

Вопрос:

Я хотел бы добавить функцию к on_connect параметру input.harbor . Функция получает заголовки в виде списка строк. Теперь я хочу перебрать список, чтобы зарегистрировать каждую строку заголовка (для целей отладки).

Как я могу этого добиться? Я уже нашел list.iter , но не уверен, как его применить.

Пример очень помог бы.

Ответ №1:

После некоторых попыток и ошибок и дальнейших исследований я нашел решение.

list.iter это действительно правильный путь. Итерация по списку строк ( [string, string, ...] ) будет выглядеть следующим образом:

 myList = ["aa", "bb", "cc"]
list.iter(fun(item) -> print(item), myList)

# The output will look this way:
# aa
# bb
# cc
 

Если у вас есть список пар строк ( [(string, string), (string, string), ...] ), вы должны сделать это немного по-другому:

 myList = [("a", "aaa"), ("b", "bbb"), ("c", "ccc")]
list.iter(
  fun(item) -> print(
    fst(item) ^ " => " ^ snd(item)
  ),
  myList
)

# This will results in:
# a => aaa
# b => bbb
# c => ccc