Список, переданный для присоединения, не дает правильного вывода - PullRequest
0 голосов
/ 09 мая 2020

Я собираю некоторую информацию, используя следующий метод:

proc getJobinfo {question} {
    puts -nonewline "$question: "
    flush stdout
    gets stdin answer
    set cleanedanswer [string trim [::textutil::string::capEachWord $answer]]
    if {$cleanedanswer eq ""} {
       throw {Value Empty} {Input cannot be empty!}
    }
    return $cleanedanswer
}

и фиксирую результат следующим образом:

set systemTime [clock seconds]
set yearmonthday [clock format $systemTime -format %Y%m%d-%H%M%S]

set company_name [getJobinfo "Company Name"]
set position [getJobinfo "Position"]

Мне нужно добавить его в список, чтобы я мог присоединиться это создать путь.

Следуя документации join, я попробовал это:

set submission_path [join {$company_name $position $yearmonthday} "\\"]

Предположим, я ответил, указав Microsoft и Software Engineer в качестве входных данных, я ожидал получить :

Microsoft\Software Engineer\20200509-1108

Вместо этого я получаю:

$company_name\$position\yearmonthday

Кто-нибудь может объяснить, почему? и как исправить?

1 Ответ

2 голосов
/ 09 мая 2020

Это сводится только к цитированию . По сути, вместо этого вам следует использовать что-то, кроме фигурных скобок, потому что вы хотите разрешить замену переменных: Чтобы эффективно присоединиться к списку, нужно использовать команду list:

set submission_path [join [list $company_name $position $yearmonthday] "\\"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...