Когда я преследую свою работу с кодом Tcl
, удивлен выводом нижеследующего кода.Использование split с точкой с запятой в Tcl
#!/usr/bin/tclsh
puts [split {a:b:c:d} :]
puts [split {a;b;c;d} ;]
puts [split {a-b-c-d} -]
puts [split {a b c d} ]; # 'space' will be taken as split-char here.
Выход:
a b c d
{a;b;c;d;}
a b c d
a b c d
Как вы можете видеть, {a;b;c;d;}
список с одним элементом.
С ползучей в качестве разделителя char, split
возвращает весь ввод как один список с одним элементом, вместо того, чтобы предоставлять каждое слово в качестве каждого элемента для этого списка.
Спасибо, Брэд. Я забыл об этом. Но я не получил никаких ошибок. – Dinesh
Вещь внутри '[' brackets'] 'является _script_. Точка с запятой - это вполне разумная вещь, которую можно положить туда. –
Я вижу ... так что он разбирается вне, а не слева направо. 'puts [split {a; b; c; d} {;}; # semis are special] \ n ] ' –