From 3c918ac30ecd153be7b3dfbae8b7966cb8f5ceb2 Mon Sep 17 00:00:00 2001 From: Boris Verkhovskiy Date: Wed, 3 Apr 2024 03:18:08 -0700 Subject: [PATCH] Proofread tcl-ru.html.markdown --- ru-ru/tcl-ru.html.markdown | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/ru-ru/tcl-ru.html.markdown b/ru-ru/tcl-ru.html.markdown index 723efe30..380d7b05 100644 --- a/ru-ru/tcl-ru.html.markdown +++ b/ru-ru/tcl-ru.html.markdown @@ -1,10 +1,11 @@ --- language: Tcl +lang: ru-ru contributors: - ["Poor Yorick", "https://pooryorick.com/"] translators: - ["Viktor Sokhranov", "https://github.com/weirdvic"] -filename: learntcl.tcl +filename: learntcl-ru.tcl --- Tcl был создан [Джоном Оустерхаутом](https://ru.wikipedia.org/wiki/Оустерхаут,_Джон) @@ -20,7 +21,7 @@ Tcl был создан [Джоном Оустерхаутом](https://ru.wikip * Удобный кроссплатформенный API для работы с сетью -* Поддержка виртуальной файловой системы(VFS) +* Поддержка виртуальной файловой системы (VFS) * Стекируемые каналы ввода-вывода @@ -32,15 +33,15 @@ Tcl был создан [Джоном Оустерхаутом](https://ru.wikip Tcl имеет много общего с Lisp, но в отличие от списков, в Tcl "валютой" языка являются строки. Все значения являются строками. Список в Tcl это просто строка в -определённом формате, а тело процедуры(скрипт) это ещё одна строка, а не блок. +определённом формате, а тело процедуры (скрипт) это ещё одна строка, а не блок. С целью увеличения производительности, интерпретатор Tcl использует кэшированные -внутренние представления различных типов данных. Например, рутины(routines), работающие +внутренние представления различных типов данных. Например, рутины (routines), работающие со списками, фактически используют внутреннее представление списков, а интерпретатор Tcl обновляет строковое представление в том случае если оно используется в скрипте. В Tcl используется подход copy-on-write, позволяющий оперировать большими объёмами данных без дополнительного оверхеда. Процедуры в Tcl автоматически компилируются в байткод, кроме случаев когда в процедуре используются динамические рутины, такие -как "uplevel", "upvar" и "trace" +как `uplevel`, `upvar` и `trace`. Программировать на Tcl приятно. Его находят привлекательным хакеры, которым интересны Lisp, Forth или Smalltalk, а также инженеры и учёные, которым просто необходим @@ -50,8 +51,6 @@ Lisp, Forth или Smalltalk, а также инженеры и учёные, к синтаксису Tcl не мешать работать с предметной областью проекта. Синтаксис Tcl в этом смысле даже более минималистичен чем у Lisp. - - ```tcl #! /bin/env tclsh @@ -65,7 +64,7 @@ Lisp, Forth или Smalltalk, а также инженеры и учёные, к # когда скрипты становятся сложнее, наступает фрустрация. # Фигурные скобки {} в Tcl используются не для построения блоков кода или -# списков, а как механизм экранирования(quoting) для кода. Фактически в Tcl +# списков, а как механизм экранирования (quoting) для кода. Фактически в Tcl # нет ни списков, ни блоков кода. Фигурные скобки использутся для # экранирования специальных символов и потому подходят для представления # тела процедур и строк, которые должны интерпретироваться как списки. @@ -206,9 +205,9 @@ set greeting "Hello $::people::person1::name" ## 4. Переменные и пространства имён ############################################################################### -# Каждая переменная и рутина связанс с пространством имён. +# Каждая переменная и рутина связана с пространством имён. -# Чтобы получить интерпретатор, которые не может сделать ничего, достаточно +# Чтобы получить интерпретатор, который не может сделать ничего, достаточно # удалить глобальное пространство имён. Особой пользы в этом нет, но это хорошо # иллюстрирует природу Tcl. Фактически имя глобального пространства имён это # пустая строка, но единственный способ представить её -- в виде полного имени: @@ -323,12 +322,8 @@ proc greet {greeting name} { # Как было отмечено ранее, фигурные скобки не обозначают блок кода. -# Любое значение, даже третий аргумент "proc" является строкой. +# Любое значение, даже третий аргумент "proc", является строкой. # Предыдущая команда может быть переписана без использования фигурных скобок: - -# As noted earlier, braces do not construct a code block. Every value, even -# the third argument to "proc", is a string. The previous command -# can be rewritten using no braces: proc greet greeting\ name return\ \"\$greeting,\ \$name!\" @@ -354,7 +349,7 @@ if {3 > 4} { } -# Циклы реализованы как рутины. Первый и третий аргументы для "for" +# Циклы реализованы как рутины. Первый и третий аргумент для "for" # обрабатываются как скрипты, а второй аргумент как выражение: set res 0 for {set i 0} {$i < 10} {incr i} {