Как я могу определить, является ли список справедливым строка или список строк?

Я не думаю, что можно отбросить все таблицы в одном хите, но можно сделать следующее для получения команд:

select 'drop table ' || name || ';' from sqlite_master
    where type = 'table';

вывод этого является сценарием, который отбросит таблицы для Вас. Для индексов просто замените таблицу индексом.

можно использовать другие пункты в эти where раздел для ограничения, какие таблицы или индексы выбраны (такой как" and name glob 'pax_*'" для тех, которые запускаются с "мира _").

Вы могли объединить создание этого сценария с выполнением его в простом ударе (или cmd.exe) сценарий, таким образом, существует только одна команда для выполнения.

, Если Вы не заботитесь о приблизительно никакой из информации в DB, я думаю, что можно просто удалить файл, в котором это хранится от жесткого диска - это, вероятно, быстрее. Я никогда не тестировал это, но я не вижу, почему это не работало бы.

5
задан Fylke 10 September 2009 в 17:24
поделиться

2 ответа

То, как вы это делаете, во многом зависит от того, что вы планируете делать с результатом, или, скорее, от того, как вы планируете это делать. Итак, если вас интересуют биты:

case MyVar of
    [First|Rest] when is_list(First) -> ... First,Rest ...;
    _ -> ... MyVar ...
end

или если вы не заинтересованы в фактическом разделении строки / списка строк, вы можете сделать:

if is_list(hd(MyVar)) -> ... ;
   true -> ...
end

Правильно ли я вас понял? Я не вставлял никакого кода, чтобы проверить, действительно ли строки должны быть строками, это нужно было сделать раньше. альтернативой может быть при создании этой строки / списка строк всегда помещать ее в один из форматов.

5
ответ дан 14 December 2019 в 08:55
поделиться

I иногда пишите что-то вроде:

case X of
    [List|_] when is_list(List) ->
        list_of_lists;
    List when is_list(List) ->
        list;
    _ ->
        not_a_list
end
1
ответ дан 14 December 2019 в 08:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: