Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - Русский


точка

(.) символ точка

Синтаксис

123.33

a.*b
a .*. b

%pi * (%e + ..
%i)

cd ..
dir ..

Описание

.

Точка используется для обозначения десятичной запятой для чисел: 3.25 и 0.001

.<оператор>

используется в сочетании с другими символами операторов (*/ \ ^ ') для формирования других операторов. Операторы поэлементного умножения, деления и возведения в степень и транспонирования получаются с помощью .*, ./, .\, .^; транспонирование без комплексного сопряжения получается с помощью .' . Например, C = A ./ B является матрицей с элементами c(i,j) = a(i,j)/b(i,j). Произведение Кронекера обозначается .*. . Заметьте, что когда точка стоит сразу после числа, то она всегда является частью числа, так что 2.*x вычисляется как 2.0*x, а 2 .*x вычисляется как (2).*x.

..

Обозначение продолжения. Две или более точек в конце строки (или с последующим комментарием) приводит к тому, что следующая строка будет продолжением.

Строки продолжения обрабатываются предпроцессором, который строит длинную логическую линию из последовательности строк продолжения. Так что обозначения продолжения могут использоваться для разрезания строки во многих местах.

Следующая функция foo:

function foo()
    plot2d()
    xtitle(["Общий заголовок"; "Он может быть многострочным и достаточно длинным"], ..
            "Это название оси X", "Название оси Y")
endfunction

эквивалентна:

function foo()
    plot2d()

    xtitle(["Общий заголовок"; "Он может быть многострочным и достаточно длинным"],  "Это название оси X", "Название оси Y")
endfunction

Логическая строка, сформированная физической строкой №3 и физической строкой №4, построена так, как если бы она была полностью написана на физической строке №4, а физическая строка №3 была бы пустой. Так сделано для того, чтобы обозначения конкатенации можно было помещать куда угодно внутри выражения.

Разница между логическими и физическими строками важна, когда идёт редактирование (scinotes, edit) и в сообщениях об ошибках (whereami), когда номер строки указывается или отображается.

параметр ".."

Когда функции используются способом, ориентированным на рабочее окно, .. рассматривается не как знак продолжения, а как обычный аргумент. Наиболее общее использование - это cd .., dir .. или ls .. вместо cd("..") и т. д.

Примеры

//десятичная запятая
1.345

//используется как часть оператора
x=[1 2 3];x.^2 .*x // требуется пробел между 2 и точкой

// При записи строк матрицы на разных строчках ".." можно использовать, но не обязательно
N = [   ..
    63.    89.    3.   ..
    91.    56.    22.  ..
    15.    64.    40.  ..
    ]
// Можно просто вставлять (или копировать/вставлять из/в рабоче окно или сценарий),
// без добавления ".." вручную в конце строки
N = [
    63.    89.    3.
    91.    56.    22.
    15.    64.    40.
    ]

// Внутри очень длинных инструкций, таких как создание объекта пользовательского интерфейса, где необходимо
// установить много свойств,знаки продолжения являются почти обязательными и позволяют писать и устанавливать
// одно свойство на строчку в удобочитаемом виде. Одиночная огромная строчка может не соответствовать
// стилю написания кода в Scilab:
fig = figure("figure_name", "FIGURE", ..
             "dockable",    "off", ..
             "axes_size",   [990,670], ..
             "infobar_visible", "off", ..
             "toolbar",     "none", ..
             "menubar_visible", "on", ..
             "menubar",     "none", ..
             "default_axes","off", ..
             "layout",      "border", ..
             "background",  color(244,244,244), ..
             "tag",         "figure_1", ..
             "visible",     "on");

// Вызовы, ориентированные на рабочее окно с аргументом ".."
d = pwd(); cd SCI/contrib
cd ..   // заменяет cd("..") и ничего не ожидает на следующей строчке
cd(d)   // переход назад в вашу рабочую директорию

// Это выражение больше не будет работать в Scilab 6
a = "здесь я начинаю очень длинную строку...  //но не в настроении продолжать
     - а здесь продолжаю"
// Теперь эта строка является корректным выражением
a = "здесь я начинаю очень длинную строку"+...  //но не в настроении продолжать
"    - а здесь продолжаю"
// Это выражение в Scilab 6 более не разрешено: скалярное число должно быть написано в одной строчке
y = 12..
45

Смотрите также

  • звёздочка — (*) оператор умножения
  • крышечка — (^) возведение в степень
  • слэш — (/) правое деление и обратная связь
  • обратный слэш — (\) левое матричное деление: точное решение или решение по методу наименьших квадратов
  • whereami — выводит на экран текущую инструкцию дерева вызова
  • edit — функция редактирования

История

ВерсияОписание
6.0.0

Больше нельзя разрезать скалярные числа.

Чтобы разрезать одиночную строку, необходимо использовать операторы "+..".

В вызовах, ориентированных на рабочее окно, myfun .. больше не ожидает продолжения на следующей строчке.

Report an issue
<< доллар Ключевые слова Scilab знак равенства >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon May 22 12:41:11 CEST 2023