Π Π°Π·Π½ΠΎΠ΅

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½Π° c: Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скрипты ΠΈ с Ρ‡Π΅ΠΌ ΠΈΡ… Сдят β€” Lua & C++ / Π₯Π°Π±Ρ€

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

МоТно Π»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты Π½Π° C++?

НСдавно ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΌΠ½Π΅ ΠΎΠΏΡΡ‚ΡŒ/снова ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ в чудСсный ΠΌΠΈΡ€ программирования Linux скриптов. Π’Β ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π΄Π΅Π»ΠΎ Π½Π΅Β ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΈΡ‚Ρ€ΠΎΠ΅, Π½ΠΎΒ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ нС часто, Ρ‚ΠΎΒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΈΠ·ΡƒΡ‡Π°ΡŽ Π·Π°Π½ΠΎΠ²ΠΎ. Π—Π½Π°ΡŽ Ρ‚ΠΎΡ‡Π½ΠΎ, Ρ‡Ρ‚ΠΎΒ Π·Π°Π²Ρ‚Ρ€Π° ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π·Π°Π±ΡƒΠ΄Ρƒ и чСрСз мСсяц ΠΎΠΏΡΡ‚ΡŒ Π±ΡƒΠ΄Ρƒ Π³ΡƒΠ³Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ то или это. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π΅Ρ‰Π΅ оказываСтся Π²Β Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΒ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ нС пишСшь скрипт Π·Π°Π½ΠΎΠ²ΠΎ, Π°Β ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΡˆΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ, ΡƒΠΆΠ΅ написанный ΠΊΠ΅ΠΌ-Ρ‚ΠΎ. А он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅Β bash, Π°Β sh ΠΈΠ»ΠΈΒ Π΅Ρ‰Π΅ Ρ‡Ρ‚ΠΎ-то… Различия в синтаксисС Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Β sh ΠΏΠΎΒ ΠΈΠ΄Π΅Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΒ Π²Β bash, но нС всСгда Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. А Ссли Ρ‚Π°ΠΌΒ dash ΠΈΠ»ΠΈΒ ash? Π―Β Π½Π΅Β Π·Π½Π°ΡŽβ€¦ Различия в этих скриптовых языках всС ΠΆΠ΅ Π΅ΡΡ‚ΡŒ, ΠΈΒ ΠΎΠ½ΠΈ ΡΠ±ΠΈΠ²Π°ΡŽΡ‚ с толка. Ну ΠΈΒ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π»ΠΈΡ‡Π½ΠΎ для мСня, вишСнка Π½Π°Β Ρ‚ΠΎΡ€Ρ‚Π΅, ΠΊΠΎΠ³Π΄Π° скрипт Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ Π½ΠΈΠ±ΡƒΠ΄ΡŒ sed ΠΈΠ»ΠΈΒ awk ΠΈΒ Ρ‚Π°ΠΌΒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Β ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, Ρ‡Ρ‚ΠΎΒ ΡΠΌΠΎΡ‚Ρ€ΠΈΡˆΡŒ Π½Π°Β Π½ΠΈΡ… ΠΈΒ Π΄ΠΈΠ²Ρƒ даСшься. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, что это всС зависит ΠΎΡ‚Β ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ программиста, Π½ΠΎΒ Π²ΠΎΡ‚ у мСня нС всС Π²Β Π³ΠΎΠ»ΠΎΠ²Π΅ помСщаСтся. Π˜Β Π²ΠΎΡ‚ сСйчас ΠΌΠΎΠ΅ Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΏΠ½ΡƒΠ»ΠΎ и я подумал, Ρ‡Ρ‚ΠΎΒ ΠΎΡ‚Π½Ρ‹Π½Π΅ Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты Π½Π°Β c++…

Я понимаю, что для true систСмного администратора моя ΠΌΡ‹ΡΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΊΡ€Π°ΠΌΠΎΠ»ΡŒΠ½ΠΎΠΉ. Но почСму Π±Ρ‹ ΠΈΒ Π½Π΅Ρ‚?

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ΡΠ»ΡŒ ΠΎΡ‡Π΅Π½ΡŒ простая. Π―Β Ρ…ΠΎΡ‡Ρƒ ΠΏΠΈΡΠ°Ρ‚ΡŒ c++ скрипты Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊΒ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ скрипты, Ρ‚ΠΎΒ Π΅ΡΡ‚ΡŒ пСрвая строка скрипта Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ shebang ΠΈΒ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π°Β ΠΏΡƒΡ‚ΡŒ ΠΊΒ Β«ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΡƒΒ»:
#!/bin/c++
ΠŸΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки скрипта Π±ΡƒΠ΄ΡƒΡ‚ просто ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π½Π°Β c++.
Π―Β Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Β«ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Β» скрипта c++. ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Β Ρ‡Π΅ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π΄Π°Β Ρ…ΠΎΡ‚ΡŒ Π½Π°Β bash (это в послСдний Ρ€Π°Π·, хотя Π½Π΅Β Ρ‚ΠΎΡ‡Π½ΠΎ). ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Β ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ, а компилятором.

Π’ΠΎΡ‚ что у мСня ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ:

#!/bin/bash

msg_file=/dev/null
#msg_file=/dev/stdout

tmp_path=$HOME"/.cache/c++/"
mkdir -p $tmp_path
tmp_file=$1".c++"
exe_file=$1".bin"
if test $1 -nt  $tmp_path$exe_file; then
    echo "Need to recompile.." > $msg_file
    tail -n +2 $1 > $tmp_path$tmp_file
    eval "g++ -o $tmp_path$exe_file $tmp_path$tmp_file > /dev/null 2>&1"
    if [ $? -eq 0 ]
    then
	echo "Compiled ok" > $msg_file
    else
	echo "Compile error" > $msg_file
	exit 255
    fi
fi
eval "$tmp_path$exe_file $@1"

Π­Ρ‚ΠΎΡ‚ скрипт Π΄Π΅Π»Π°Π΅Ρ‚ всС, Ρ‡Ρ‚ΠΎΒ Π½ΡƒΠΆΠ½ΠΎ. В качСствС Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ я выбрал ΠΏΠ°ΠΏΠΊΡƒ ~/.cache/c++. В эту ΠΏΠ°ΠΏΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ исходный скрипт, Π½ΠΎΒ Π±Π΅Π·Β ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки с shebang. ДСлаСтся это ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ tail. Имя Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ как у исходного скрипта, Π½ΠΎΒ ΡΒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ c++. Π’Β Ρ‚ΠΎΠΉ ΠΆΠ΅ самой ΠΏΠ°ΠΏΠΊΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ, ΡΒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .bin. Но, спСрва, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, дСлаСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Β«if testΒ» на врСмя создания Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠ°. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ происходит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ устарСл ΠΏΠΎΒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΒ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ к исходному «скрипту». ЗапускаСтся Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ eval ΠΈΒ Π΅ΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ всС исходныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

Π­Ρ‚ΠΎΡ‚ Π€Π°ΠΉΠ» c++ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Β ΠΏΠ°ΠΏΠΊΡƒ /bin ΠΈΒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ исполняСмым (chmod a+x).

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΡŽ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Β«c++ скрипт»:

#!/bin/c++

#include 
#include 

using namespace std;

int main( int argc, char *argv[] )
{
    cout 

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° просто ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ список Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ их количСство + 60.
Π—Π°ΠΏΡƒΡΠΊΠ°ΡŽ ΠΌΠΎΠΉ «скрипт»:

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚!!!

Если ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Β c++ ΠΊΠΎΠ΄Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ρ‚ΠΎΒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° нС запустится, Ρ‚Π°ΠΊ как нС скомпилируСтся, Π½ΠΎΒ echo $? Π²Π΅Ρ€Π½Π΅Ρ‚ 255. Но так ΠΈΒ Π·Π°Π΄ΡƒΠΌΠ°Π½ΠΎ Π±Ρ‹Π»ΠΎ.

ИспользованиС c++ Π΄Π°Π΅Ρ‚ Π³Ρ€ΠΎΠΌΠ°Π΄Π½Ρ‹Π΅ возмоТности. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΉ синтаксис. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, стандартныС классы Π²Ρ€ΠΎΠ΄Π΅ std: vector, std: map ΠΈΠ»ΠΈΒ std: string Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅Β β€” Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹Π΅ Π²Π΅Ρ‰ΠΈ. Π’Π° ΠΆΠ΅ строка — Ρ‡Ρ‚ΠΎΒ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ с нСй Π΄Π΅Π»Π°ΠΉ, ΠΈΡ‰ΠΈ в строкС, Ρ€Π°Π·Π±ΠΈΠ²Π°ΠΉ на подстроки, Ρ€Π°Π·ΡŠΠ΅Π΄ΠΈΠ½ΡΠΉ и властвуй, ΠΏΠΎΠ»ΡƒΡ‡Π°ΠΉ массивы. Π˜Β Π½Π΅Β Π½ΡƒΠΆΠ½Ρ‹ ΠΌΠ½Π΅ Π½ΠΈΒ sed Π½ΠΈΒ awk. Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΒ β€” господи! ΠΊΠ°ΠΊΠΎΠ΅ ΡΡ‡Π°ΡΡ‚ΡŒΠ΅! у мСня для скрипта Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ gdb! Π”Π°Π»ΡŒΡˆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ std: filesystem (Ссли компилятор позволяСт). МоТно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒβ€¦

К соТалСнию, у мСня часто Π±Ρ‹Π²Π°Π΅Ρ‚, что спСрва сдСлаю, Π°Β ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΠ΄ΡƒΠΌΠ°ΡŽ: Β«Π°Β Π²Π΄Ρ€ΡƒΠ³ ΠΊΡ‚ΠΎ-Ρ‚ΠΎΒ Ρ‚Π°ΠΊΠΎΠ΅ ΡƒΠΆΠ΅ сдСлал?Β». И в самом Π΄Π΅Π»Π΅, я оказываСтся Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅Β ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: https://github.com/dimgel/cpp-linux-scripts идСя Ρ‚Π° ΠΆΠ΅, рСализация другая. ΠŸΠΎΡ‚ΠΎΠΌ оказалось, Ρ‡Ρ‚ΠΎΒ Π΅ΡΡ‚ΡŒ ΠΈΒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ: https://hackaday.com/2019/09/17/linux-fu-shell-scripts-in-c-c-and-others/

Π’Β ΠΎΠ±Ρ‰Π΅ΠΌ, испытал нСбольшоС Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ в собствСнной Π½Π΅ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Однако, поискал ΠΏΠΎΒ Ρ…Π°Π±Ρ€ΡƒΒ β€” ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ нС нашСл. ΠœΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΡƒ-то покаТСтся хотя Π±Ρ‹ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ?

© Habrahabr.ru

РСализация скриптов Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ c++

Π― Ρ…ΠΎΡ‡Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ части ΠΌΠΎΠ΅Π³ΠΎ прилоТСния Π² простыС скрипты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ люди, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ c++, ΠΌΠΎΠ³Π»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ для этих сцСнариСв. Π’ ΠΈΠ΄Π΅Π°Π»Π΅ я Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ c++ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ скрипта, которая Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ (Π² ΠΏΠΎΡ‚ΠΎΠΊΠ΅ c++) Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ наступит Ρ‚ΠΎΡ‡ΠΊΠ° ΠΏΠ°ΡƒΠ·Ρ‹ (Wait(x)) ΠΈΠ»ΠΈ ΠΎΠ½Π° Π½Π΅ вСрнСтся. Π’ случаС Π΅Π³ΠΎ оТидания состояниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ сохранСно Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΊ пСрСзапуску скрипта Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ зациклится послС истСчСния срока дСйствия.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса c++, Π² ΠΈΠ΄Π΅Π°Π»Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ классы c++, Π° Π½Π΅ простыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π²ΠΎΠΊΡ€ΡƒΠ³ классов c++.

Π― Π½Π΅ Ρ…ΠΎΡ‡Ρƒ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ этого, поэтому использованиС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ скриптового языка ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅, Ρ‡Π΅ΠΌ написаниС собствСнного. Π― ΡΠ»Ρ‹ΡˆΠ°Π», Ρ‡Ρ‚ΠΎ Python ΠΈ Lua ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ c++, Π½ΠΎ я Π½Π΅ знаю, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для достиТСния ΠΌΠΎΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ.

  • Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ c++
  • Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ «pause» ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅), ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡ‰Π΅Π½ снова ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ c++
  • Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ быстро-это для прилоТСния Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ сцСнариСв.

ВСроятно, я ΠΌΠΎΠ³Ρƒ довольно Π»Π΅Π³ΠΊΠΎ ΡΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ скрипты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сохранСны ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΠΎΠΌ).

c++

scripting

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ


Fire Lancer Β  Β 

15 сСнтября 2008 Π² 15:11

9 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²




26

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ Lua, Π»ΠΈΠ±ΠΎ Python. Lua большС «lightweight», Ρ‡Π΅ΠΌ python. Он ΠΈΠΌΠ΅Π΅Ρ‚ мСньший объСм памяти, Ρ‡Π΅ΠΌ python, ΠΈ, ΠΏΠΎ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ, Π΅Π³ΠΎ Π±Ρ‹Π»ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ΠΏΡ€ΠΎΠ±Π΅Π³ людСй Π½Π° этом этапС ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ). Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ нСсколько сцСнариСв, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Lua, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ остановку/запуск ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

Boost.python-это Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡƒ (ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΌΡƒ) ΠΎΠΏΡ‹Ρ‚Ρƒ Π½Π°ΠΌ Π±Ρ‹Π»ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ для Π½Π°ΡˆΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… срСд ΠΈ Π±Ρ‹Π»ΠΎ довольно тяТСло. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ (Π½Π° ΠΌΠΎΠΉ взгляд) нСдостаток Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Boost. Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… это ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, Π½ΠΎ Ссли Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ Boost (ΠΈΠ»ΠΈ Π²Ρ‹ Π΅Π³ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅), Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ Ρ‚ΠΎΠ½Π½Ρƒ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Boost.python Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. YMMV.

ΠœΡ‹ встроили Lua Π² прилоТСния Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… (win32, Xbox360 ΠΈ PS3). Π― Π²Π΅Ρ€ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° x64. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π›ΡƒΠ°Π±ΠΈΠ½Π΄-это Ρ…ΠΎΡ€ΠΎΡˆΠΎ. ΠœΡ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ написали наш собствСнный интСрфСйс ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, ΠΈ хотя ΠΎΠ½ Π½Π΅ слишком слоТСн, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ этого ΠΊΠΎΠ΄Π° клСя сэкономит Π²Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, усугубит ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ.

Однако ΠΏΡ€ΠΈ любом ΠΈΠ· этих Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎΠΉ. Π’ настоящСС врСмя Ρƒ нас Π½Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ скриптов Lua, встроСнных Π² нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π½Π΅ использовали python Π² Π½Π°ΡˆΠΈΡ… прилоТСниях, я Π½Π΅ ΠΌΠΎΠ³Ρƒ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ инструмСнты Ρ‚Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны, Π½ΠΎ ΠΏΠ°Ρ€Ρƒ Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚ Π±Ρ‹Π» ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅-плохая ΠΎΡ‚Π»Π°Π΄ΠΊΠ°. НаличиС сцСнариСв для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ-это Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ ошибки Π² сцСнариях ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Ρ‹.

Π‘Π°ΠΌ ΠΊΠΎΠ΄ Lua довольно грязСн для Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ внСсти Π² Π½Π΅Π³ΠΎ измСнСния. ΠœΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ ошибки Π² самой ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ Lua, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ. Π― ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°ΡŽ, Ρ‡Ρ‚ΠΎ Boost::Python ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

И с Π»ΡŽΠ±Ρ‹ΠΌ скриптовым языком это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для «non-programmers» для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊ, Π½ΠΎ Π²Ρ‹, скорСС всСго, ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚Π΅ изрядноС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ сцСнариСв ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Lua.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΡ‹ Π±Ρ‹Π»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹ Lua ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π² Π΄Π²ΡƒΡ… ΠΈΠ³Ρ€Π°Ρ…. Π’ настоящСС врСмя ΠΌΡ‹ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΡ‚Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚ этого языка. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΌΡ‹ нашли Π΅Π³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ доступны ΠΏΠ°Ρ€Ρƒ Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄. Python (ΠΈ IronPython) — это Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Π½ΠΎ, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΎΠΏΡ‹Ρ‚Π΅, ΠΎΠ½ΠΈ каТутся Π±ΠΎΠ»Π΅Π΅ тяТСлыми, Ρ‡Π΅ΠΌ Lua. Π₯отя ΠΌΠ½Π΅ Π±Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΡƒΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… впСчатлСниях Ρ‚Π°ΠΌ.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Mark Β  Β 

15 сСнтября 2008 Π² 16:56



9

Π― ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π²Π°ΠΌ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Π›ΡƒΠ°Π±ΠΈΠ½Π΄ . Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ Lua Π² ваш ΠΊΠΎΠ΄ C++ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ классы C++ для использования Π² Lua.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


TrolleFar Β  Β 

15 сСнтября 2008 Π² 15:19



5

Π›ΡƒΡ‡ΡˆΠ΅ всСго Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ Π»ΠΈΠ±ΠΎ lua (www.lua.org), Π»ΠΈΠ±ΠΎ python (www.python.org). Оба ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ индустрии, ΠΈ ΠΎΠ±Π° ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ доступ ΠΊ функциям extern «C» ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ, Π° lua ΠΈΠΌΠ΅Π΅Ρ‚ здСсь прСимущСство (ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π»Π΅Π³Ρ‡Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ lua ΠΈ C). ВзаимодСйствиС с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ C++ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС с вашСй стороны, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π² Google ΠΈΠ»ΠΈ Π½Π° дискуссионных Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ… lua ΠΈΠ»ΠΈ python.

НадСюсь, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚!

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Kevin Β  Β 

15 сСнтября 2008 Π² 15:27


  • UUID v1 Objective-C рСализация

    Π― Ρ…ΠΎΡ‡Ρƒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ UUID v1 Π² своСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ iOS. Π― знаю, Ρ‡Ρ‚ΠΎ ΠΎΠ½ состоит ΠΈΠ· Mac-адрСса ΠΈ timestamp, ΠΊΠ°ΠΊ описано Π² http://en.wikipedia.org/wiki/ Universally_unique_identifier#Version_1_.28MAC_address.29 БущСствуСт Π»ΠΈ какая-Π»ΠΈΠ±ΠΎ рСализация objective-c для этого V1, основанная Π½Π° функциях CFUUID ? Π£…

  • Запуск python скриптов Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ iOS

    МнС Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ python скриптов Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ios. Π― нашСл этот вопрос Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ простой скрипт python Π² ios Π² ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Python.h #include <Python.h> Π“Π΄Π΅ я ΠΌΠΎΠ³Ρƒ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ»? Π’ ΠΊΠ°ΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅? ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ сказал ΠΌΠ½Π΅: Python. h Ρ„Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Mac OS…



3

Π’Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ с Python всС, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. Π’ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π½ΠΈΡŽ Python Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π― ΠΏΠΎΡ‡Ρ‚ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Lua Ρ‚ΠΎΠΆΠ΅ сработаСт, просто я с Π½ΠΈΠΌ ΠΌΠ΅Π½Π΅Π΅ Π·Π½Π°ΠΊΠΎΠΌ.

Π’Ρ‹ описываСтС ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΡΡ†Π΅Π½Π°Ρ€ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ пСриодичСски Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Break ΠΈΠ»ΠΈ Wait. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ язык сцСнариСв Π² Π΅Π³ΠΎ собствСнном ΠΏΠΎΡ‚ΠΎΠΊΠ΅, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΡ‹ ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ для интСрфСйсов ΠΌΠ΅ΠΆΠ΄Ρƒ языком сцСнариСв ΠΈ rest вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π³Π»ΡŽΡ‡Π½Ρ‹ΠΉ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Break() достаточно часто, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ случайно Π·Π°ΠΌΠΎΡ€ΠΎΠ·ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


dmazzoni Β  Β 

15 сСнтября 2008 Π² 15:22



2

Π§Ρ‚ΠΎ касаСтся ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Lua (Ссли Π²Ρ‹ ΠΈΠ΄Π΅Ρ‚Π΅ ΠΏΠΎ этому ΠΏΡƒΡ‚ΠΈ), Ρ‚ΠΎ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ DeCoda, ΠΈ это Π±Ρ‹Π»ΠΎ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ. Он притворяСтся IDE, Π½ΠΎ Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠ°ΠΊ Ρ‚Π΅Ρ€ΠΏΠΈΡ‚ Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ процСсс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΊ visual studio ΠΈ ΡΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ Π²Π½ΠΈΠ· ΠΏΠΎ стСку Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π² Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… останова. ΠžΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для отслСТивания этой ошибки.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Unknown Β  Β 

20 дСкабря 2008 Π² 17:54



2

ВзглянитС Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Boost.Python. ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ довольно просто ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Ferruccio Β  Β 

15 сСнтября 2008 Π² 15:18



2

ВзглянитС Π½Π° SWIG . Π― использовал Π΅Π³ΠΎ для взаимодСйствия с Python, Π½ΠΎ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… языков.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Harold Ekstrom Β  Β 

15 сСнтября 2008 Π² 17:04



2

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ голос Π·Π° Lua. Он малСнький, быстрый, Π½Π΅ потрСбляСт ΠΌΠ½ΠΎΠ³ΠΎ памяти (для ΠΈΠ³Ρ€ Π»ΡƒΡ‡ΡˆΠ΅ всСго Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ большой Π±ΡƒΡ„Π΅Ρ€ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° всС выдСлСния памяти Lua). ΠœΡ‹ использовали tolua для создания ΠŸΡ€ΠΈΠ²ΡΠ·ΠΎΠΊ, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС/ΠΏΡ€ΠΎΡ‰Π΅ Π² использовании (IMO), Ρ‡Π΅ΠΌ boost.python.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


yrp Β  Β 

15 сСнтября 2008 Π² 17:22



1

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ скрипты C/C++ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ch . Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π΅Π³ΠΎ для ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ, ΠΈ ΠΎΠ½ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ сочСтаниС силы ΠΈ приспособляСмости.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


moswald Β  Β 

15 сСнтября 2008 Π² 16:08


ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ вопросы:

Apache HTTP рСализация сСрвСра Π² C# (C Sharp)

Π― ΠΈΡ‰Ρƒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ HTTP Π² C# с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ Apache, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ балансировщиком Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π²Π΅Ρ‰Π°ΠΌΠΈ. БущСствуСт Π»ΠΈ какая-Π»ΠΈΠ±ΠΎ рСализация сСрвСра…

Π•ΡΡ‚ΡŒ Π»ΠΈ рСализация сСлСкторов Sizzle/jQuery Π² C#?

МнС Π½ΡƒΠΆΠ½ΠΎ просто ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ элСмСнты ΠΈΠ· html Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ C#. Π― Π±Ρ‹ просто использовал Linq — Sql, Π½ΠΎ это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ настраиваСмо/сСриализуСмо Π² строку. Π― ΠΌΠΎΠ³ Π±Ρ‹, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ XPath, Π½ΠΎ…

РСализация прСпроцСссора C Π² Python ΠΈΠ»ΠΈ JavaScript?

БущСствуСт Π»ΠΈ извСстная рСализация инструмСнта прСпроцСссора C, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π»ΠΈΠ±ΠΎ Π² Python, Π»ΠΈΠ±ΠΎ Π² JavaScript? Π― ΠΈΡ‰Ρƒ способ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ C (ΠΈ C ΠΊΠ°ΠΊ) ΠΈ Ρ…ΠΎΡ‡Ρƒ ΠΈΠΌΠ΅Ρ‚ΡŒ…

рСализация списка свойств apple (plist) Π² c++

МнС ΠΏΠΎΡ€ΡƒΡ‡Π΅Π½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ списка свойств Apple Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ c++. ОсновноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся plist-Ρ„Π°ΠΉΠ»Π°ΠΌ Ρ‚ΠΈΠΏΠ° xml, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² OS X, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ‚ΠΈΠΏΠ° xml.. РСализация Apple своСго…

ΠœΠΎΠ³Ρƒ Π»ΠΈ я Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ PowerShell скриптов Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Silverlight?

ΠœΠΎΠ³Ρƒ Π»ΠΈ я Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ PowerShell скриптов Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Silverlight?

UUID v1 Objective-C рСализация

Π― Ρ…ΠΎΡ‡Ρƒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ UUID v1 Π² своСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ iOS. Π― знаю, Ρ‡Ρ‚ΠΎ ΠΎΠ½ состоит ΠΈΠ· Mac-адрСса ΠΈ timestamp, ΠΊΠ°ΠΊ описано Π² http://en.wikipedia.org/wiki/…

Запуск python скриптов Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ iOS

МнС Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ python скриптов Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ios. Π― нашСл этот вопрос Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ простой скрипт python Π² ios Π² ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Python.h #include <Python.h> Π“Π΄Π΅ я ΠΌΠΎΠ³Ρƒ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ»? Π’…

V8: console.log рСализация

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ V8 Π² своСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ C++ ΠΈ Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ console.log() . Π•ΡΡ‚ΡŒ Π»ΠΈ какая-Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ стандартная рСализация, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ? Π’ настоящСС врСмя Ρƒ мСня Π΅ΡΡ‚ΡŒ своя собствСнная…

ИспользованиС скриптов Python Π² Android для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π£ мСня Π΅ΡΡ‚ΡŒ нСсколько скриптов python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свои собствСнныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ numpy ΠΈ scipy. Как я ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ/Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ эти скрипты Π²…

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… скриптов shell Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ rails

Π’ ΠΌΠΎΠ΅ΠΌ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Rails (выпуск 6) я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сцСнарий bash для выполнСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дСйствий. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ скрипт Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ с Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. def…

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скрипты ΠΈ с Ρ‡Π΅ΠΌ ΠΈΡ… Сдят β€” Lua & C++ β€” ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ ВСбмастСр

РСшил Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ этот Ρ‚ΠΎΠΏΠΈΠΊ Π½Π° Ρ‚Π΅ΠΌΡƒ скриптов

Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ?
  • Π‘++ Π½Π° ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ (Π² ΡƒΡ€ΠΎΠΊΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ β€” template)
  • Lua, ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΈΠΉ скриптовый язык. Π‘ΠΎΠ²Π΅Ρ‚ΡƒΡŽ этот ΡƒΡ€ΠΎΠΊ.
ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ ΠΈΠ³Ρ€Ρ‹ Π². cpp Ρ„Π°ΠΉΠ»Π΅ Π±Ρ‹Π»ΠΎ большой ошибкой

Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈ большиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ (ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹), Π·Π°ΠΌΠ΅Ρ‡Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ сотнСй строк ΠΊΠΎΠ΄Π° компиляция ΠΈΠ΄Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅ΠΉ?

Π’ ΠΈΠ³Ρ€Π΅ создаСтся большС оруТия, большС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², большС мСню, большС etc.

Одна ΠΈΠ· самых Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… Π² связи с нововвСдСниями β€” ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ бСссчСтноС мноТСство оруТия ΠΈ Π±Π΅ΠΉΠ΄ΠΆΠΈΠΊΠΎΠ² довольно слоТноС занятиС.

Π’ ситуации, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΡΡŒΠ±Π° Π΄Ρ€ΡƒΠ³Π°/босса/Π½Π°ΠΏΠ°Ρ€Π½ΠΈΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π²ΠΈΠ΄ оруТия Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, приходится ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΌΠ΅Ρ€Π°ΠΌ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, записи всСй этой Ρ„ΠΈΠ³Π½ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹.

ΠŸΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π³Π΅ΠΉΠΌΠ΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Π΅Π»Π°Π» ΠΊΠ°Ρ€Ρ‚Ρƒ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΈΠ»ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ тСкстовом Ρ„Π°ΠΉΠ»Π΅ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΡ… считывал. Π’Π·ΡΡ‚ΡŒ хотя Π±Ρ‹ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ с Ρ„Π°ΠΉΠ»ΠΎΠΌ Π²Π²ΠΎΠ΄Π°

Но Π΅ΡΡ‚ΡŒ способ, Π½Π° Π³ΠΎΠ»ΠΎΠ²Ρƒ Π²Ρ‹ΡˆΠ΅ β€” использованиС скриптов.

РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

«ОкСй, для Ρ‚Π°ΠΊΠΈΡ… Π΄Π΅Π» Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° с описаниСм характСристиков ΠΈΠ³Ρ€ΠΎΠΊΠ°. Но Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π² Π±ΡƒΡ€Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь приходится Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚?Β»

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ вопрос. Π’ этом случаС Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ приходят скрипты, Π΄Π΅Ρ€ΠΆΠ°Ρ‰ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈΠ³Ρ€ΠΎΠΊΠ° со всСми характСристиками Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ части ΠΈΠ³Ρ€Ρ‹.

ЕстСствСнно, ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ всСго Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ, Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈΠ³Ρ€ΠΎΠΊΠ° Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ языка программирования.

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΌΡ‹ΡΠ»ΡŒ β€” Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ своСго скриптового языка, выкидываСтся ΠΈΠ· ΠΌΠΎΠ·Π³Π° Ρ‡Π΅Ρ€Π΅Π· нСсколько сСкунд. Π›ΠΎΠ³ΠΈΠΊΠ° ΠΈΠ³Ρ€ΠΎΠΊΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ стоит Ρ‚Π°ΠΊΠΈΡ… ΠΆΡƒΡ‚ΠΊΠΈΡ… Π·Π°Ρ‚Ρ€Π°Ρ‚.

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ скриптовых языков для Π‘++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π° Π²Ρ…ΠΎΠ΄ тСкстовый Ρ„Π°ΠΉΠ» ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΅Π³ΠΎ.

Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ скриптовом языкС Lua ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ.

Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ скриптовый язык. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² скриптовых языках Π΅ΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ конструкций for, while, if, ΠΏΡ€ΠΎΡ‡ΠΈΡ….

Π’ основном это Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° тСкста Π² консоль, матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

Как ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· скрипты?

ΠœΡ‹ Π² Π‘++-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, «рСгистрируСм» ΠΈΡ… ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΠΈΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² скриптС ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Π² скриптС. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ссли ΠΌΡ‹ зарСгистрировали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ SetPos(x, y) для опрСдСлСния ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈΠ³Ρ€ΠΎΠΊΠ° Π² Π‘++-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Ρ‚ΠΎ, встрСтив эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² скриптС, Β«ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Β» ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ скриптового языка Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² Π‘++-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, СстСствСнно, с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

Π£Π΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π΄Π°. )

UPD: Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Один ΡŽΠ·Π΅Ρ€ обратился ΠΌΠ½Π΅ с ΠΌΠ΅ΠΉΠ»ΠΎΠΌ, Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° я Π·Π°Π»ΠΈΠ²Π°Π» ΠΊΠΎΠ΄, я Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ устранил всС ошибки β€” habrahabr. ru/post/196272/#comment_6850016

Π’ ΠΊΠΎΠ΄Π΅ с позволСния Ρ…Π°Π±Ρ€Π° ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ»ΠΈ ΠΆΡƒΡ‡ΠΊΠΈ

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ участки ΠΊΠΎΠ΄Π° Π²Ρ€ΠΎΠ΄Π΅

И Π΅Ρ‰Π΅ вмСсто lua_CFunction проскакиваСт lua_cfunction

Бпасибо!

Π― Π³ΠΎΡ‚ΠΎΠ²!

Когда Π²Ρ‹ поняли прСимущСства скриптовых языков программирования, самоС врСмя Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ!

Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ ΠΈΠ· рСпозитория Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±Π΅ (Π½ΠΈΠ· Ρ‚ΠΎΠΏΠΈΠΊΠ°) lib’у ΠΈ includ’ы Lua, Π»ΠΈΠ±ΠΎ Π²ΠΎΠ·ΠΌΠΈΡ‚Π΅ ΠΈΡ… Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π»ΠΈΠ±ΠΎ Win32 (это Π½Π΅Π²Π°ΠΆΠ½ΠΎ) Π² Visual Studio (Ρƒ мСня стоит вСрсия 2012)

Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠŸΡ€ΠΎΠ΅ΠΊΡ‚->Бвойства->Бвойства ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ->ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ VC++ ΠΈ Π² Β«ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΒ» ΠΈ Β«ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΒ» Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ Include ΠΈ Lib ΠΈΠ· рСпозитория соотвСтствСнно.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создаСм Ρ„Π°ΠΉΠ» main. cpp, пишСм Π² Π½Π΅ΠΌ:

Как Π²Ρ‹ догадались, Ρƒ мСня консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΊΠΎΠ΄ΠΈΠ½Π³Ρƒ

ΠžΠ±Π΅Ρ‰Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Ρƒ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚

Π£ нас Π·Π° скрипты Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ класс Script. Π― Π±ΡƒΠ΄Ρƒ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Script. h/.cpp

БоздаСм Script. cpp и пишСм в нСм

БоздаСм Script. h и пишСм в нСм

ПослС 2 строчки ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ #endif ΠΌΡ‹ опрСдСляСм класс скриптов

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ для прСдотвращСния Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ„Π°ΠΉΠ»ΠΎΠ². Допустим, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Game. h ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Script. h, Π° Script. h ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Game. h β€” нСпорядок! А с Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 Ρ€Π°Π·

Π’Π΅ΠΏΠ΅Ρ€ΡŒ пишСм Π²Π½ΡƒΡ‚Ρ€ΠΈ этого ΠΊΠΎΠ΄Π° Π²ΠΎΡ‚ это

ΠŸΠ΅Ρ€Π²Π°Ρ строчка ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ сам lua. lib ΠΈΠ· Π°Ρ€Ρ…ΠΈΠ²Π°.

Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½ extern Β«CΒ»? Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ lua написан Π½Π° Π‘ ΠΈ поэтому Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Π”Π°Π»ΡŒΡˆΠ΅ ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстных ΠΌΠ½ΠΎΠ³ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с консолью

Π’Π΅ΠΏΠ΅Ρ€ΡŒ приступим ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ класса

Π‘Π°ΠΌΡ‹ΠΉ Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Lua для C++ β€” lua_State, ΠΎΠ½ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для выполнСния скриптов

Π”Π°Π»ΡŒΡˆΠ΅ ΠΈΠ΄ΡƒΡ‚ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π­Ρ‚Π° функция ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ lua_State

ΠΊΠ°ΠΊ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт

для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½ скрипт

ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ скрипт

Руководство ΠΏΠΎ Ѐункциям Bash с ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

Bash β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых популярных скриптовых ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ, доступных Π² Unix. Π•Ρ‘ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π·Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΊΒ Β«Bourne Again ShellΒ». Π›ΡŽΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Linux, ΡƒΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, ΠΈΠ»ΠΈ систСмный администратор согласится, Ρ‡Ρ‚ΠΎ bash ΠΈ bash-скрипты β€” ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт. Π’ этом руководствС ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ!

Π’ Unix Π΅ΡΡ‚ΡŒ 2 основных Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ.

Bourne shell ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ разновидности:

  • Korn shell (ksh)
  • Bourne shell (sh)
  • POSIX shell (sh)
  • Bourne Again shell (bash)

C shell ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ:

  • C shell (csh)
  • TENEX (TOPS) C shell (tcsh)

Bash-скрипты ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π‘ ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊ однострочному Π²Ρ‹Π·ΠΎΠ²Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. А ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² ΠΎΠ΄ΠΈΠ½ исполняСмый ΠΊΠΎΠ΄.

Bash доступСн практичСски Π²ΠΎ всСх вСрсиях Linux ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ установки. Бписок доступных ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ввСдя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

cat /etc/shells

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

/bin/bash
/bin/sh
/bin/tcsh
/bin/csh

Π—Π°Ρ‡Π΅ΠΌ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Bash?

Ѐункция Bash β€” это ΠΏΠΎ сути Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ мноТСство Ρ€Π°Π·. ЦСль Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ваши bash-скрипты Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ написания ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠΎΠ΄Π°. Bash-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚:

  • Π£ΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π·Π°Π΄Π°Ρ‡ΠΈ
  • Π‘ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя
  • Π”Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΡƒΡŽ ΠΈ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ динамичСскиС значСния ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки
  • Π£ΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ слоТныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π·Π°ΠΌΠ΅Π½ΠΈΠ² ΠΈΡ… Π½Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ
  • Π‘ΠΎΠ·Π΄Π°Π½Π° Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ‹, функция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство Ρ€Π°Π·.
  • Π‘Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для построСния логичСских ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²
  • Bash-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΏΡ€ΠΈ запускС сСрвСра ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ cron-задания
  • ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π»Π°ΠΆΠ΅Π½Ρ‹
  • Π’ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вводятся Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ

Bash, бСзусловно, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт, способный Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс. ВозмоТности Π΅Π³ΠΎ использования Π±Π΅Π·Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹, поэтому Π² этом руководствС ΠΌΡ‹ разбСрёмся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с основами. Π˜Ρ‚Π°ΠΊ, ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅ΡΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ваш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ скрипт!

Bash-скрипты: ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ Π Π°Π±ΠΎΡ‚Π΅

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ смоТСм Π½Π°Ρ‡Π°Ρ‚ΡŒ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ VPS-сСрвСру Ρ‡Π΅Ρ€Π΅Π· SSH. Если Π² процСссС Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы, заглянитС Π² это ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ руководство.

Π§Ρ‚ΠΎΠ±Ρ‹ ознакомится Π· Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ опциями bash, Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ справку:

man bash

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ-Ρ‚ΠΎ ΡΡƒΡ‚ΡŒ сцСнариСв, ΠΈΠ»ΠΈ bash-скриптов Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ». И вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ постоянно Π²Π²ΠΎΠ΄ΠΈΡ‚ эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ простым Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„Π°ΠΉΠ»Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, сначала Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» .sh. Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VIM. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

vim primerScripta.sh

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ .sh, Π³Π΄Π΅ смоТСм Π΅Π³ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ bash, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ bash-скрипт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ со строки:

#!/bin/bash

Команда Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΏΡƒΡ‚ΡŒ ΠΊ bash-ΡΡ†Π΅Π½Π°Ρ€ΠΈΡŽ.

which bash

Как Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚:

/bin/bash

ΠžΠ±Ρ‰ΠΈΠΉ синтаксис bash:

функция имяЀункции {
пСрвая ΠΊΠΎΠΌΠ°Π½Π΄Π°
вторая ΠΊΠΎΠΌΠ°Π½Π΄Π°
}

Π’Π°ΠΊΠΆΠ΅ это ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

имяЀункции (){
пСрвая ΠΊΠΎΠΌΠ°Π½Π΄Π°
вторая ΠΊΠΎΠΌΠ°Π½Π΄Π°
}

Или Π² ΠΎΠ΄Π½Ρƒ строку:

имяЀункции() { пСрвая ΠΊΠΎΠΌΠ°Π½Π΄Π°; вторая ΠΊΠΎΠΌΠ°Π½Π΄Π°; }
caca

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅, Π³Π΄Π΅ ΠΌΡ‹ сначала создаём ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π° Π·Π°Ρ‚Π΅ΠΌ мСняСм ΠΏΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π» Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³:

sampleFunction () {
mkdir -p $1
cd $1
}

$1 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, которая вставлСна ​​в Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.Β Bash ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ динамичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.Β Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, сдСлайтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

sampleFunction myDir

Π—Π΄Π΅ΡΡŒ myDir являСтся допустимым ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ создан. Если Π²Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pwd, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданном myDir.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ любая часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠ°ΠΊ функция bash.

Если Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» .sh Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ VIM, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ESC, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ, Π° Π·Π°Ρ‚Π΅ΠΌ :wq, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹ΠΉΡ‚ΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Bash-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

НиТС ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· основных ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ bash:

#!/bin/bash
testfunction(){
Β Β Β echo "Моя пСрвая функция"
}
testfunction

Если Π²Ρ‹ сохранитС этот скрипт Π² testFunction.sh ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ./testFunction.sh, Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅:

Моя пСрвая функция

Ѐункция echo Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² консоли. Если Π²Ρ‹ помСняСтС мСстами ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ, появится сообщСниС ΠΎΠ± ошибкС. ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ.

#!/bin/bash
testfunction
testfunction(){
Β Β Β echo "Моя пСрвая функция"
}

Π‘Π½Π°Ρ‡Π°Π»Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Ρ‘.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ bash ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ любоС количСство ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°:

#!/bin/bash
testfunction(){
Β Β Β echo $1
Β Β Β echo $2
}
testfunction "Hello" "World"

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ bash. Один ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅:

#!/bin/bash
addition(){
Β Β Β sum=$(($1+$2))
Β Β Β return $sum
}
read -p "Enter a number: " int1
read -p "Enter a number: " int2
add $int1 $int2
echo "The result is : " $?

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слоТСния присваиваСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ sum, ΠΈ ΠΎΠ½ΠΎ возвращаСтся ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄ осущСствляСтся с использованиСм read для ΠΎΠ±ΠΎΠΈΡ… чисСл. НаконСц, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ пСчатаСтся с использованиСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° $?, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ $sum ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Bash всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π·Π½Π°Ρ‡ΠΎΠΊΒ #.

Bash-скрипты ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚:

  • Π¦ΠΈΠΊΠ» while
  • Π¦ΠΈΠΊΠ» for
  • Π‘Ρ‚Π΅ΠΉΡ‚ΠΌΠ΅Π½Ρ‚ if
  • ЛогичСскоС И
  • ЛогичСскоС Или
  • Π‘Ρ‚Π΅ΠΉΡ‚ΠΌΠ΅Π½Ρ‚ else if
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ case

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ†ΠΈΠΊΠ»Π° while.

#!/bin/bash
isvalid=true
count=1
while [ $isvalid ]
do
echo $count
if [ $count -eq 5 ];
then
break
fi
((count++))
done

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ while ΠΈ if. Π­Ρ‚ΠΎ выполняСт Ρ†ΠΈΠΊΠ» while 5 Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ послС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if.

Π’ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

1
2
3
4
5

Π¦ΠΈΠΊΠ» for ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ для увСличСния, Ρ‚Π°ΠΊ ΠΈ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ счСтчиков. Один ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ†ΠΈΠΊΠ»Π° for ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅:

#!/bin/bash
for (( count=10; count>0; count-- ))
do
echo -n "$count "
done

А Π²ΠΎΡ‚ Π²Ρ‹Π²ΠΎΠ΄ этого Ρ†ΠΈΠΊΠ»Π°:

10 9 8 7 6 5 4 3 2 1

Π’ Bash && ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ логичСскоС И, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ || прСдставляСт логичСскоС Π˜Π›Π˜.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² If ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Else if. Один ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅:

#!/bin/bash
echo "Enter a valid number"
read n
if [ $n -eq 101 ];
then
echo "This is first number"
elif [ $n -eq 510 ];
then
echo " This is second number "
elif [ $n -eq 999 ];
then
echo " This is third number "
else
echo "No numbers over here"
fi

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ case:

#!/bin/bash
echo " Enter a valid number"
read n
case $n in
101)
Echo " This is the first number " ;;
510)
echo " This is the second number " ;;
999)
echo " This is the third number " ;;
*)
echo " No numbers over here " ;;
esac

Π’ стСйтмСнтах case ;; ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ† case.

Π˜Ρ‚ΠΎΠ³ΠΈ

На этом ΠΌΡ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ наш ΠΎΠ±Π·ΠΎΡ€ основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ bash. Bash-скрипты β€” Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, ΠΈ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎ руководство Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ‚Π°Ρ‚ΡŒ для вас ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉΒ  для изучСния возмоТностСй ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π° Bash. Π£Π΄Π°Ρ‡ΠΈ!

Ольга ΡƒΠΆΠ΅ ΠΎΠΊΠΎΠ»ΠΎ пяти Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ Π² сфСрС IT. НаписаниС тСхничСских Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ инструкций β€” ΠΎΠ΄Π½Π° ΠΈΠ· Π΅Ρ‘ Π³Π»Π°Π²Π½Ρ‹Ρ… обязанностСй. Π•Ρ‘ Ρ…ΠΎΠ±Π±ΠΈ β€” ΡƒΠ·Π½Π°Π²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ интСрСсныС ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎ соврСмСнных тСхнологиях, Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, языках программирования ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

19 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… shell-скриптов Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈ β€” Β«Π₯Π°ΠΊΠ΅Ρ€Β»

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

Командная строка ΠΈ Ρ‚Π΅ Π½Π΅Π²ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠΌΡ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ с Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ, β€” визитная ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° UNIX ΠΈ всСх Π΅Π΅ наслСдников. А Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ командная строка, Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ скрипты. И сСгодня… Π½Π΅Ρ‚, ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты, ΠΌΡ‹ рассмотрим Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…, Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ смоТСшь ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ самого Ρ€Π°Π·Π½ΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠ³Π° Π·Π°Π΄Π°Ρ‡, начиная ΠΎΡ‚ сводки ΠΏΠΎΠ³ΠΎΠ΄Ρ‹ ΠΈ Π²Π΅Π±-сСрвСра Π² ΠΎΠ΄Π½Ρƒ строку ΠΈ заканчивая Π±ΠΎΡ‚ΠΎΠΌ для Ρ‚Π²ΠΈΡ‚Ρ‚Π΅Ρ€Π° Π² Π΄Π΅ΡΡΡ‚ΡŒ строк ΠΈ скриптом для автоматичСского запуска любого Ρ‚ΠΎΡ€Ρ€Π΅Π½Ρ‚-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Π‘Ρ€Π°Π·Ρƒ ΠΎΠ³ΠΎΠ²ΠΎΡ€ΡŽΡΡŒ, Ρ‡Ρ‚ΠΎ я вовсС Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Ρ€ΠΆΠ΅Π½Π΅Ρ† шаманизма ΠΈ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС Π½Π΅ ΠΏΡ€ΠΈΠ·Ρ‹Π²Π°ΡŽ тСбя ΡΠΈΠ΄Π΅Ρ‚ΡŒ Π² Π·Π΅Π»Π΅Π½ΠΎ-Ρ‡Π΅Ρ€Π½ΠΎΠΉ консоли ΠΈ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΡƒΡ‡Ρƒ Π±ΡƒΠΊΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствия, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² графичСском интСрфСйсС достаточно навСсти ΠΌΡ‹ΡˆΠΊΡƒ Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ элСмСнт. Однако я ΡƒΠ±Π΅ΠΆΠ΄Π΅Π½, Ρ‡Ρ‚ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ консоль ΠΈ скрипты годятся Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ графичСского интСрфСйса ΠΈ поэтому ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π°Ρ‚ΡŒ ΠΈΠΌΠΈ Π½ΠΈΠΊΠ°ΠΊ нСльзя. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Ρ‡Ρ‚ΠΎ любая DE позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для скрипта ΠΈΠΊΠΎΠ½ΠΊΡƒ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ для Π΅Π³ΠΎ запуска Π΄Π°ΠΆΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ консоль.

Β 

ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π˜Ρ‚Π°ΠΊ, Π½Π΅ Ρ€Π°Π·Π³Π»Π°Π³ΠΎΠ»ΡŒΡΡ‚Π²ΡƒΡ понапрасну, сразу ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ:

$ curl ifconfig.co

Π­Ρ‚Π° простая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ‚Π΅Π±Π΅ внСшний IP β€” ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ссли Π² Π‘Π΅Ρ‚ΡŒ Ρ‚Ρ‹ Ρ…ΠΎΠ΄ΠΈΡˆΡŒ Ρ‡Π΅Ρ€Π΅Π· Ρ€ΠΎΡƒΡ‚Π΅Ρ€. ВсС, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ‚, β€” просто обращаСтся ΠΊ сСрвСру ifconfig.co, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ IP-шник ΠΎΠ΄Π½ΠΎΠΉ строкой вмСсто ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Π²Π΅Π±-страницы.

И Π΄Π°, это вовсС Π½Π΅ скрипт, это просто ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² скрипт, достаточно ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π΅ Π² тСкстовый Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкой Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ шСбанг, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ символы #!, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ слСдуСт имя ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°:

#!/bin/bash
curl ifconfig. co

Π”Π°Π»Π΅Π΅ скрипт сохраняСм Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ~/bin ΠΈ Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ ΠΏΡ€Π°Π²Π° Π½Π° исполнСниС:

$ chmod +x ~/bin/myip.sh

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ myip.sh.

ИдСм дальшС.

#!/bin/sh
curl -4 wttr.in/Moscow

Π­Ρ‚ΠΎΡ‚ скрипт позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сводку ΠΏΠΎΠ³ΠΎΠ΄Ρ‹ Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ дня. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ‚ΡƒΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² случаС с ifconfig.co.

Π‘Π²ΠΎΠ΄ΠΊΠ° ΠΏΠΎΠ³ΠΎΠ΄Ρ‹ Π² консоли

#!/bin/sh
dig +short txt $1.wp.dg.cx

А Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ Π² Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ DNS-запроса вмСсто обращСния ΠΊ Π²Π΅Π±-сСрвСру. ΠšΡΡ‚Π°Ρ‚ΠΈ, Π²Π΅Π±-сСрвСр Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку Ρ‚ΠΎΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ:

#!/bin/sh
while ( nc -l 80 < file.html > : ) ; do : ; done

Π”Π°Π½Π½Ρ‹ΠΉ скрипт основан Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ netcat (nc), ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡˆΠ²Π΅ΠΉΡ†Π°Ρ€ΡΠΊΠΈΠΌ армСйским Π½ΠΎΠΆΠΎΠΌ для сСтСвых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π‘ΠΊΡ€ΠΈΠΏΡ‚ запускаСт Ρ†ΠΈΠΊΠ», Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ nc, которая ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ 80-ΠΉ ΠΏΠΎΡ€Ρ‚ ΠΈ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° запрос ΠΎΡ‚Π΄Π°Π΅Ρ‚ file. html, отправляя ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ запрос Π² Π½ΠΈΠΊΡƒΠ΄Π° (символ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ noop, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ).

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простых скриптов ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠΆΠ½ΠΎ запросто ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Ρ€Π°Π΄ΠΈΠΎ:

#!/bin/sh
mpv --volume=50 -playlist ~/16bit.fm_128.m3u

ЕстСствСнно, ΠΏΠ»Π΅ΠΉ-лист Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ M3U Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ с сайта радиостанции. ΠšΡΡ‚Π°Ρ‚ΠΈ, Ссли Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ MPlayer с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ —input-ipc-server=/tmp/mpvsocket, ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ, записывая ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ„Π°ΠΉΠ». НапримСр, Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€ΠΎΠΌΠΊΠΎΡΡ‚ΡŒ:

echo 'volume +10' | socat - /tmp/mpvsocket

Π‘ΠΎΠ·Π΄Π°ΠΉ Π΄Π²Π° скрипта: ΠΎΠ΄ΠΈΠ½ для запуска, Π΄Ρ€ΡƒΠ³ΠΎΠΉ для остановки Ρ€Π°Π΄ΠΈΠΎ (со строкой killall mpv), повСсь ΠΈΡ… Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол ΠΈ настрой горячиС клавиши DE Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ воспроизвСдСниСм. Вуаля, Ρƒ тСбя Π³ΠΎΡ‚ΠΎΠ² ΠΏΠ»Π΅Π΅Ρ€ для ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Ρ€Π°Π΄ΠΈΠΎ, Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ, просто ΠΊΠ»ΠΈΠΊΠ½ΡƒΠ² ΠΏΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС. И ΠΎΠ½ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡ…ΠΎΠ΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Ρ€Π΅ΠΉ.

Но отвлСчСмся ΠΎΡ‚ сСтСвых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ вСрнСмся ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π΄Π΅Π»Π°ΠΌ.

#!/bin/sh
tar -czf "../${PWD##*/}.tar.gz" .

Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠΎΠΈΡ… Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… скриптов. Он создаСт Π°Ρ€Ρ…ΠΈΠ² tar.gz Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. Особого внимания здСсь заслуТиваСт конструкция ${PWD##*/}, которая Π±Π΅Ρ€Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° (пСрСмСнная $PWD) ΠΈ удаляСт ΠΈΠ· Π½Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ послСднСго слСша, оставляя, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя самого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. Π”Π°Π»Π΅Π΅ ΠΊ Π½Π΅ΠΌΡƒ добавляСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ tar.gz. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎ Ρ‚Π°ΠΊΠΈΡ… конструкциях Ρ‚Ρ‹ моТСшь ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² man bash.

#!/bin/sh
while true; do
    inotifywait -r -e MODIFY ΠšΠΠ’ΠΠ›ΠžΠ“ && Π’Π’ΠžΠ―_ΠšΠžΠœΠΠΠ”Π
done

А это ΡƒΠΆΠ΅ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π•Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для мноТСства Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для автоматичСского Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠ»Π΅Π΅Ρ€Π° ΠΏΡ€ΠΈ сохранСнии MP3-Ρ„Π°ΠΉΠ»Π°. Или просто Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π½Π° дСсктоп, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π² качСствС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ notify-send:

notify-send "Π€Π°ΠΉΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½"

Β 

ДСсктоп

Π Π°Π· ΡƒΠΆ ΠΌΡ‹ Π·Π°Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ дСсктопС, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ. &]+jpg’ |\
shuf -n 1 |\
xargs wget -O background.jpg
feh —bg-fill background.jpg

Π—Π΄Π΅ΡΡŒ всС просто. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ wget скрипт Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ страницу www.reddit.com/r/wallpaper, ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΅Π΅ grep, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡ‰Π΅Ρ‚ Π½Π° Π½Π΅ΠΉ ссылки Π½Π° imgur, Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ ссылку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ shuf, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΅Π΅ ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ wget ΠΈ устанавливаСт Π² качСствС ΠΎΠ±ΠΎΠ΅Π², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ feh (это Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½Ρ‹ΠΉ просмотрщик ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ). Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол, ΠΈ Ρ‚ΠΎΠ³Π΄Π° ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡƒ Ρƒ тСбя Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΠ±ΠΎΠΈ.

#!/bin/sh
state=`synclient | grep TouchpadOff | cut -d '=' -f 2`
if [ $state = "1" ]; then
    synclient TouchpadOff=0
else
    synclient TouchpadOff=1
fi

А это скрипт для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚Π°Ρ‡ΠΏΠ°Π΄Π° Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ°: Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚, Ссли ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½, ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π’ своСй Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ synclient, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Π°Ρ‡ΠΏΠ°Π΄Π°ΠΌΠΈ производства Synaptics (90% Ρ‚Π°Ρ‡ΠΏΠ°Π΄ΠΎΠ² Π΄Π΅Π»Π°ΡŽΡ‚ ΠΎΠ½ΠΈ). ΠŸΡ€ΠΈ запускС Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π°Ρ‡ΠΏΠ°Π΄Π΅, Π² Ρ‚ΠΎΠΌ числС строку TouchpadOff = 1, Ссли ΠΎΠ½ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½, ΠΈ TouchpadOff = 2, Ссли ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½. Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π² зависимости ΠΎΡ‚ состояния Ρ‚Π°Ρ‡ΠΏΠ°Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ.

!#/bin/bash
mpv tv:// -frames 3 -vo jpeg
mv 00000003.jpg photo.jpg
rm -f 0000*.jpg

А Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ снимок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹. Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ»Π΅Π΅Ρ€ mpv, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Ρ€ΠΈ ΠΊΠ°Π΄Ρ€Π°, снятыС ΠΊΠ°ΠΌΠ΅Ρ€ΠΎΠΉ, Π² JPEG-Ρ„Π°ΠΉΠ»Ρ‹ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ 0000000.jpg, 00000002.jpg, 00000003.jpg, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ снимок Π² Ρ„Π°ΠΉΠ» photo.jpg, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ удаляСт. Π’Ρ€ΠΈ снимка Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΌΠ΅Ρ€Π° успСла провСсти ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ просто Ρ‡Π΅Ρ€Π½Ρ‹ΠΌΠΈ. Иногда ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΌ; Ρ‡Ρ‚ΠΎΠ±Ρ‹ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, mpv слСдуСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ с Ρ„Π»Π°Π³ΠΎΠΌ -vf flip:

$ mpv tv:// -frames 3 -vf flip -vo jpeg

Π’Ρƒ ΠΆΠ΅ ΡΠ°ΠΌΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ слСТСния, которая Π΄Π΅Π»Π°Π΅Ρ‚ снимки Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° ΡŽΠ·Π΅Ρ€ прикасаСтся ΠΊ ΠΌΡ‹ΡˆΠΈ:

#!/bin/bash
while true; do
    sudo cat /dev/input/mouse0 | read -n1
    mpv tv:// -frames 3 -vo jpeg
    mv 00000003. jpg `date +%F-%H-%M`.jpg
    rm -f 0000*.jpg
    sleep 10
done

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² бСсконСчный Ρ†ΠΈΠΊΠ», оТидая Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° устройствС /dev/input/mouse0. Если Π΄Π°Π½Π½Ρ‹Π΅ Π΅ΡΡ‚ΡŒ, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΌΡ‹ΡˆΡŒ ΡΠ΄Π²ΠΈΠ½ΡƒΠ»Π°ΡΡŒ ΠΈΠ»ΠΈ Π±Ρ‹Π»Π° Π½Π°ΠΆΠ°Ρ‚Π° ΠΎΠ΄Π½Π° ΠΈΠ· Π΅Π΅ клавиш. ПослС этого ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ mpv, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈ снимка, Π΄Π°Π΅Ρ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ снимку имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄Π°Ρ‚Ρ‹ ΠΈ удаляСт ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅.

Для записи ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ с Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ скрипт:

#!/bin/bash
mencoder tv:// -tv driver=v4l2:width=800:height=600:device=/dev/video0:fps=30:outfmt=yuy2:forceaudio:alsa:adevice=hw.2,0 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1800 -ffourcc xvid -oac mp3lame -lameopts cbr=128 -o video.avi

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡˆΡŒ video.avi Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ MPEG4 с Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚ΠΎΠΌ 1800 ΠΈ Π°ΡƒΠ΄ΠΈΠΎΠ΄ΠΎΡ€ΠΎΠΆΠΊΠΎΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ MP3 с Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚ΠΎΠΌ 128.

#!/bin/bash
ffmpeg -f x11grab -r 25 -s 1366x768 -i :0.0 screencast.mpg

А Ρ‚Π°ΠΊ Ρ‚Ρ‹ моТСшь Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скринкаст. 1366×768 β€” Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° всСгда ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ import:

import screenshot.png

ПослС Π΅Π΅ запуска Π·Π½Π°Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΠΈ измСнится Π½Π° Β«ΠΏΡ€ΠΈΡ†Π΅Π»Β», с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ. ПовСсив эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ, Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡˆΡŒ практичСски ΠΈΠ΄Π΅Π°Π»ΡŒΠ½ΡƒΡŽ систСму снятия ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ², Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ ΠΆΡ€ΡƒΡ‰ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°ΡŽΡ‚ спСциализированныС прилоТСния, постоянно висящиС Π² Ρ‚Ρ€Π΅Π΅.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ внСшний ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки:

#!/bin/sh

if [ -z "$1" ]; then
    exit
fi

if [ $1 == "off" ]; then
    xrandr --output VGA-0 --off
    xrandr -s 0
else if [ $1 == "on"]; then
    xrandr --output LVDS --auto --primary --output VGA-0 --auto --left-of LVDS
    xrandr --newmode "1920x1080" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
    xrandr --addmode VGA-0 1920x1080
    xrandr --output VGA-0 --mode 1920x1080
fi

xrandr --dpi 96

Π”Π°Π½Π½Ρ‹ΠΉ скрипт ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ основной ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ носит имя LVDS, Π° внСшний β€” VGA-0. Π­Ρ‚ΠΎ стандартная ситуация для Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ²; Ссли Ρ‚Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, моТСшь ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ xrandr: ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ скрипту Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° off ΠΎΠ½ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ внСшний ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ on, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ, располагая ΠΏΠΎ Π»Π΅Π²ΡƒΡŽ сторону ΠΎΡ‚ основного (Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ —left-of LVDS Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅). Π”Π°Π»Π΅Π΅ скрипт добавляСт Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ 1920 x 1080 ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ. Π’ самом ΠΊΠΎΠ½Ρ†Π΅ скрипт устанавливаСт Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DPI β€” ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° с Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ½ΠΎ часто слСтаСт.

На самом Π΄Π΅Π»Π΅ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ xrandr —newmode … ΠΈ xrandr —addmode … Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Xorg ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΈΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ EDID. Иногда, ΠΎΠ΄Π½Π°ΠΊΠΎ, этого Π½Π΅ происходит, ΠΈ строку ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ послС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° —newmode, приходится Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнта cvt:

$ cvt 1920 1080

Он ΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСстандартноС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Β«Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ΅Β» ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Β 

Google, Twitter, Dropbox ΠΈ Ρ‚ΠΎΡ€Ρ€Π΅Π½Ρ‚Ρ‹

ΠžΡ‚Π²Π»Π΅Ρ‡Π΅ΠΌΡΡ ΠΎΡ‚ дСсктопных Π΄Π΅Π» ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ сСтСвых сСрвисах. НачнСм, разумССтся, с Google. Π’ΠΎΡ‚ Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ скрипт для получСния ΠΏΠ΅Ρ€Π²Ρ‹Ρ… дСсяти Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² поиска:

#!/bin/bash
Q="$@"
URL='https://www.google.de/search?tbs=li:1&q='
AGENT="Mozilla/4.0"
stream=$(curl -A "$AGENT" -skLm 10 "${GOOG_URL}${Q//\ /+}" | grep -oP '\/url\?q=.+?&amp' | sed 's|/url?q=||; s|&amp||')
echo -e "${stream//\%/\x}"

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π΄Π΅Π»Π°Π΅Ρ‚ запрос ΠΊ Google с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ Π½Π°ΠΌ curl, замСняя ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² поисковой строкС Π½Π° ΠΏΠ»ΡŽΡΡ‹. Π”Π°Π»Π΅Π΅ выискиваСт Π² ΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎΠΌ HTML ссылки ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΡ… Π½Π° экран. ВсС просто, Ρ…ΠΎΡ‚ΡŒ ΠΈ каТСтся слоТным.

Π˜Ρ‰Π΅ΠΌ Π² Google ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

Π’Ρ‚ΠΎΡ€ΠΎΠΉ популярный сСрвис β€” YouTube:

#!/bin/bash
mpv -fs -quiet `youtube-dl -g "$1"`

Π—Π΄Π΅ΡΡŒ всС совсСм просто. Π‘ΠΊΡ€ΠΈΠΏΡ‚ всСго лишь ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π²ΠΈΠ΄Π΅ΠΎ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅ ID с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π΅Π΅Ρ€Π° mpv. ЕстСствСнно, youtube-dl придСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅.

Как насчСт Ρ‚Π²ΠΈΡ‚Ρ‚Π΅Ρ€Π°? НСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΡ‚ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ Π±ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, выполняСт Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΈ отправляСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΡŽΠ·Π΅Ρ€Ρƒ.

#!/bin/bash
USER="Π’Π’ΠžΠ™_НИК"
while true; do
    CMD=`echo "/dma +1" | ttytter -script | sed 's/\[.*\]\ //'
    if [ $CMD != $OLD_CMD ]; then
        REPL=`$CMD`
        echo "/dm $USER ${REPL:0:140}" | ttytter -script
        CMD = $OLD_COMD
    fi
    sleep 60
done

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ttytter, читая Π² Ρ†ΠΈΠΊΠ»Π΅ послСднСС direct message, Π΄Π°Π»Π΅Π΅ ΠΎΠ½ провСряСт, Π½Π΅ Π±Ρ‹Π»Π° Π»ΠΈ такая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡƒΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°, ΠΈ, Ссли Π½Π΅Ρ‚, выполняСт Π΅Π΅ ΠΈ отправляСт ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ USER ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, ΠΏΠΎΠΏΡƒΡ‚Π½ΠΎ обрСзая Π΄ΠΎ 140 символов.

Π§Ρ‚ΠΎΠ±Ρ‹ всС Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ, Ρ‚Π΅Π±Π΅ придСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ttytter, Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ввСсти ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ ΠΈΠΌ ссылку Π² Π°Π΄Ρ€Π΅ΡΠ½ΡƒΡŽ строку Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ ΠΊΠ»ΡŽΡ‡ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ввСсти Π΅Π³ΠΎ Π² ttytter. ЕстСствСнно, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, слСдуСт завСсти для Π±ΠΎΡ‚Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡŽΠ·Π΅Ρ€Π° ΠΈ Π·Π°Π»ΠΎΠ³ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ΄ Π΅Π³ΠΎ ΡƒΡ‡Π΅Ρ‚ΠΊΠΎΠΉ.

Ttytter Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡

Π’Π²ΠΈΡ‚Ρ‚Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для выполнСния ΠΊΠΎΠΌΠ°Π½Π΄, Π½ΠΎ ΠΈ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ скрипт отправляСт Π² Π»Π΅Π½Ρ‚Ρƒ сообщСниС с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ состоянии ΠΌΠ°ΡˆΠΈΠ½Ρ‹ (имя хоста, uptime, Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, свободная ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° CPU):

#!/bin/bash

HOST=`hostname -s`
UP=`uptime | cut -d" " -f4,5 | cut -d"," -f1`
LOAD=`uptime | cut -d":" -f5,6`
MEM=`ps aux | awk '{ sum += $4 }; END { print sum }'`
CPU=`ps aux | awk '{ sum += $3 }; END { print sum }'`

tweet="Host: ${HOST}, uptime: ${UP}, cpu: ${CPU}%, memory: ${MEM}%, loadavg ${LOAD}"

if [ $(echo "${tweet}" | wc -c) -gt 140 ]; then
    echo "FATAL: The tweet is longer than 140 characters!"
    exit 1
fi

echo $tweet | ttytter -script

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Twitter

Ну ΠΈ ΠΏΠΎΠ΄ ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ скрипт, Π½Π΅ связанный с сСтСвыми сСрвисами, Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ прямоС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ сСтям ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ, Π·Π°Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ. Π­Ρ‚ΠΎ скрипт для запуска ΠΈ остановки Ρ‚ΠΎΡ€Ρ€Π΅Π½Ρ‚-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π²ΠΎ врСмя простоя ΠΌΠ°ΡˆΠΈΠ½Ρ‹:

#!/bin/bash

IDLE=600000
STOPCMD="transmission-remote -S"
STARTCMD="transmission-remote -s"

STOPPED="yes"
while true; do
    if [ `xprintidle` -gt $IDLE ]; then
        if [ $STOPPED = "yes" ]; then
            $STARTCMD
            STOPPED="no"
        fi
    else
        if [ $STOPPED = "no" ]; then
            $STOPCMD
            STOPPED="yes"
        fi
    fi
    sleep 60
done

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π² бСсконСчный Ρ†ΠΈΠΊΠ», ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΌΠΈΠ½ΡƒΡ‚Ρƒ провСряя, сколько миллисСкунд ΠΏΡ€ΠΎΡˆΠ»ΠΎ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΠ³Π΄Π° ΡŽΠ·Π΅Ρ€ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Π΅Π»Π°Π» (для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° xprintidle). Если ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΠΆΠ΅ 600 000 мс (Π΄Π΅ΡΡΡ‚ΡŒ ΠΌΠΈΠ½ΡƒΡ‚), скрипт выполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ STARTCMD. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ STOPCMD, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π΄ΠΎ Π½Π΅Π΅ Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° STARTCMD. Если ΠΊΡ€Π°Ρ‚ΠΊΠΎ: Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ дСлаСшь Π·Π° ΠΊΠΎΠΌΠΏΠΎΠΌ Π΄Π΅ΡΡΡ‚ΡŒ ΠΌΠΈΠ½ΡƒΡ‚ β€” запускаСтся STARTCMD, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС это ΠΊΠΎΠΌΠ°Π½Π΄Π° запуска всСх Π·Π°ΠΊΠ°Ρ‡Π΅ΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Transmission, Ссли Π½Π΅Ρ‚ β€” приостановка всСх Π·Π°ΠΊΠ°Ρ‡Π΅ΠΊ. НС любишь Transmission? НСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Deluge:

STOPCMD="deluge-console pause \*"
STARTCMD="deluge-console resume \*"

Β 

ВмСсто Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ²

НС ΡƒΠ΄ΠΈΠ²Π»ΡŽΡΡŒ, Ссли всС описанноС Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ покаТСтся Ρ‚Π΅Π±Π΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½Ρ‹ΠΌ вСлосипСдостроСниСм, ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΎΠ³Π»Π°ΡˆΡƒΡΡŒ с Ρ‚Π°ΠΊΠΈΠΌ ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ. ВсС-Ρ‚Π°ΠΊΠΈ соврСмСнный Linux β€” это Π½Π΅ Ρ‚Π° систСма для ΡΡƒΠΌΠ°ΡΡˆΠ΅Π΄ΡˆΠΈΡ… экспСримСнтаторов, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ½Π° Π±Ρ‹Π»Π° ΠΏΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚ΡŒ Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄. БСгодня для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ, ΠΎΡ‚Π»Π°ΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ инструмСнт, Π² Ρ‚ΠΎΠΌ числС графичСский. Π”Ρ€ΡƒΠ³ΠΎΠ΅ Π΄Π΅Π»ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ совсСм понятно, стоит Π»ΠΈ Π·Π°Ρ…Π»Π°ΠΌΠ»ΡΡ‚ΡŒ систСму тяТСловСсными написанными Π½Π° Python прилоТСниями с ΠΊΡƒΡ‡Π΅ΠΉ зависимостСй, ΠΊΠΎΠ³Π΄Π° Ρ‚Ρƒ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Ρƒ Π»Π΅Π³ΠΊΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΎΠ³ΠΎ скрипта.

Каким ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠΎΠΉΡ‚ΠΈ β€” Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚Π΅Π±Π΅. Π’ΡΡ‚Π°Π½Π΅ΡˆΡŒ Π»ΠΈ Ρ‚Ρ‹ Π½Π° Ρ‚Π΅ΠΌΠ½ΡƒΡŽ сторону ΠΈΠ»ΠΈ Π²Ρ‹Π±Π΅Ρ€Π΅ΡˆΡŒ ΠΏΡƒΡ‚ΡŒ дТСдая?

telnet towel.blinkenlights.nl

НаписаниС скриптов с использованиСм ArcGIS REST API—АдминистрированиС ArcGIS Server (Linux)

ArcGIS for Server ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с использованиСм запросов Π²Π΅Π±-сСрвиса RESTful, отправляСмых Π² ArcGIS REST API. (Π”Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ArcGIS Server Manager для администрирования вашСго сСрвСра, запросы ΠΊ REST API Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π° сСрвСрной части.) Для написания скриптов администрирования ArcGIS for Server Π²Π°ΠΌ потрСбуСтся Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ язык скрипта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ URL-адрСса ΠΈ запросы HTTP, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΈ HTTP. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π² настоящСй справкС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ язык Python.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ использованиС ArcGIS REST API Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Esri Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ выполняСтся скрипт. Π’Π°ΠΌ трСбуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ срСда, которая позволяСт Π²Π°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ запросы HTTP ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ сСрвСру Π“Π˜Π‘.

Начало администрирования сСрвСра с использованиСм ArcGIS REST API

Для использования ArcGIS REST API Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ запрос HTTP Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΆΠ΅Π»Π°Π΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π΅Π΅ выполнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ HTTP-запрос присоСдиняСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΊ сайту.

http://gisserver.domain.com:6080/arcgis/admin/machines/registermachineName=GISSERVER1. DOMAIN.COMadminURL=http://GISSERVER1.DOMAIN.COM:6080/arcgis/admin

ΠŸΡ€ΠΎΡΡ‚Ρ‹ΠΌ способом ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с доступными опСрациями администрирования ΠΈ ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ являСтся использованиС ArcGIS for Server Administrator Directory.

ИспользованиС Administrator Directory

ArcGIS for Server Administrator Directory прСдставляСт собой Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты для администрирования ArcGIS for Server. Administrator Directory ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ доступСн ΠΏΠΎ адрСсу http://gisserver.domain.com:6080/arcgis/admin.

Administrator Directory прСдставляСт собой своСго Ρ€ΠΎΠ΄Π° ΠΏΡƒΡ‚Π΅Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ рСсурсам ArcGIS for Server, доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ прСдоставляСт REST API. Навигация ΠΏΠΎ ссылкам Π² Administrator Directory позволяСт ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с URL ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ для использования Π² запросах ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Π²Π΅Π±-сСрвису администрирования. Π­Ρ‚ΠΈ запросы ΠΌΠΎΠΆΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· HTTP с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка написания скрипта ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ Π²Ρ‹Π±ΠΎΡ€Ρƒ.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Administrator Directory для выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ администрирования. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти, ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ URL-адрСс Π² строкС вашСго Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° послС выполнСния запроса ΠΊ сСрвСру. Для просмотра ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ‚Π΅Π»Π° запроса ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ инструмСнты Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΊΠ°ΠΊ Fiddler ΠΈΠ»ΠΈ Firebug. Π­Ρ‚Π° информация ΠΎΡ‡Π΅Π½ΡŒ Ρ†Π΅Π½Π½Π° для создания собствСнных запросов администрирования HTTP с использованиСм языка Python ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков написания скриптов.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Administrator Directory Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ для фактичСского выполнСния Π·Π°Π΄Π°Ρ‡ администрирования, Π΄Π°Π½Π½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ инструмСнт изучСния REST API. Π¦Π΅Π»Π΅Π²Ρ‹ΠΌ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ для администрирования ArcGIS Server являСтся ArcGIS Server Manager.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ использованиС ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° Π² скриптах

ΠŸΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ Π² ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ (Manager) ΠΈΠ»ΠΈ Administrator Directory Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи, которая ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²Π° доступа администратора ΠΈΠ»ΠΈ издатСля для ArcGIS for Server. Аналогичный ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ ΠΏΡ€ΠΈ написании скриптов. Π’Π°ΠΌ трСбуСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π½Π° сСрвСр. Π‘Π΅Ρ€Π²Π΅Ρ€ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ сСрвСра для выполнСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² дСйствий. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ Π² любой запрос Π²Π΅Π±-сСрвСра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ выполняСтС ΠΊ сСрвСру.

ΠœΠ°Ρ€ΠΊΠ΅Ρ€ (Ρ‚ΠΎΠΊΠ΅Π½) Π½Π΅ являСтся постоянным; ΠΎΠ½ создан со сроком дСйствия, Ρ‡Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΡ€Π°ΠΆΠΈ ΠΈ нСобоснованного использования ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ-Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠΌ. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС скрипта Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ запрос Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° (Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запросС).

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ функция Python выполняСт запрос ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°. Π’ качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ имя сСрвСра, Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΡ€Ρ‚Π°, имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

ВыполняСт запрос ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° администрирования Ρƒ ArcGIS for Server.

def getToken(username, password, serverName, serverPort):
    # Token URL is typically http://server[:port]/arcgis/admin/generateToken
    tokenURL = "/arcgis/admin/generateToken"
    
    # URL-encode the token parameters:-
    params = urllib.urlencode({'username': username, 'password': password, 'client': 'requestip', 'f': 'json'})
    
    headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
    
    # Connect to URL and post parameters
    httpConn = httplib.HTTPConnection(serverName, serverPort)
    httpConn.request("POST", tokenURL, params, headers)
    
    # Read response
    response = httpConn.getresponse()
    if (response.status != 200):
        httpConn.close()
        print "Error while fetch tokens from admin URL. Please check the URL and try again."
        return
    else:
        data = response.read()
        httpConn.close()
           
        # Extract the token from it
        token = json.loads(data)        
        return token['token']

Π Π°Π±ΠΎΡ‚Π° с запросами ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°ΠΌΠΈ

Для выполнСния запроса Π²Π΅Π±-сСрвиса ArcGIS for Server Π²Π°ΠΌ потрСбуСтся ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ URL для Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ дСйствия, Π° Ρ‚Π°ΠΊΠΆΠ΅ всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Одним ΠΈΠ· Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² бСзопасного сСрвСра являСтся соотвСтствиС ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρƒ, созданному Π²Ρ‹ΡˆΠ΅.

ВсС дСйствия администрирования приводят ΠΊ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΡƒ Π²Π΅Π±-сСрвиса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JavaScript Object Notation (JSON). Π―Π·Ρ‹ΠΊΠΈ написания скриптов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Python, ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΠΈΠΊ JSON. Иногда для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΡŒ вашСго запроса, Π²Π°ΠΌ трСбуСтся просто ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ статуса HTTP (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ΄ 200 соотвСтствуСт статусу «OK»). Иногда Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сообщСния ΠΆΡƒΡ€Π½Π°Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π²Π°ΠΌ потрСбуСтся ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ.

Π‘ΠΌ. Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ справочникС, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ запрос ΠΊ ArcGIS for Server ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΠΈΠΊ.


ΠžΡ‚Π·Ρ‹Π² ΠΏΠΎ этому Ρ€Π°Π·Π΄Π΅Π»Ρƒ?

SIIRC: IRC-скрипты для БИ


Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс провСдСния ΠΈΠ³Ρ€ Π² «Бвою ΠΈΠ³Ρ€ΡƒΒ», Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π² Ρ‡Π°Ρ‚Π°Ρ… сСти IRC.


ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ скрипт ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΈΠ³Ρ€Ρ‹ Π² спортивный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ БИ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Π² Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΎΠ³. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ скрипт Π·Π°Π΄Π°Ρ‘Ρ‚ вопросы ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ позволяСт Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ Ρ‚Π΅ΠΌΡ‹ ΠΈ вопроса Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ€Π°ΡƒΠ½Π΄Π΅.


Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ автоматичСски ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ вопросы ΠΈ стоимости ΠΈ выводят ΠΈΡ… Π½Π° ΠΊΠ°Π½Π°Π». Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ΠΈ Π²Π΅Π΄ΡƒΡ‚ ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ с суммами ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² Π±Π°Π·ΠΎΠ²Ρ‹Π΅ дСйствия, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π° ΠΊΠ°Π½Π°Π».


ΠšΠΎΡ‚Ρ‹ ΠΈ Π°ΡƒΠΊΡ†ΠΈΠΎΠ½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ. ЕдинствСнноС, Ρ‡Ρ‚ΠΎ Π² этом случаС трСбуСтся ΠΎΡ‚ Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ β€” самому ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ счёт ΠΈΠ³Ρ€ΠΎΠΊΠ°, ΠΎΡ‚Π²Π΅Ρ‡Π°Π²ΡˆΠ΅Π³ΠΎ Π½Π° спСцвопрос.


ИспользованиС скриптов ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Ρ‘ скорСС Ρ€Π°Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Π½Π΅ΠΆΠ΅Π»ΠΈ напряТСниСм, поэтому, нСсомнСнно, Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° использования скриптов (13.09.2007):

  • вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ автоматичСски, вопросы выводятся Π½Π° ΠΊΠ°Π½Π°Π», Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ Π²ΠΈΠ΄ΠΈΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΈΠ³Ρ€ΠΎΠΊΠ°
  • скрипт сам отсчитываСт врСмя Π½Π° Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅ ΠΈ Π½Π° ΠΎΡ‚Π²Π΅Ρ‚
  • скрипт сам Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΏΠΎΠ΄Π°Ρ‡Ρƒ сигнала ΠΎΡ‚ ΠΈΠ³Ρ€ΠΎΠΊΠ°, ΠΆΠ΅Π»Π°ΡŽΡ‰Π΅Π³ΠΎ Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сигнал β€” Β«!ΠΏΠΈΠΏΒ») ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΌΡƒ, Ρ‡Π΅ΠΉ сигнал ΠΏΡ€ΠΈΡˆΡ‘Π» ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ
  • скрипт автоматичСски Π²Π΅Π΄Ρ‘Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² (ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ) ΠΈ позволяСт Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Ρ‘ Π½Π° ΠΊΠ°Π½Π°Π»
  • Β«Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌΒ» β€” ΠΈΠ³Ρ€Π° ΠΈΠ΄Ρ‘Ρ‚ лишь с Ρ‚Π΅ΠΌΠΈ, ΠΊΡ‚ΠΎ внСсён Π² список ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ²
  • имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ суммы Π½Π° счётС ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ β€” Π² случаС Β«ΠšΠΎΡ‚ΠΎΠ²Β», «Аукционов» ΠΈ апСлляций
  • Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности описаны Π² Ρ„Π°ΠΉΠ»Π΅ ΠΏΠΎΠΌΠΎΡ‰ΠΈ


Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для скриптов Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Β«Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ вопросов SIGameΒ» вСрсиСй 3.0 ΠΈ Π²Ρ‹ΡˆΠ΅. Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ скриптам находятся Π² ΠΏΠ°ΠΏΠΊΠ΅ с самим скриптами.

Π‘ΠΏΠΎΡ€Ρ‚Π‘Π˜ скрипт, вСрсия 1.1 (08.10.2007)


Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° рСакция Π½Π° популярный сигнал Β«ΠΉΒ»
  • Π‘ΠΊΡ€ΠΈΠΏΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Ρ‹Π³Ρ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΡ‚ΠΎΠ² ΠΈ Π°ΡƒΠΊΡ†ΠΈΠΎΠ½Ρ‹ (ΠΏΠΎ ТСланию Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ)
  • Π’Π΅Π΄ΡƒΡ‰ΠΈΠΉ с большими Π»Π°Π³Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ автоматичСскоС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ
  • Π•ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄Π°Ρ‡Ρƒ сигнала Β«!ΠΏΠΈΠΏΒ» послС 0 Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°
  • ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ΅ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ вопросу Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ: Ссли это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ вопрос Π² Ρ‚Π΅ΠΌΠ΅, Ρ‚ΠΎ ΠΈΠ³Ρ€Π° начнётся с объявлСния Ρ‚Π΅ΠΌΡ‹; Ссли это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ вопрос Π² Ρ€Π°ΡƒΠ½Π΄Π΅, Ρ‚ΠΎ ΠΈΠ³Ρ€Π° начнётся с объявлСния Ρ€Π°ΡƒΠ½Π΄Π°

Π‘ΠΏΠΎΡ€Ρ‚Π‘Π˜ ΠΈ Π’Π’Π‘Π˜ скрипты, вСрсия 1.2 (13.11.2007)

Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° «Бвояк-софт 2Β». ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ отличия ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии: большая Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½ΠΎΡΡ‚ΡŒ ΠΈ простота Π² ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ.

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ:

  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» вопросов Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅, Π½Π΅ вводя Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π΅Π³ΠΎ имя
  • Π‘ΠΎΠ»Π΅Π΅ Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ интСрфСйс β€” большС подсказок ΠΎΡ‚ скрипта
  • Π’Π°ΡˆΠΈ Π»ΠΈΡ‡Π½Ρ‹Π΅ настройки ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΈΠ³Ρ€Ρ‹ ΠΊ ΠΈΠ³Ρ€Π΅
  • Π”ΠΎΠ΄Π΅Π»Π°Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Β«ΠšΠΎΡ‚ΠΎΠ² Π² мСшкС» ΠΈ «Аукционов». Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π·Π°Π΄Π΅Π»Ρ‹ ΠΏΠΎΠ΄ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ (см. ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ тСкст)
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅ коммСнтария ΠΊ вопросу. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΈΡ‚ Π΄ΠΎ вопроса
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΊ Π²Π΅Π΄ΡƒΡ‰Π΅ΠΌΡƒ. Π­Ρ‚ΠΎ Π°Π±Π·Π°Ρ† коммСнтария, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉΡΡ с символа *. Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ сразу выводится Π² ΠΎΠΊΠ½ΠΎ ΠΊΠ°Π½Π°Π»Π°, Π½ΠΎ Π²ΠΈΠ΄ΠΈΡ‚ Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ
  • ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ„Π°ΠΉΠ»Π° Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° скрипт Π½Π΅ виснСт, Π° Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅Π΅ сообщСниС
  • НСльзя Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ для ΠΈΠ³Ρ€Ρ‹ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π΅ вопрос
  • АвтоматичСски подбираСтся имя ΠΊΠ°Π½Π°Π»Π° для ΠΈΠ³Ρ€Ρ‹
  • Π•ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ограничСния ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Π΅Π΄ΡƒΡ‰Π΅ΠΌΡƒ

Π‘ΠΏΠΎΡ€Ρ‚Π‘Π˜ ΠΈ Π’Π’Π‘Π˜ скрипты, вСрсия 1.3 (28.01.2008)

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ:

  • Π€Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠΌΠΎΡ‰ΠΈ записаны Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ html
  • Вопрос Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ кусками ΠΈ ΠΈΠ³Ρ€Π°Ρ‚ΡŒΡΡ ΠΏΠΎ московским ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ β€” с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΈΠΏΠ°Ρ‚ΡŒ посрСди вопроса ΠΈ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚
  • Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² вопросный Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ вопросы, Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ скриптом. Достаточно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля [q#type]. Они ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Ρ‹Π³Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΠΎ Π»ΡŽΠ±Ρ‹ΠΌ экзотичСским ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. ПослС Ρ‡Π΅Π³ΠΎ скрипт ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ

Π‘ΠΏΠΎΡ€Ρ‚Π‘Π˜ ΠΈ Π’Π’Π‘Π˜ скрипты, вСрсия 1.4 (26.09.2008)

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ:

  • Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ рССстр Ρ‚ΠΈΠΏΠΎΠ² вопросов БИ. МоТно ΠΎΡ‚Ρ‹Π³Ρ€Ρ‹Π²Π°Ρ‚ΡŒ «Вопросы ΠΎΡ‚ спонсора» ΠΈ Β«ΠžΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½Ρ‹Ρ… ΠšΠΎΡ‚ΠΎΠ² Π² мСшкС»
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° Ρ†Π²Π΅Ρ‚Π° для Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ. Для Ρ†Π²Π΅Ρ‚ΠΎΠ² с ΠΊΠΎΠ΄ΠΎΠΌ мСньшим 10 тСкст Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ с отступом (ΠΈΠ·-Π·Π° IRC-шной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ слипания ΠΊΠΎΠ΄Π° Ρ†Π²Π΅Ρ‚Π° ΠΈ Ρ„Ρ€Π°Π·Ρ‹, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅ΠΉΡΡ с числа)
  • Π‘ΠΊΡ€ΠΈΠΏΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ подсчитываСт статистику Π²Π΅Ρ€Π½Ρ‹Ρ… ΠΈ Π½Π΅Π²Π΅Ρ€Π½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°. Бтатистика ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скоррСктирована Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.
  • Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ частичном Π²Ρ‹Π²ΠΎΠ΄Π΅ вопроса послС Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π° остаток вопроса выводится сразу Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ

Π‘ΠΏΠΎΡ€Ρ‚Π‘Π˜ ΠΈ Π’Π’Π‘Π˜ скрипты, вСрсия 1.41 (19.02.2009)

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ:

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ зависаниС скрипта Π½Π° быстром Π²Ρ‹Π²ΠΎΠ΄Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… вопросов.

Π‘ΠΏΠΎΡ€Ρ‚Π‘Π˜ ΠΈ Π’Π’Π‘Π˜ скрипты, вСрсия 1.42 (20.06.2009)

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ:

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ΠΌΠ΅Π»ΠΊΠΈΠ΅ Π±Π°Π³ΠΈ.

Π‘ΠΏΠΎΡ€Ρ‚Π‘Π˜ скрипт, вСрсия 1.43 (21.08.2009)

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ:

  • Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π½Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° строку тСкста, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ «ΠΉ».
  • Выводятся Π°Π²Ρ‚ΠΎΡ€Ρ‹ Ρ‚Π΅ΠΌ ΠΈ источники вопросов.

Π‘ΠΏΠΎΡ€Ρ‚Π‘Π˜ скрипт, вСрсия 1.44 (30.08.2009)

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ:

  • ΠŸΠΎΠΏΡ€Π°Π²Π»Π΅Π½ Π±Π°Π³ с Ρ€Π΅Π°ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π° «ΠΉ».

Π‘ΠΏΠΎΡ€Ρ‚Π‘Π˜ скрипт, вСрсия 1.45 (21.01.2010)

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ³Ρ€ΠΎΠΊΠ°.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° скриптов ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π°!


Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ

Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ со скриптами Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ [sport/tv]sihelp.htm Π² ΠΏΠ°ΠΏΠΊΠ°Ρ… скриптов.




Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ C # ΠΈ кодирования Π² Unity для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… | Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Π’ Unity сцСнарии Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с размСщСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π²Π°ΠΌ инструмСнтов Π²Π²Π΅Ρ€Ρ…Ρƒ, ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это дСлаСтся с объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом видимости Β«publicΒ» ΠΈΠ»ΠΈ Β«privateΒ» Π² Π½Π°Ρ‡Π°Π»Π΅, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Ρ‚ΠΈΠΏ ΠΈ имя.

Когда ΠΌΡ‹ объявляСм ваши ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, сущСствуСт нСсколько Ρ‚ΠΈΠΏΠΎΠ² видимости, Π½ΠΎ Π΄Π²Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΈΠ· Π½ΠΈΡ… — ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΈ частный.

Если Π²Ρ‹ создадитС сцСнарий с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π²Ρ‹ΡˆΠ΅ тСкстом Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Π΅Ρ€Π½Π΅Ρ‚Π΅ΡΡŒ Π² Unity ΠΈ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚Π΅ сцСнарий GameObject, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ свСта, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‰Π΅Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ Π² Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π΅, Π½ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠ³Ρƒ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ частный. И это ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ «частноС», ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² этом ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ скриптС, Π² этом ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ классС.

Если Π²Ρ‹ сдСлаСтС это общСдоступным, Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ доступСн для Π΄Ρ€ΡƒΠ³ΠΈΡ… скриптов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… классов ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π² Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π΅ ΠΈΠ· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Unity.Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ люди ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ доступ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ.

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ частным ΠΈΠ»ΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ. ЧастныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ чистым, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этих ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ этого класса. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ сопровоТдСниС ΠΊΠΎΠ΄Π°.

Если Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ «общСдоступный» ΠΈ Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΡŒ своСй ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ источник, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ доступ ΠΊ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.Однако, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ взаимодСйствовали ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ (ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ) Π±Ρ‹Π»ΠΈ общСдоступными.

Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… — это Ρ‚ΠΈΠΏ. Π’ΠΈΠΏ опрСдСляСт, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ хранится Π² памяти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ число, тСкст ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТныС Ρ‚ΠΈΠΏΡ‹, ΠΊΠ°ΠΊ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π½ΠΈΠΆΠ΅: Transform, Light ΠΈ Demo Script Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π½ΠΈΠΆΠ΅ Π½Π° самом Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ссылками Π½Π° ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Unity Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ это Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ с Π½ΠΈΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ваТная Π²Π΅Ρ‰ΡŒ ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… — это имя. Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с числа ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π΅ΡΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ написания ΠΈΠΌΠ΅Π½. Π’ C # соглашСниС ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… — camelCase: Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ со строчной Π±ΡƒΠΊΠ²Ρ‹ ΠΈ добавляСтС слова Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², начиная с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «ΠΌΠΎΠΉ свСт».

Когда Unity ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ скрипт, ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ общСдоступныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅.Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅ ΠΎΡ‚ инспСктора.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сцСнариСв Π½Π° C | Computerworld

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ†Π΅Π½ΠΊΠΈ Unix —

Π₯отя ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄ΡƒΠΌΠ°Π΅ΠΌ ΠΎ C ΠΊΠ°ΠΊ ΠΎ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠΌ языкС-ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ΅ — ТСстком, Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΈ опасном, — ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ C Π² Π±ΠΎΠ»Π΅Π΅ приятный ΠΏΠ°ΠΊΠ΅Ρ‚. НСкоторыС ΠΈΠ· Π½ΠΈΡ… Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π±ΠΎΠ»Π΅Π΅ 20 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄. Π‘Ρ€Π΅Π΄ΠΈ Π²Ρ‹ΠΆΠΈΠ²ΡˆΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всС Π΅Ρ‰Π΅ находятся Π² производствС:

  • CINT
  • EiC
  • ElastiC
  • ICI
  • LPC
  • Π©ΡƒΠΊΠ°

Наш опрос ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ доступны для систСм Unix (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ QNC ΠΈ Think C), ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ (ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ UPS C) ΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹.ΠœΡ‹ нашли ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… пСрСчислСны ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ языка C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ ΠΈΠ· эксплуатации Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚, Π½ΠΎ всС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ систСмы находятся Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

CINT

Β«CINT ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 95 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² ANSI C ΠΈ 85 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² C ++Β», Π²ΠΊΠ»ΡŽΡ‡Π°Ρ собствСнный исходный ΠΊΠΎΠ΄, согласно домашнСй страницС CINT. CERN, Ρ‚Π° ΠΆΠ΅ мСТдународная физичСская лаборатория, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π’ΠΈΠΌ БСрнСрс-Π›ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ созданиСм ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ World Wide Web, Π² настоящСС врСмя спонсируСт CINT.

ΠœΠ°ΡΠ°Ρ…Π°Ρ€Ρƒ Π“ΠΎΡ‚ΠΎ написал CINT Π² 1991 Π³ΠΎΠ΄Ρƒ, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² Hewlett-Packard Japan.Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠΌ Π² Agilent, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ HP ΠΏΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ измСрСниям, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ HP Π²Ρ‹Π΄Π΅Π»ΠΈΠ»Π° Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π°, ΠΎΠ½ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ CINT.

Π’ 1995 Π³ΠΎΠ΄Ρƒ Π Π΅Π½Π΅ Π‘Ρ€ΡƒΠ½ ΠΈ Ѐонс РадСмакСрс запустили ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ROOT Π² ЦЕРН, Ρ‡Ρ‚ΠΎΠ±Ρ‹ быстро ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ Ρ„ΠΈΠ·ΠΈΠΊΠΎΠ² с Π½ΠΎΠ²Ρ‹ΠΌ ΠΌΠΈΡ€ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ C ++ ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ модСлирования. ПослС сравнСния с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌΠΈ, ΠΊΠ°ΠΊ Tcl / Tk ΠΈ Python, РадСмакСрс ΠΈ Π‘Ρ€ΡƒΠ½ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ CINT Π² 1996 Π³ΠΎΠ΄Ρƒ для ROOT. Как ΠΈ CINT, ROOT — это ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ.ЦЕРН ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ROOT для структурного Π°Π½Π°Π»ΠΈΠ·Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ Брунс, «экспСримСнтов с большим Π°Π΄Ρ€ΠΎΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€ΠΎΠΌ (LHC), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΊΠΎΠ»ΠΎ дСсяти ΠΏΠ΅Ρ‚Π°Π±Π°ΠΉΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π³ΠΎΠ΄ Π² 2005 Π³ΠΎΠ΄Ρƒ. ROOT ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сотнях Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΉ [Ρ„ΠΈΠ·ΠΈΠΊΠΈ элСмСнтарных частиц] Π² ΠΌΠΈΡ€Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π½Π΅Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… прилоТСниях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Β». Ѐинансы — это ΠΎΠ΄Π½Π° ΠΈΠ· областСй Π²Π½Π΅ Ρ„ΠΈΠ·ΠΈΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ, ΠΊΠ°ΠΊ извСстно, CINT Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Бпонсорство ROOT ΠΏΠΎΠ±ΡƒΠ΄ΠΈΠ»ΠΎ CINT ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ большС стандарта C ++, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.«На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ этапС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ начнСтся этой осСнью, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для обСспСчСния ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ распрСдСлСнной срСды Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² контСкстС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² GRID ΠΊΠ°ΠΊ Π² Π•Π²Ρ€ΠΎΠΏΠ΅, Ρ‚Π°ΠΊ ΠΈ Π² БША», — Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π‘Ρ€ΡƒΠ½.

CINT доступСн для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Unix, Π° Ρ‚Π°ΠΊΠΆΠ΅ для Win NT. Π‘Ρ€Π΅Π΄ΠΈ интСрСсных Π½Π΅Π΄Π°Π²Π½ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ CINT — RDBS, которая взаимодСйствуСт с ODBC Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ JDBC.

EiC

Β«EiC Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠ°ΠΊ производствСнный инструмСнт … ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½Ρ‹Ρ…, свободно доступных ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² C, созданных Π½Π° сСгодняшний дСнь», — ΠΏΠΈΡˆΠ΅Ρ‚ Π­Π΄ΠΌΠΎΠ½Π΄ Π”ΠΆ.Π‘Ρ€ΠΈΠ½ Π½Π° домашнСй страницС EiC. Он добился большого успСха: EiC Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ Π² Ρ‚Π°ΠΊΠΈΡ… публикациях, ΠΊΠ°ΠΊ Linux Magazine .

Π‘Ρ€ΠΈΠ½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» EiC для Π»Π΅Π³ΠΊΠΎΠΉ пСрСносимости ΠΈ гибкости ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ, ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΈ встроСнными прилоТСниями. EiC Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅, ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ для взаимодСйствия с внСшними функциями. Π Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ программисты ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π΅Π³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ диагностику Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΉ массива ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, EiC довольно ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π΅Π½.Доступны вСрсии для всСх распространСнных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½Π΅Π΄Π°Π²Π½ΠΈΠΉ пСрСнос Π½Π° ΠΊΠ°Ρ€ΠΌΠ°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Psion Π½Π° Π±Π°Π·Π΅ EPOC. МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ EiC ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΅Π³ΠΎ для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ срСди доступных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π΅ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для MySQL ΠΈ OpenGL. Π’Π΅Π±-сайт EiC ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ свСдСния ΠΎ языкС ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… списка рассылки, связанных с EiC.

Π’ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… ΠΏΠ»Π°Π½Π°Ρ… Π‘Ρ€ΠΈΠ½Π° — ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с C99. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ EiC прСдставляСт собой ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π΅Π³ΠΎ самых ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… ΠΈ постоянных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.Π•ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΡ… для ΠΏΠΎΠΌΠΎΡ‰ΠΈ с ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ EiC, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΌΠΎΠ³ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° выпускС Linux, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π΄ΠΎΠ±Ρ€ΠΎΠ²ΠΎΠ»ΡŒΡ†Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ устройство Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ, спСцифичноС для Windows, Solaris ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… вСрсий.

Эластик

ElastiC Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отличаСтся ΠΎΡ‚ упомянутых здСсь языков. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π² основном ΠΈΠΌΠ΅ΡŽΡ‚ сСмантику C с ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшими вариациями. ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ ΠœΠ°Ρ€ΠΊΠΎ ΠŸΠ°Π½Ρ‚Π°Π»Π΅ΠΎΠ½ΠΈ, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², Π±ΠΎΠ»Π΅Π΅ Π°ΠΌΠ±ΠΈΡ†ΠΈΠΎΠ·Π΅Π½ ΠΈ слоТСн. Π₯отя Π΅Π³ΠΎ синтаксис Π·Π½Π°ΠΊΠΎΠΌ всСм, ΠΊΡ‚ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с C, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ этот синтаксис для выраТСния мСтапрограммирования, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Smalltalk, ΠΏΡ€ΠΈΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ замыканиями, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ концСпциями, Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌΠΈ ΠΏΠΎ Ρ‚Π°ΠΊΠΈΠΌ языкам, ΠΊΠ°ΠΊ Scheme ΠΈ Python.

ElastiC ΠΌΠΎΠ»ΠΎΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ, упомянутых здСсь, ΠΈ большС ΠΎΠ·Π°Π±ΠΎΡ‡Π΅Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ, Ρ‡Π΅ΠΌ дСталями Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²Π΅Π±-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ удобствами. Однако ΠŸΠ°Π½Ρ‚Π°Π»Π΅ΠΎΠ½ΠΈ, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ Linuxcare Italia spa, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π·Π°Π»ΠΎΠΆΠΈΠ» для ElastiC ΠΏΡ€ΠΎΡ‡Π½ΡƒΡŽ основу. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ достаточно ΠΌΠ°Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, Π° ΠΊΠΎΠ΄ выглядит достаточно эффСктивным ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ SWIGgable, Π° Pantaleoni ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ GTK ΠΈ inet.Π₯отя ΠΊΠΎΠ΄ чистый, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±Ρ‹Π» пСрСнСсСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ систСмы Unix ΠΈ Windows.

ИКИ

ΠœΡ‹ посвятили ICI ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Regular Expressions Π·Π° Π°ΠΏΡ€Π΅Π»ΡŒ 1999 Π³. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ этот C-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ язык высокого уровня появился Π² вСрсии 2.1.4, ΠΈ Π² этом мСсяцС Π±Ρ‹Π»ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ‹ ΠΏΠ»Π°Π½Ρ‹ Π½Π° 3.0. Π‘Π°ΠΌΠΎΠΉ большой Π½ΠΎΠ²ΠΎΡΡ‚ΡŒΡŽ Π»Π΅Ρ‚Π° стал пСрСнос Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… исходников Π² CVS-ΠΌΠ°Π³Π°Π·ΠΈΠ½ SourceForge. Β«Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ исходного ΠΊΠΎΠ΄Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°Β», — говорится Π½Π° Π²Π΅Π±-сайтС ICI.

GTK — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΎΠ²Π΅ΠΉΡˆΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ICI. Ранняя Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ 3.0 ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ сигналы Π² стилС Unix. Одно ΠΈΠ· ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ ICI — ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ развСртывания; нСсколько фотографичСских ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Canon Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ экзСмпляры ICI.

LPC

Π”ΠΎΠΌΠ°ΡˆΠ½ΡΡ страница LPC ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ LPC — это «нСбольшой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык Ρ‚ΠΈΠΏΠ° C, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Ларсом ΠŸΠ΅Π½ΡΡŒΡ‘ для LP-MUD, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ срСды Dungeon ΠΏΠΎΠ΄ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ систСмами UnixΒ». Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ LPC ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹, ΠΎΡ€ΡƒΠΆΠΈΠ΅, ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² ΠΈ возмоТности.LPC ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ спСциализируСтся Π½Π° MUDding ΠΈ, ΠΏΠΎΡ…ΠΎΠΆΠ΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ сообщСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π©ΡƒΠΊΠ°

LPC Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ΅Π½ для косвСнной Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ самых извСстных Π²Π΅Π±-Π΄Π΅ΠΌΠΎΠ½ΠΎΠ². Π¨ΠΈΡ€ΠΎΠΊΠΎ распространСно, Π½ΠΎ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ, ΠΌΠ½Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Apache являСтся самым ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π²Π΅Π±-сСрвСром. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΎΠ»Π΅Π΅ быстрыС Π²Π΅Π±-Π΄Π΅ΠΌΠΎΠ½Ρ‹, Π½ΠΎ ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ пСрСносимый, ΠΊΠ°ΠΊ ΠΈ Apache, ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Roxen сочСтаСт Π² сСбС всС эти достоинства, ΠΈ основой Π΅Π΅ достиТСний являСтся ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° языкС, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ Pike.ΠœΡ‹ рассмотрСли РоксСна ΠΈ Пайка Π² выпускС Regular Expressions Π² сСрСдинС ноября 1999 Π³ΠΎΠ΄Π°. ШвСдская корпорация Roxen Internet Software AB, стоящая Π·Π° Pike, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»Π° свой Π²Π΅Π±-сайт Π² Π½Π°Ρ‡Π°Π»Π΅ августа 2000 Π³ΠΎΠ΄Π°.

LPC Π²Π΄ΠΎΡ…Π½ΠΎΠ²ΠΈΠ» ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Pike Π² 1994 Π³ΠΎΠ΄Ρƒ, хотя ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Π€Ρ€Π΅Π΄Ρ€ΠΈΠΊ Π₯ΡŽΠ±ΠΈΠ½Π΅Ρ‚Ρ‚ ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Π½Π΅ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ Π½Π° этом ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎ 1996 Π³ΠΎΠ΄Π°.

PiGTK Π² настоящСС врСмя ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ GTK 1.1 ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ сСтСвыС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, ΠΊΠ°ΠΊ DNS, IMAP, SMTP, HTTP, LDAP ΠΈ X.

ΠœΠΈΡ€ программирования — Π±ΠΎΠ³Π°Ρ‚ΠΎΠ΅ мСсто — Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ΡΡŒ C ΠΈ Π΅Π³ΠΎ блиТайшими Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ Π”ΠΈΠ»Π°Π½Π°, ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Python ΠΈΠ»ΠΈ Tcl ΠΈΠ»ΠΈ СвангСлистичСски ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок Perl. Π›ΡŽΠ±ΠΎΠΉ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² C достаточно Π½Π°Π΄Π΅ΠΆΠ΅Π½ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ производствСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, всС ΠΎΠ½ΠΈ доступны бСсплатно, ΠΈ Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΈΡ… синтаксис ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния (Π·Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ). Π’Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΡ… Π½Π° тСст-Π΄Ρ€Π°ΠΉΠ². ΠΠ°ΡΠ»Π°ΠΆΠ΄Π°Ρ‚ΡŒΡΡ.

Π­Ρ‚ΠΎΡ‚ рассказ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сцСнариСв с CΒ» Π±Ρ‹Π» ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½

ITworld.

Copyright Β© 2001 IDG Communications, Inc.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ C

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ C


  • ВыраТСния — это утвСрТдСния, состоящиС ΠΈΠ· констант, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ
    ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ для опрСдСлСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. ВыраТСния
    ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ матСматичСским ΠΈΠ»ΠΈ логичСским.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ «a» ΠΈ «t» — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅,
    Β«3Β» ΠΈ Β«4Β» — константы, Π° Β«=Β» ΠΈ Β«+Β» — ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹.

     
         Π° = 3 + 4Ρ‚
           

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «ΠΈΡΡ‚ΠΈΠ½Π°» ΠΈΠ»ΠΈ
    «Π»ΠΎΠΆΠ½Ρ‹ΠΉ». Π‘Ρ‚Ρ€ΠΎΠΊΠ° exit — это константа, var — пСрСмСнная, Π°
    «(«, «)» ΠΈ «==» — ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹.

     
         ($ var == Π²Ρ‹Ρ…ΠΎΠ΄)
           
  • Π’ сцСнариях ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ выраТСния. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ свои ΠΏΡ€Π°Π²ΠΈΠ»Π°
    для написания Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ. — ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜
    | — ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π˜Π›Π˜ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ
    && — логичСскоС И
    || — логичСскоС Π˜Π›Π˜
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ сцСнарии ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ
    УпраТнСния

Π’ языках сцСнариСв ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ структуры программирования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ «Ссли»
высказывания ΠΈ Β«ΠΏΠ΅Ρ‚Π»ΠΈΒ».Π’Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для C Shell, описаны Π½ΠΈΠΆΠ΅.

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ выраТСния ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ условного выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Если
    ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ оцСниваСтся ΠΊΠ°ΠΊ истина, Ρ‚ΠΎΠ³Π΄Π° СдинствСнная ΠΊΠΎΠΌΠ°Π½Π΄Π° с
    Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ выполняСтся. Команда Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ простой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, Π° Π½Π΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠΌ,
    список ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ список ΠΊΠΎΠΌΠ°Π½Π΄ Π² скобках.

    Бинтаксис:

 
     if (expr) ΠΊΠΎΠΌΠ°Π½Π΄Π° [Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹]
       

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

 
     #! / bin / csh
     if ($ # argv == 0) echo НСт Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²
       

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ логичСским выраТСниям ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ C Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
выраТСния, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² зависимости ΠΎΡ‚ состояния Ρ„Π°ΠΉΠ»Π°.НапримСр:

 
     Ссли (-e myfile) echo myfile ΡƒΠΆΠ΅ сущСствуСт
       

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ выраТСния статуса Ρ„Π°ΠΉΠ»Π°:

 
     d  - Ρ„Π°ΠΉΠ» являСтся Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ΅ΠΉ 
     e  - Ρ„Π°ΠΉΠ» сущСствуСт 
     f  - Ρ„Π°ΠΉΠ» ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» 
     o  - ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π»Π°Π΄Π΅Π΅Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠΌ 
     r  - Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΅ΡΡ‚ΡŒ доступ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ 
     w  - ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²Π° записи Π² Ρ„Π°ΠΉΠ» 
     x  - Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΅ΡΡ‚ΡŒ доступ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ 
     z  - Ρ„Π°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ 0 Π±Π°ΠΉΡ‚ 
       
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ
    Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ УпраТнСния


      Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… условий ΠΈ выполнСния Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ
      ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ.Если ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ истинно, Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ else ΡΠ²Π»ΡΡŽΡ‚ΡΡ
      Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½; Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, Ссли expr2 истинно, Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ else
      Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΈ Ρ‚. Π΄. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ любоС количСство ΠΏΠ°Ρ€ else-if; СдинствСнный
      endif Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ. Π§Π°ΡΡ‚ΡŒ else Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°.

      Π‘Π»ΠΎΠ²Π° else ΠΈ endif Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки;
      if Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈΠ»ΠΈ сразу послС else.

      Бинтаксис:

     
         Ссли (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) Ρ‚ΠΎ
            ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
         ΠΈΠ½Π°Ρ‡Π΅ Ссли (expr2) Ρ‚ΠΎ
            ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
         Π΅Ρ‰Π΅
            ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
         endif
           

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

     
         #! / bin / csh
         Ссли ($ # argv == 0) Ρ‚ΠΎ
            echo «НСт числа для классификации»
         ΠΈΠ½Π°Ρ‡Π΅, Ссли ($ # argv> 0), Ρ‚ΠΎ
            ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ число = $ argv [1]
            if (Π½ΠΎΠΌΠ΅Ρ€ $  
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ
    Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ УпраТнСния


      ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ foreach — это Ρ‚ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ†ΠΈΠΊΠ»Π°.Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ присваиваСтся ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ‡Π»Π΅Π½Ρƒ списка слов ΠΈ
      ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ end.
      И foreach, ΠΈ end Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… строках.

      Бинтаксис:

     
         имя foreach (список слов)
             ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
         ΠΊΠΎΠ½Π΅Ρ†
           

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

     
         #! / bin / csh
         ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ (красный ΠΎΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΉ ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ Π·Π΅Π»Π΅Π½Ρ‹ΠΉ синий)
            эхо $ Ρ†Π²Π΅Ρ‚
         ΠΊΠΎΠ½Π΅Ρ†
           

      ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ while — это Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ†ΠΈΠΊΠ»Π°.ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² Ρ†ΠΈΠΊΠ»Π΅ while / end условно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π° основС
      ΠΏΡ€ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ΅ выраТСния. Π”ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ while, Ρ‚Π°ΠΊ ΠΈ ΠΊΠΎΠ½Π΅Ρ†
      Π² ΠΎΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΡƒ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… строках.

      Бинтаксис:

     
         Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅)
             ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
         ΠΊΠΎΠ½Π΅Ρ†
           

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

     
         #! / bin / csh
         ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ слово = "Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ"
         ΠΏΠΎΠΊΠ° ($ word! = "")
           echo -n "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ слово для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ (Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ для Π²Ρ‹Ρ…ΠΎΠ΄Π°):"
           ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ слово =  $ 
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ
    Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ УпраТнСния


    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСрывания выполнСния Ρ†ΠΈΠΊΠ»Π° foreach ΠΈΠ»ΠΈ while.ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹
    ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ послС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° end, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ
    пСтля. Если Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ строкС, Ρ‡Ρ‚ΠΎ ΠΈ Ρ€Π°Π·Ρ€Ρ‹Π²
    ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Ρ‹Π².
    Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ Ρ€Π°Π·Ρ€Ρ‹Π²Ρ‹, Ссли ΠΈΡ… всС Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС.

     
         ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²
           

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

     
         #! / bin / csh
         ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ число (ΠΎΠ΄ΠΈΠ½, Π΄Π²Π°, Ρ‚Ρ€ΠΈ, Π²Ρ‹Ρ…ΠΎΠ΄, Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅)
           Ссли ($ number == exit), Ρ‚ΠΎ
             эхо достигло Π²Ρ‹Ρ…ΠΎΠ΄Π°
             ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²
           endif
           эхо $ число
         ΠΊΠΎΠ½Π΅Ρ†
           

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСрывания выполнСния Ρ†ΠΈΠΊΠ»Π° foreach ΠΈΠ»ΠΈ while.ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹
    Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ продолТая
    пСтля. Если Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ строкС, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅
    ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅.

     
         ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ
           

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

     
         #! / bin / csh
         ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ число (ΠΎΠ΄ΠΈΠ½, Π΄Π²Π°, Ρ‚Ρ€ΠΈ, Π²Ρ‹Ρ…ΠΎΠ΄, Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅)
           Ссли ($ number == exit), Ρ‚ΠΎ
             эхо достигло Π²Ρ‹Ρ…ΠΎΠ΄Π°
             ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ
           endif
           эхо $ число
         ΠΊΠΎΠ½Π΅Ρ†
           

    ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ goto ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌΡƒΡΡ с
    ΠΌΠ΅Ρ‚ΠΊΠ°:

     
         ΠΌΠ΅Ρ‚ΠΊΠ° goto
           

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

     
         #! / bin / csh
         if ($ # argv! = 1) ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ошибкС 1
         Ссли ($ argv [1]  

      Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ позволяСт Π²Π°ΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡΠ΅Ρ€ΠΈΡŽ тСстов ΠΈ
      условно выполняСмыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° основС значСния строки.Если Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π΅ соотвСтствуСт Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΊΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½Π°, Ρ‚ΠΎΠ³Π΄Π°
      Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ начинаСтся послС ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

      ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ярлык случая ΠΈ ярлык ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π²
      Π½Π°Ρ‡Π°Π»ΠΎ строки. Команда breaksw Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
      ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ послС endw. Π˜Π½Π°Ρ‡Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· корпус
      ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Если ΠΌΠ΅Ρ‚ΠΊΠ° Π½Π΅ совпадаСт ΠΈ Π½Π΅Ρ‚
      ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ продолТаСтся послС endw.

      Бинтаксис:

     
         ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ (строка)
         case str1:
           ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
           ломаСтся
         case str2:
           ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
           ломаСтся
         ...
         По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:
           ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
           ломаСтся
         ΠΊΠΎΠ½Π΅Ρ†
           

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

     
         #! / bin / csh
         Ссли ($ # argv == 0) Ρ‚ΠΎ
            echo "АргумСнты Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ... Π²Ρ‹Ρ…ΠΎΠ΄"
            Π²Ρ‹Ρ…ΠΎΠ΄ 1
         Π΅Ρ‰Π΅
            ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ ($ argv [1])
            case [yY] [eE] [sS]:
              echo АргумСнт ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ - Π΄Π°.
              ломаСтся
            case [nN] [oO]:
              echo АргумСнт ΠΎΠ΄ΠΈΠ½ - Π½Π΅Ρ‚.
              ломаСтся
            По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:
              echo ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ - Π½ΠΈ Π΄Π°, Π½ΠΈ Π½Π΅Ρ‚.
              ломаСтся
            ΠΊΠΎΠ½Π΅Ρ†
         endif
           
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ
    Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ УпраТнСния


    ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ onintr ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ (CTRL-C)
    сцСнарий ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдаСтся Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ выписки
    с этикСткой:

    ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΠΉ очистки Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°
    ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Ρ€Π²Π°Π½Π°.

     
         этикСтка onintr
           

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

     
         #! / bin / csh
         onintr Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ
         Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ (1 == 1)
           эхо ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π°
           ΡΠΏΠ°Ρ‚ΡŒ 2
         ΠΊΠΎΠ½Π΅Ρ†
    
         Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ:
         echo ΠšΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
    
           

    НиТС описаны Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ программирования Π½Π° C Shell.

     
         #! / bin / csh
         ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ opt = -l
         ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ x1 = 'ls $ opt'
         эхо $ x1
         ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ x2 = "ls $ opt"
         эхо $ x2
    
      ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄: 
         ls $ opt
         ls -l
           

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: ГСнСрация ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°

     
         #! / bin / csh
         ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ls1 = 'Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹: [a-z] *'
         эхо $ ls1
    
         ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ls2 = "Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹: [a-z] *"
         эхо $ ls2
    
      ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° (ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ): 
         Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹: csh.html изобраТСния man Ρ€Π°Π·Π½ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹
         Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹: csh.html изобраТСния Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Ρ€Π°Π·Π½ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹
           

    ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ для получСния Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.
    Π² ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…. Π­Ρ‚ΠΎΡ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сохранСн Π²
    пСрСмСнная массива. Π—Π°Ρ‚Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ проиндСксирован ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠ°ΠΊ
    ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ.

     
         ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ = `ΠΊΠΎΠΌΠ°Π½Π΄Π°`
           

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

     
         #! / bin / csh
         ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ date_fields = `date`
         эхо $ date_fields
         echo $ date_fields [1]
         echo $ date_fields [2]
         ΠΏΠΎΠ»Π΅ foreach (`Π΄Π°Ρ‚Π°`)
           echo $ field
         ΠΊΠΎΠ½Π΅Ρ†
    
      ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π°: 
         Π§Ρ‚, 9 ΠΌΠ°Ρ€Ρ‚Π°, 22:25:45 HST 1995
         Π§Ρ‚
         ΠœΠ°Ρ€
         Π§Ρ‚
         ΠœΠ°Ρ€
         9
         22:25:45
         HST
         1995 Π³.
           

    Π’ зависимости ΠΎΡ‚ вашСй систСмы Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ «$
    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ «$

     
         ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ =  $ 

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

     
         #! / bin / csh
         echo -n Π’Π²Π΅Π΄ΠΈΡ‚Π΅ своС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:
         ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ input =  $ 

    На этом ΡƒΡ€ΠΎΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½.Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ
    ОглавлСниС


  • Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² grass Valley :: ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ скриптов C #

    Главная> API> AppServer API> ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹> РСсурсы> ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ сцСнариСв C #

    ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° CS-Script — Π²Π΅Π±-сайт C # Script Engine.

    CS-Script (произносится ΠΊΠ°ΠΊ C-sharp script) — это систСма сцСнариСв Π½Π° основС CLR (Common Language Runtime), которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ECMA-совмСстимый C # Π² качСствС языка программирования. Он сочСтаСт Π² сСбС ΠΌΠΎΡ‰ΡŒ ΠΈ богатство C # с Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ систСмы сцСнариСв.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ C #, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ прСимущСства CS-Script , прСдоставляя ΠΊΠΎΠ΄ K2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° C #. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ DOS ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сцСнарий Ρ‚Π°ΠΊ ΠΆΠ΅ просто, ΠΊΠ°ΠΊ это:

     C: \> cscs.exe PlayClip.cs 

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти ΠΎΠ±Ρ€Π°Π·Ρ†Ρ‹, Π²Π°ΠΌ сначала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ:

    1. Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ Π½Π° ПК, Π° Π½Π΅ Π½Π° K2, установитС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Control Point Π½Π° свой ПК.

    2. Π—Π°Ρ‚Π΅ΠΌ установитС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС CS-Script :

    • Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ cs-скрипт.zip. РаспакуйтС Π΅Π³ΠΎ Π² Β«C: \ Program FilesΒ». Π‘ΡƒΠ΄Π΅Ρ‚ создан Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«C: \ Program Files \ cs-scriptΒ».
    • Π—Π°Ρ‚Π΅ΠΌ запуститС «C: \ Program Files \ cs-script \ css_config.exe». Π­Ρ‚ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ систСмной срСды ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ консоль ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΒ».
    • Для удалСния запуститС Β«C: \ Program Files \ cs-script \ config.batΒ» ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π”Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠžΠ±Ρ‰ΠΈΠ΅Β» Π² консоли ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ Π»ΡŽΠ±Ρ‹Π΅ измСнСния, внСсСнныС установкой CS-Script.

    3. (ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ) УстановитС тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, подходящий для рСдактирования ΠΊΠΎΠ΄Π° (рСкомСндация: Notepad ++.)

    4. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ любой ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Β«c: \ profileΒ», Π·Π°Ρ‚Π΅ΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС DOS запуститС: Β«cscs.exeΒ»

    Summit Samples:

    LivePlay.cs ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ записываСмый Π²ΠΆΠΈΠ²ΡƒΡŽ ΠΊΠ»ΠΈΠΏ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… 0,5 сСкунды ΠΎΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ записи.
    FlyingMixEffects.cs ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ эффСкты Β«Π»Π΅Ρ‚Π°ΡŽΡ‰Π΅Π³ΠΎ микса» ΠΌΠ΅ΠΆΠ΄Ρƒ контСкстами ΠΏΠ΅Ρ€Π΅Π΄Π½Π΅Π³ΠΎ ΠΈ Π·Π°Π΄Π½Π΅Π³ΠΎ ΠΏΠ»Π°Π½Π° ΠΊΠ°Π½Π°Π»Π°.
    PlaylistMixEffects.cs ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список воспроизвСдСния с ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΠΈ эффСктов ΠΌΠΈΠΊΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΈ событий.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: (Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ здСсь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ всС ΠΎΠ±Ρ€Π°Π·Ρ†Ρ‹)

    ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ

    созданиС списка воспроизвСдСния

    Ѐайл ОписаниС
    HelloWorld.cs базовая дСмонстрационная ΠΊΠΎΠΌΠ°Π½Π΄Π° C # скрипта Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ строки, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π°, ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ тСкста ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊΠΎΠ΄Π° Π²Ρ‹Ρ…ΠΎΠ΄Π°
    BasicK2Connection.cs скрипт, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ шаги ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ K2. Он ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ основныС Π²Ρ‹Π·ΠΎΠ²Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹.
    K2ScriptTemplate.cs Π»ΡƒΡ‡ΡˆΠΈΠΉ шаблон сцСнария ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ K2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ инкапсулируСт нСсколько Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
    GetSystemStatus.cs ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ статус систСмы
    LogMessage.cs Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сообщСниС
    PlayClip.cs воспроизвСсти ΠΊΠ»ΠΈΠΏ
    RecordClip.cs Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ»ΠΈΠΏ
    ScheduledPlay.cs воспроизвСсти ΠΊΠ»ΠΈΠΏ Π² Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ врСмя
    ScheduledRecord.cs Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ»ΠΈΠΏ Π² Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ врСмя
    CopyClip.cs ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠΏ
    DeleteClip.cs ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠ»ΠΈΠΏ
    TransferaClip.cs ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠΏ
    GetVersion.cs ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ вСрсии систСмы
    GetDiskSpace.cs ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ мСсто Π½Π° дискС
    GetChannelOwner.cs ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ ΠΊΠ°Π½Π°Π»Π°
    GetAssetProperties. GetChannelProperties.cs ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свойства ΠΊΠ°Π½Π°Π»Π°
    CreateBin.cs ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Π·ΠΈΠ½Ρƒ
    GetXmlChanges.cs ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ XML
    ClipCacheCalls.cs дСмонстрируСт Π²Ρ‹Π·ΠΎΠ²Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для эффСктивного создания кэша ΠΊΠ»ΠΈΠΏΠΎΠ²
    EnumerateVolumes.cs пСрСчислСниС Ρ‚ΠΎΠΌΠΎΠ²
    MonitorTransfers.cs ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°
    PlayList

    RecordAndRenameClip.cs запись ΠΊΠ»ΠΈΠΏΠ°, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠΏΠ°
    viewmovie.cs просмотр Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ„ΠΈΠ»ΡŒΠΌΠ°
    GetTimecode.cs ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ‚Π°ΠΉΠΌ-ΠΊΠΎΠ΄ ΠΏΠ»Π΅Π΅Ρ€Π°
    InsertEditTwoHead.cs дСмонстрируСт, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ вставку рСдактирования ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π΅ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ для воспроизвСдСния
    PlayerCreateSubclip.cs ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠ»ΠΈΠΏ ΠΈΠ· ΠΊΠ»ΠΈΠΏΠ°
    MediaMgrCreateSubclip.cs ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΠΈΠΏ ΠΈΠ· ΠΊΠ»ΠΈΠΏΠ°, НЕ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ
    ImportDeleteTracks.cs ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΈ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ Π² ΠΊΠ»ΠΈΠΏΠ΅.cs ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ, Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠ»ΠΈΠΏ.
    LoadSaveConfig. cs ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈΠ· ΠΈΠ»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² локальном Ρ„Π°ΠΉΠ»Π΅.
    SetAssetARC.cs устанавливаСт ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ сторон для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΏΠ°.
    GenerateAsRunLog.cs ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» выполнСния ΠΏΡƒΡ‚Π΅ΠΌ Π°Π½Π°Π»ΠΈΠ·Π° Ρ„Π°ΠΉΠ»Π° ΠΆΡƒΡ€Π½Π°Π»Π° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ воспроизвСдСнных ΠΊΠ»ΠΈΠΏΠΎΠ².
    DisplayPlayedAssets.cs ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ воспроизвСдСнных рСсурсов Π² спискС воспроизвСдСния.
    GetSetTrackLabels.cs ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ установка ΠΌΠ΅Ρ‚ΠΎΠΊ Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ ΠΊΠ»ΠΈΠΏΠ°.
    GetInfoFromClipXML.cs ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· XML-прСдставлСния ΠΊΠ»ΠΈΠΏΠ°.
    SplitAndCombineEdits.cs ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ измСнСния ΠΊΠ»ΠΈΠΏΠ°

    Архивы Matt Center — сцСнарии Studio C

    Π—Π΄Π΅ΡΡŒ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ EPUB всСх Ρ‚ΠΎΠΌΠΎΠ² Studio C.

    Π’Ρ‹Π±ΠΎΡ€ Π—Π½Π°Ρ‡ΠΎΠΊ Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»Π° Имя Ρ„Π°ΠΉΠ»Π° ОписаниС Π Π°Π·ΠΌΠ΅Ρ€ ВСрсия ВрСмя ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ

    Δ‹

    The Complete Studio C.epub
    Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ
    651k v. 1 25 фСвраля 2017 Π³., 15:16 Π‘Ρ€Π΅Π΄Π΅Π½ Π₯ΠΈΠ½Ρ‚Ρ†Π΅
    Ċ Полная студия C.pdf
    ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ
    2384k v. 1 25 фСвраля 2017 Π³., 15:16 Π‘Ρ€Π΅Π΄Π΅Π½ Π₯ΠΈΠ½Ρ‚Ρ†Π΅

    Δ‹

    Π’. 1, Classic Studio C.epub
    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ
    424k v. 1 25 фСвраля 2017 Π³., 15:17 Π‘Ρ€Π΅Π΄Π΅Π½ Π₯ΠΈΠ½Ρ‚Ρ†Π΅
    Ċ В. 1, Classic Studio C.pdf
    ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ
    1762k v.1 25 фСвраля 2017 Π³., 15:17 Π‘Ρ€Π΅Π΄Π΅Π½ Π₯ΠΈΠ½Ρ‚Ρ†Π΅

    Δ‹

    Π’. 2, Vocational Studio C.epub
    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ
    380k v. 1 25 фСвраля 2017 Π³., 15:17 Π‘Ρ€Π΅Π΄Π΅Π½ Π₯ΠΈΠ½Ρ‚Ρ†Π΅
    Ċ Π’. 2, ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ студия C.pdf
    ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ
    1621ΠΊ v. 1 25 фСвраля 2017 Π³., 15:17 Π‘Ρ€Π΅Π΄Π΅Π½ Π₯ΠΈΠ½Ρ‚Ρ†Π΅

    Δ‹

    Π’.3, Official Studio C.epub
    Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ
    451k v. 1 18 апрСля 2017 Π³., 00:48 Π‘Ρ€Π΅Π΄Π΅Π½ Π₯ΠΈΠ½Ρ‚Ρ†Π΅
    Ċ В. 3, Official Studio C.pdf
    ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ
    1853k v. 1 18 апрСля 2017 Π³., 00:48 Π‘Ρ€Π΅Π΄Π΅Π½ Π₯ΠΈΠ½Ρ‚Ρ†Π΅

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ сцСнариСв

    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ

    ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π² Echoview, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹ Π±Ρ‹ выполняли Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.Π­Ρ‚ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ создания Ρ„Π°ΠΉΠ»ΠΎΠ² Echoview Π΄ΠΎ экспорта ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ИспользованиС сцСнариСв для выполнСния этих Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ вашС Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½ΠΎΠ΅ врСмя.

    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ

    ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ написаны Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках программирования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Visual Basic, Python, Java, C ++, MATLAB ΠΈΠ»ΠΈ R, ΠΈ это лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…. Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ, ΠΈΠ»ΠΈ для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ аспСкту написания сцСнариСв, ΡΠ²ΡΠΆΠΈΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ наша Π³Ρ€ΡƒΠΏΠΏΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² написании сцСнариСв Π½Π° языках, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ Visual Basic ΠΈΠ»ΠΈ C ++.

    ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ трСбуСтся для запуска сцСнариСв с Echoview.

    Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС Β«Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² созданиС сцСнариСв COMΒ» доступно Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈΒ».

    НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ сцСнариСв, прСдоставлСнных Echoview Software, Π° Ρ‚Π°ΠΊΠΆΠ΅ ссылки Π½Π° ΠΊΠΎΠ΄, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Echoview Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Π±-сайтах. Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± этом ΠΊΠ°ΠΊ ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Echoview ΠΈ синтаксиса языка программирования Π² дСйствии, ΠΏΡ€ΠΈΠ·Π²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ Π² написании Π²Π°ΡˆΠΈΡ… собствСнных сцСнариСв. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² зависимости ΠΎΡ‚ настроСк вашСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΏΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π½ΠΈΠΆΠ΅ ссылкам сцСнария Π»ΠΈΠ±ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ сцСнарий нСпосрСдствСнно Π² вашСм Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Π»ΠΈΠ±ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сцСнарий.Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈΒ»> Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒβ€¦Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ сцСнарий Π½Π° свой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ Π² слуТбу ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Echoview, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ссылку Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Π½Π° ваш сайт.


    Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ прСдоставлСны Echoview

    EV script 001 — НовыС Ρ„Π°ΠΉΠ»Ρ‹ EV для ΠΏΠ°ΠΏΠΊΠΈ data.vbs (VBScript)
    • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Echoview ΠΏΡƒΡ‚Π΅ΠΌ добавлСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ сырых Π΄Π°Π½Π½Ρ‹Ρ…
    • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠΎΠ½ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° (для Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ°ΠΏΠΎΠΊ назначСния ΠΈ Ρ‚. Π”.)
    • Экспорт строки
    • ЦикличСскиС дСйствия Π² Visual Basic (ядро сцСнария — Ρ†ΠΈΠΊΠ» Β«ForΒ» — находится Π² строках 302-327)
    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ EV 002 — ИзмСнСниС свойств ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ… EV. Vbs (VBScript)
    • Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² ev
    • Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ нСсколько ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ev
    • Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свойства ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, настройки сСтки)
    • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» EV
    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ EV 003 — Π’Ρ‹Π±ΠΎΡ€ ΠΈ экспорт строк Π²ΠΎ всСх Ρ„Π°ΠΉΠ»Π°Ρ… EV Π² ΠΏΠ°ΠΏΠΊΠ΅.vbs (VBScript)
    • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» EV ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ
    • Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ нСсколько ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
    • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ строку для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
    • Экспорт строк Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ csv
    • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» EV
    • ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² EV Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅
    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ EV 004 — Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ мСстополоТСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎ всСм Ρ„Π°ΠΉΠ»Π°ΠΌ EV Π² ΠΏΠ°ΠΏΠΊΠ΅. Vbs (VBScript)
    • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» EV ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ
    • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ запись Π² Бвойства Ρ„Π°ΠΉΠ»Π° EV> Π€Π°ΠΉΠ»Ρ‹ EV> РасполоТСниС Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…
    • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» EV
    • ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² EV Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅
    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ EV 005 — ОбновлСниС Ρ„Π°ΠΉΠ»ΠΎΠ² EVI для всСх Ρ„Π°ΠΉΠ»ΠΎΠ² EV Π² ΠΏΠ°ΠΏΠΊΠ°Ρ….vbs (VBScript)
    • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» EV ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ
    • ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ считайтС всС Ρ„Π°ΠΉΠ»Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ»Π΅ EV для восстановлСния Ρ„Π°ΠΉΠ»ΠΎΠ² EVI
    • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» EV
    • ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² EV Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅
    • ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² EV Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠ°Ρ… ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ
    EV скрипт 006 — Π˜ΠΌΠΏΠΎΡ€Ρ‚, ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ строки. Vbs (VBScript)
    • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» EV
    • Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строку.Когда строки ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, ΠΈΠΌ даСтся имя ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Line n).
    • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ строку
    • ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ строку
    • Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ строку ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ строкой
    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ EV 007 — Новый Ρ„Π°ΠΉΠ» EV с использованиСм шаблона, обнаруТСния ΠΈ экспорта слСдов Ρ€Ρ‹Π±Ρ‹ (VBScript)
    • Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» EV ΠΈΠ· шаблона
    • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ количСство Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ
    • ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ слСдов Ρ€Ρ‹Π±Ρ‹ ΠΏΠΎ Π½ΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
    • Анализ области экспортных Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ
    • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» EV
    • ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…
    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ EV 008 — Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ EV.vbs (VBScript)
    • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» EV
    • Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ
    • Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
    • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» EV
    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ EV 009 — Π˜ΠΌΠΏΠΎΡ€Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» EV. Vbs (VBScript)
    • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» EV
    • Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° EV
    • Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
    • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» EV
    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ EV 010 — Новый Ρ„Π°ΠΉΠ» EV с использованиСм шаблона, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, созданиС строк.py (Python)
    • Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» EV ΠΈΠ· шаблона
    • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΏΠΊΡƒ
    • Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ настройки обнаруТСния Π΄Π½Π°
    • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΉ с фиксированной Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ ΠΈ Π΄Π½ΠΎΠΌ
    • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» EV
    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ EV 011 — Π£ΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» EV ΠΈ связанныС Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΎΠΌ.m (Matlab)
    • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» EV
    • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² Ρ„Π°ΠΉΠ» EV
    • Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» EV ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½ΠΎΠ²ΠΎΠ΅ мСсто
    EV скрипт 012 — Новый Ρ„Π°ΠΉΠ», Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, созданиС строки, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ настроСк, экспорт.r (R)
    • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» EV ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ»
    • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
    • Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ линию с фиксированной Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ линию
    • Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свойства ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
    • Экспорт ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ
    • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» EV
    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ EV 013 — Экспорт ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ эхограммы для всСх Ρ„Π°ΠΉΠ»ΠΎΠ² EV Π² ΠΏΠ°ΠΏΠΊΠ΅. Vbs (VBScript)
    • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ для Π²Π²ΠΎΠ΄Π° мСстополоТСния Ρ„Π°ΠΉΠ»ΠΎΠ² EV
    • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ для Π²Π²ΠΎΠ΄Π° мСста для сохранСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
    • Экспорт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ EV Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
    • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» EV
    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ EV 014 — Экспорт ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ эхограммы для всСх Ρ„Π°ΠΉΠ»ΠΎΠ² EV Π² ΠΏΠ°ΠΏΠΊΠ΅.ΠΌ (Matlab)
    • ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ сцСнария EV Π² Matlab 013
    EV скрипт 015 — ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Echoview.txt (Perl — ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π½Π° .pl послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ)
    • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Echoview
    • НомСр вСрсии запроса Echoview
    • Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Echoview
    Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ EV 016 — ОбъСдинСниС COM ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ интСрфСйса для измСнСния свойств ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Vbs (VBScript)
    • ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» EV с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ COM
    • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ интСрфСйс, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всС акустичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
    • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ интСрфСйс, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСдоступСн для COM
    • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» EV с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ COM

    Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… сайтах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ подСлились ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Echoview

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Echoview Software Π½Π΅ нСсСт отвСтствСнности Π·Π° скрипты, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Π±-сайтах.

    ΠŸΠ°ΠΊΠ΅Ρ‚ R EchoviewR — бСсплатный интСрфСйс ΠΌΠ΅ΠΆΠ΄Ρƒ Echoview ΠΈ R с использованиСм сцСнариСв COM
    • EchoviewR — это бСсплатный ΠΈ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дСйствуСт ΠΊΠ°ΠΊ интСрфСйс ΠΌΠ΅ΠΆΠ΄Ρƒ R ΠΈ Echoview, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Австралийским антарктичСским ΠΎΡ‚Π΄Π΅Π»ΠΎΠΌ.
    R & Echoview
    • Π Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ совСты ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ для доступа ΠΊ COM Echoview с использованиСм R.
    saildrone-2018
    • ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Simrad WBAT-mini, собранных с Saildrone, ΠΊΠ°ΠΊ описано Π² Levine et al.(2020).
    IMOS-Bioacoustics

    ΠŸΠΎΠ»ΠΎΠ»Ρƒ — 6.с. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ сцСнариСв

    Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΠΌΠΈΠ³Π°Π΅Ρ‚ свСтодиод

    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ сцСнарий заставит красный свСтодиод Π½Π° Maestro ΠΌΠΈΠ³Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² сСкунду:

    # ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ свСтодиод ΠΌΠΈΠ³Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² сСкунду.
    Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      led_on
      100 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      led_off
      900 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ 

    РСкомСндуСтся ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· этот сцСнарий, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π΅Ρ‰Π΅ со сцСнариями Π² Maestro.Π’ частности, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«100Β» ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ число 100 Π² стСк, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° DELAY ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ это число. Π’ языкС сцСнариСв Maestro Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ всСгда Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² стСк ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎ заставляСт язык ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ отсталым ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ мноТСством Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов. НапримСр, эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° эквивалСнтна ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅:

    # ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ свСтодиод ΠΌΠΈΠ³Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² сСкунду.Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      900 100
      led_on Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      led_off Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ 

    Числа ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² стСк Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ†ΠΈΠΊΠ»Π°, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° порядок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… здСсь чисСл: 900 помСщаСтся Π² стСк сначала , ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ послСдним .

    ΠŸΡ€ΠΎΡΡ‚Π°Ρ сСрво-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ сцСнарий ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сСрвопривод 0 Π² ΠΏΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Ρ†ΠΈΠΊΠ»Π΅.

    # ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ сСрво 0 Π² ΠΏΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Ρ†ΠΈΠΊΠ»Π΅.Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      4000 0 сСрво # ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСрво ΠΎΡ‚ 0 Π΄ΠΎ 1,00 мс
      500 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      5000 0 сСрво # 1,25 мс
      500 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      6000 0 сСрво # 1,50 мс
      500 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      7000 0 сСрво # 1,75 мс
      500 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      8000 0 сСрво # 2,00 мс
      500 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ 

    ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн , Π° Π½Π΅ для опрСдСлСния скорости ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ этот сцСнарий Ρ€Π°Π±ΠΎΡ‚Π°Π». Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ опрСдСлСния скорости ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Maestro Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ сСрво Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ стартовый Π±Π°ΠΉΡ‚.

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ полоТСния сСрвопривода ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… 0.25 мкс, поэтому Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 4000 соотвСтствуСт 1 мс. ВСкст послС # — это ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ; ΠΎΠ½ Π½Π΅ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° устройствС, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π₯ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для слоТных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π—ΠΠ”Π•Π Π–ΠšΠ˜; Π±Π΅Π· Π½ΠΈΡ… сцСнарий Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрво-ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, выполняя Ρ†ΠΈΠΊΠ» сотни Ρ€Π°Π· Π² сСкунду.

    Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

    ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 58 Π±Π°ΠΉΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ пространства: 11 Π±Π°ΠΉΡ‚ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ сСрвопривода ΠΈ 3 Π±Π°ΠΉΡ‚Π° для Ρ†ΠΈΠΊΠ»Π°.ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ скорости ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄ΠΎ 92 сСрвопозиций Π² 1024-Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΉ памяти Micro Maestro ΠΈΠ»ΠΈ 744 сСрвопозиции Π² 8192-Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΉ памяти Mini Maestros. Π§Ρ‚ΠΎΠ±Ρ‹ максимально эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, сущСствуСт мноТСство способов сТатия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НаиболСС Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ . НапримСр, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ повторяСм инструкции Β«0 servo 500 delayΒ» нСсколько Ρ€Π°Π·, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для экономии мСста. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя это ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ внСсСниС Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ скорости всСй ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

    # ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ сСрво 0 Π² ΠΏΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Ρ†ΠΈΠΊΠ»Π΅.
    Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      4000
      Π Π°ΠΌΠΊΠ°
      5000
      Π Π°ΠΌΠΊΠ°
      6000
      Π Π°ΠΌΠΊΠ°
      7000
      Π Π°ΠΌΠΊΠ°
      8000
      Π Π°ΠΌΠΊΠ°
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
    
    ΠΏΠΎΠ΄Ρ€Π°ΠΌΠ½ΠΈΠΊ
      0 сСрвопривод
      500 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 

    ИспользованиС ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сокращаСт Ρ€Π°Π·ΠΌΠ΅Ρ€ сцСнария Π΄ΠΎ 31 Π±Π°ΠΉΡ‚Π°: 4 Π±Π°ΠΉΡ‚Π° Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈ 11 Π±Π°ΠΉΡ‚ΠΎΠ² слуТСбных Π΄Π°Π½Π½Ρ‹Ρ… для Ρ†ΠΈΠΊΠ»Π° ΠΈ опрСдСлСния FRAME. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΉΡ‚ΠΈ дальшС: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° скомпилированного ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для помСщСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ числа Π² стСк трСбуСтся 3 Π±Π°ΠΉΡ‚Π°: ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚ Π² качСствС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π΄Π²Π° для Π΄Π²ΡƒΡ…Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ числа.Числа ΠΎΡ‚ 0 Π΄ΠΎ 255 ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π² стСк всСго двумя Π±Π°ΠΉΡ‚Π°ΠΌΠΈ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² нашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π°ΠΌ Π½Π΅ трСбуСтся ΠΏΠΎΠ»Π½ΠΎΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ устройства 0,25 мкс, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС наши настройки ΠΊΡ€Π°Ρ‚Π½Ρ‹ 100. Π’ΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ мСньшиС числа для сохранСния Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π°:

    # ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ сСрво 0 Π² ΠΏΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Ρ†ΠΈΠΊΠ»Π΅.
    Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      40 ΠΊΠ°Π΄Ρ€ΠΎΠ²
      50 ΠΊΠ°Π΄Ρ€ΠΎΠ²
      60 ΠΊΠ°Π΄Ρ€ΠΎΠ²
      70 ΠΊΠ°Π΄Ρ€
      80 ΠΊΠ°Π΄Ρ€
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
    
    # Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΊΠ°Π΄Ρ€, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… 25 us
    ΠΏΠΎΠ΄Ρ€Π°ΠΌΠ½ΠΈΠΊ
      100 Ρ€Π°Π·
      0 сСрвопривод
      500 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 

    Π”Π»ΠΈΠ½Π° этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ составляСт 29 Π±Π°ΠΉΡ‚ΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 3 Π±Π°ΠΉΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈ 14 Π±Π°ΠΉΡ‚ΠΎΠ² слуТСбных Π΄Π°Π½Π½Ρ‹Ρ….ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ​​ТС ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, Ссли Π±Ρ‹ использовали ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ SERVO_8BIT, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ 0 Π΄ΠΎ 254. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΉΡ‚ΠΈ Π΅Ρ‰Π΅ мСньшС, слоТив всС числа вмСстС:

    # ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ сСрво 0 Π² ΠΏΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Ρ†ΠΈΠΊΠ»Π΅.
    Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      80 70 60 50 40
      Ρ€Π°ΠΌΠ° Ρ€Π°ΠΌΠ° Ρ€Π°ΠΌΠ° Ρ€Π°ΠΌΠ°
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
    
    # Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΊΠ°Π΄Ρ€, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… 25 us
    ΠΏΠΎΠ΄Ρ€Π°ΠΌΠ½ΠΈΠΊ
      100 Ρ€Π°Π·
      0 сСрвопривод
      500 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 

    Если Π²Ρ‹ ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ вСрсии, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ всС ΠΏΡΡ‚ΡŒ чисСл ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² стСк Π·Π° ΠΎΠ΄ΠΈΠ½ шаг: это ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ компилятор ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для помСщСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… чисСл Π² стСк.ИспользованиС ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… чисСл экономит мСсто: Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ всСго 26 Π±Π°ΠΉΡ‚. Волько 12 Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для 5 ΠΊΠ°Π΄Ρ€ΠΎΠ², Π² срСднСм 2,4 Π±Π°ΠΉΡ‚Π° Π½Π° ΠΊΠ°Π΄Ρ€. ВСроятно, это достаточно ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎ — дублируя эту структуру, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ 420 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π² 1024-Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΉ памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Micro Maestro. Однако ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ мСньшС. Рассмотрим этот сцСнарий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 31 ΠΊΠ°Π΄Ρ€ для ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ двиТСния Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ Π½Π°Π·Π°Π΄:

    # ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ сСрвопривод ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½ΠΎ ΠΎΡ‚ 1 Π΄ΠΎ 2 мс.Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      60 64 68 71 74 77 79 80 80 79 78 76 73 70 66 62
      58 54 50 47 44 42 41 40 40 41 43 46 49 52 56
      all_frames
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
    
    sub all_frames
      Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
        Π³Π»ΡƒΠ±ΠΈΠ½Π°
      ΠΏΠΎΠΊΠ°
        100 Ρ€Π°Π·
        0 сСрвопривод
        100 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 

    Π’ этой вСрсии ΠΊΠΎΠ΄Π° ΠΌΡ‹ пСрСписали ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ FRAME, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ DEPTH для автоматичСской Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈΠ· стСка Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ останСтся Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π°. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 34 Π±Π°ΠΉΡ‚Π° для хранСния 31 ΠΊΠ°Π΄Ρ€Π°, Π² срСднСм всСго 1,1 Π±Π°ΠΉΡ‚Π° Π½Π° ΠΊΠ°Π΄Ρ€. ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ 900 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π² памяти Micro Maestro, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π°ΠΊΠΎΠΉ сцСнарий.

    Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π²Π½Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ GET_MOVING_STATE

    Настройки скорости ΠΈ ускорСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΏΠ»Π°Π²Π½Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Maestro. Однако общая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, сколько Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°Π΄Ρ€Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сСрвопривод достиг своСго ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ полоТСния. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ GET_MOVING_STATE для создания ΠΏΠ»Π°Π²Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ вмСсто DELAY:

    # Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ускорСниС для ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ
    # Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ Π½Π°Π·Π°Π΄ ΠΎΡ‚ 1 Π΄ΠΎ 2 мс.3 0 ускорСниС
    30 0 ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ
    
    Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      4000 0 сСрво # ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСрво ΠΎΡ‚ 0 Π΄ΠΎ 1,00 мс
      moving_wait
      8000 0 сСрво # 2,00 мс
      moving_wait
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
    
    sub moving_wait
      Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
        get_moving_state
      ΠΏΠΎΠΊΠ°
        # ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅, ΠΏΠΎΠΊΠ° ΠΎΠ½ пСрСстанСт Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ
      ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 

    GET_MOVING_STATE Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 1, Ссли Π΅ΡΡ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ сСрвопривод, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ настройкой скорости ΠΈΠ»ΠΈ ускорСния, всС Π΅Ρ‰Π΅ двиТущийся, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ остановки всСго двиТСния, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡˆΠ°Π³Ρƒ скрипта. .

    ИспользованиС Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ…ΠΎΠ΄Π° для управлСния сСрвоприводами

    Π’Π°ΠΆΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Maestro являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для считывания Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… устройств. Π’ качСствС простого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ для управлСния ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ сСрвопривода. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ напряТСния ΠΌΠ΅ΠΆΠ΄Ρƒ 5 Π’ ΠΈ 0, с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΊ ΠΊΠ°Π½Π°Π»Ρƒ 1. НастройтС ΠΊΠ°Π½Π°Π» 1 ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ сигнал Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «БостояниС» Π² Π¦Π΅Π½Ρ‚Ρ€Π΅ управлСния Maestro.Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ полоТСния измСняСтся ΠΎΡ‚ 0 Π΄ΠΎ 255 мкс, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ стороны Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ. Π’ вашСм сцСнарии этот Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ соотвСтствуСт числам ΠΎΡ‚ 0 Π΄ΠΎ 1023. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это число ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° сСрвопривода, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сСрвопривода Π½Π° это число, всС Π² Ρ†ΠΈΠΊΠ»Π΅:

    # УстанавливаСт сСрво 0 Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° основС Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ…ΠΎΠ΄Π°.
    Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      1 get_position # ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Π°Π½ΠΊΠ°, 0-1023
      4 Ρ€Π°Π·Π° 4000 плюс # ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΄ΠΎ 4000-8092, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 1-2 мс
      0 сСрво # ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСрво 0 Π½Π° основС значСния
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ 

    Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сСрвопривод ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠ» Π² дискрСтныС полоТСния Π² зависимости ΠΎΡ‚ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния:

    # УстановитС сСрвопривод Π½Π° 4000, 6000 ΠΈΠ»ΠΈ 8000 Π² зависимости ΠΎΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ…ΠΎΠ΄Π°.Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      1 get_position # ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Π°Π½ΠΊΠ°, 0-1023
      dup 300 less_than
      Ссли
        4000 # ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ 4000 для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 0-299
      Π΅Ρ‰Π΅
        dup 600 less_than
        Ссли
          6000 # ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ 6000 для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 300-599
        Π΅Ρ‰Π΅
          8000 # ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ 8000 для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 600-1023
        endif
      endif
      0 сСрвопривод
      drop # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ копию значСния Π±Π°Π½ΠΊΠ°
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ 

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΡˆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ 300 ΠΈΠ»ΠΈ 600, ΡˆΡƒΠΌ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ сСрвопривод Π±ΡƒΠ΄Π΅Ρ‚ бСспорядочно ΠΏΡ€Ρ‹Π³Π°Ρ‚ΡŒ Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ Π½Π°Π·Π°Π΄.Π›ΡƒΡ‡ΡˆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с гистСрСзисом:

    # УстановитС сСрвопривод Π½Π° 4000, 6000 ΠΈΠ»ΠΈ 8000 Π² зависимости ΠΎΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ…ΠΎΠ΄Π° с гистСрСзисом.
    Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      4000 0300 servo_range
      6000 300 600 Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ сСрвопривода
      8000600 1023 servo_range
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
    
    # использованиС:    servo_range
    # Если Π±Π°Π½ΠΊ находится Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ low ΠΈ high,
    # ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сСрво 0 Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΏΠΎΠΊΠ° Π³ΠΎΡ€ΡˆΠΎΠΊ Π½Π΅ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΈΠ· этого
    # Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, с гистСрСзисом.
    sub servo_range
      Π³ΠΎΡ€ΡˆΠΎΠΊ 2 Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ мСньшС_Ρ‚Π΅ΠΌ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ_Π½Π΅ #> = Π½ΠΈΠ·ΠΊΠΈΠΉ
      Π³ΠΎΡ€ΡˆΠΎΠΊ 2 Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ большС_Ρ‚Π΅ΠΌ логичСскоС_Π½Π΅ # <= высокоС
      логичСскоС_ΠΈ
      Ссли
        Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
          Π±Π°Π½ΠΊ 2 Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ 10 минус мСньшС_ Ρ‡Π΅ΠΌ логичСскоС_Π½Π΅ #> = Π½ΠΈΠ·ΠΊΠΎΠ΅ - 10
          Π±Π°Π½ΠΊ 2 Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ 10 плюс большС_Ρ‚Π΅ΠΌ логичСскоС_Π½Π΅ # <= высокоС + 10
          логичСскоС_ΠΈ
        ΠΏΠΎΠΊΠ°
          2 Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ 0 сСрвопривод
        ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
      endif
      капля капля капля
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ
    
    Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π³ΠΎΡ€ΡˆΠΎΠΊ
      1 get_position
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 

    Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΡƒΠ΄Π° ΠΈΠ΄Ρ‚ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ½ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚, ΠΏΠΎΠΊΠ° сСрвопривод ΠΏΠΎΠΊΠΈΠ½Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ больший Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄.Пока Ρ€Π°Π·Π½ΠΈΡ†Π° (10 Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅) большС, Ρ‡Π΅ΠΌ количСство ΡˆΡƒΠΌΠ°, это ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ случайныС ΠΏΡ€Ρ‹ΠΆΠΊΠΈ.

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ свой ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· ΠΊΠ°Π½Π°Π»ΠΎΠ² с Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌ Π²Ρ…ΠΎΠ΄ΠΎΠΌ (ΠΊΠ°Π½Π°Π»Ρ‹ 0–11). Π’Ρ…ΠΎΠ΄Ρ‹ Π½Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Π½Π°Π»Π°Ρ… Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅.

    ИспользованиС ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ для управлСния сСрвоприводами

    МоТно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ ΠΊ Maestro ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ состояниС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² вашСм скриптС. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ сцСнарий ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ сСрвопривод Ρ‡Π΅Ρ€Π΅Π· Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ, пСрСходя ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡˆΠ°Π³Ρƒ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ.Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ°Π½Π°Π» 0 для ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΊΠ°Π½Π°Π» 1 для сСрвопривода.

    Канал ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ настроСн ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½. Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» 7.b для получСния инструкций ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΊ Maestro с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ рСзистора, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π±Ρ‹Π» высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, Π° ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ½ становился Π½ΠΈΠ·ΠΊΠΈΠΌ.

    goto main_loop # ЗапускаСм основной Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΈ запускС скрипта (см. Π½ΠΈΠΆΠ΅).
    
    # Π­Ρ‚Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 1, Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°, ΠΈ 0 Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС.
    # Для прСобразования Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния (0-1023) Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (0 ΠΈΠ»ΠΈ 1), ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅
    # состояниС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π΅Π»Π°Π΅ΠΌ сравнСниС с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΡ€ΠΎΠ³ΠΎΠΌ (500).# Π­Ρ‚Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π² стСк логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 ΠΈΠ»ΠΈ 0, Π² зависимости ΠΎΡ‚
    # ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π½Π°ΠΆΠ°Ρ‚Π° ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠ»ΠΈ Π½Π΅Ρ‚.
    Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°
      0 get_position 500 less_than
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ
    
    # Π­Ρ‚Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ BUTTON для оТидания наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ,
    # Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ для устранСния ΡˆΡƒΠΌΠ° ΠΈΠ»ΠΈ Π΄Ρ€Π΅Π±Π΅Π·Π³Π° Π½Π° Π²Ρ…ΠΎΠ΄Π΅.
    sub wait_for_button_press
      wait_for_button_open_10ms
      wait_for_button_closed_10ms
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ
    
    # ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅, ΠΏΠΎΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠ° НЕ ​​будСт Π½Π°ΠΆΠ°Ρ‚Π° ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 10 мс.
    sub wait_for_button_open_10ms
      get_ms # ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя Π² стСк
      Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
        # ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ врСмя Π² стСкС, Ссли ΠΎΠ½ Π±Ρ‹Π» Π½Π°ΠΆΠ°Ρ‚
        ΠΊΠ½ΠΎΠΏΠΊΠ°
        Ссли
          ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ get_ms
        Π΅Ρ‰Π΅
          get_ms большС минус 10 большС, Ρ‡Π΅ΠΌ
          Ссли ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ endif
        endif
      ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
    
    # ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅, ΠΏΠΎΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚Π° Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 10 мс.sub wait_for_button_closed_10ms
      get_ms
      Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
        # сбрасываСм врСмя Π² стСкС, Ссли ΠΎΠ½ΠΎ Π½Π΅ наТимаСтся
        ΠΊΠ½ΠΎΠΏΠΊΠ°
        Ссли
          get_ms большС минус 10 большС, Ρ‡Π΅ΠΌ
          Ссли ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ endif
        Π΅Ρ‰Π΅
          ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ get_ms
        endif
      ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
    
    # ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования wait_for_button_press ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅:
    
    # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ WAIT_FOR_BUTTON_PRESS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π·
    # ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ сСрвопривода 1.
    main_loop:
    Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      4000 ΠΊΠ°Π΄Ρ€ΠΎΠ²
      5000 ΠΊΠ°Π΄Ρ€ΠΎΠ²
      6000 ΠΊΠ°Π΄Ρ€
      7000 ΠΊΠ°Π΄Ρ€ΠΎΠ²
      8000 ΠΊΠ°Π΄Ρ€ΠΎΠ²
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
    
    ΠΏΠΎΠ΄Ρ€Π°ΠΌΠ½ΠΈΠΊ
      wait_for_button_press
      1 сСрвопривод
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 

    Как ΠΈ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… упорядочивания, сцСнарий ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°Π΄Ρ€ΠΎΠ², Π½ΠΎ вмСсто Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°Π΄Ρ€Π°ΠΌΠΈ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ оТидаСтся Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° WAIT_FOR_BUTTON_PRESS ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сцСнариях всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ нСсколько ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² управлСния ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ.

    ИспользованиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ для управлСния сСрвоприводами

    Π­Ρ‚ΠΎΡ‚ сцСнарий дСмонстрируСт, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Maestro ΠΊ нСскольким ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ выполняСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

    # Когда скрипт большС Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚,
    # этот Ρ†ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Ρ‚ΡŒ наТатия ΠΊΠ½ΠΎΠΏΠΎΠΊ.Когда ΠΊΠ½ΠΎΠΏΠΊΠ°
    # наТимаСтся, запускаСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.
    Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      button_a, Ссли sequence_a endif
      button_b, Ссли sequence_b endif
      button_c, Ссли sequence_c endif
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
    
    # КаТдая ΠΈΠ· этих ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 1, Ссли ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ
    # Π½Π°ΠΆΠ°Ρ‚Π° ΠΊΠ½ΠΎΠΏΠΊΠ°, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ 0.
    # Π’ настоящСС врСмя button_a Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΊΠ°Π½Π°Π»Ρƒ 0,
    # button_b Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΊΠ°Π½Π°Π»Ρƒ 1, Π°
    # button_c Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΊΠ°Π½Π°Π»Ρƒ 2.
    # Π­Ρ‚ΠΈ ΠΊΠ°Π½Π°Π»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ настроСны ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄Ρ‹ Π²
    # Π’ΠΊΠ»Π°Π΄ΠΊΠ° Настройки ΠΊΠ°Π½Π°Π»Π°.
    sub button_a
      0 get_position 500 less_than
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ
    
    sub button_b
      1 get_position Π½Π° 500 мСньшС_, Ρ‡Π΅ΠΌ
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ
    
    sub button_c
      2 get_position Π½Π° 500 less_than
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ
    
    # КаТдая ΠΈΠ· этих ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ выполняСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
    # Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ сСрвопривода.Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ соотвСтствовали
    # вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
    sub sequence_a
      4000 3 сСрвопривода 1000 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      6000 3 сСрвопривода 500 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ
      
    sub sequence_b
      8000 4 сСрвопривода 900 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      7000 4 сСрвопривода 900 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      6000 4 сСрвопривода 900 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ
    
    sub sequence_c
      10 4 скорости
      7000 4 сСрвопривода 3000 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      6000 4 сСрвопривода 3000 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ этот сцСнарий Π½Π΅ выполняСт ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ. Если ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполняСтся, сцСнарий Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ наТатия Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΏΠΎΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°. МоТно Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСзависимо, Π½ΠΎ сцСнарий Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС.Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, насколько Π²Ρ‹ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² написании сцСнариСв, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ вмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько маэстро.

    Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ

    Максимально возмоТная Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ DELAY составляСт ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 32 сСкунды. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ дольшС этого. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² нСсколько сСкунд ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΡƒΡ‚:

    # ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ сСрво 0 Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ Π½Π°Π·Π°Π΄ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ 10 ΠΌΠΈΠ½ΡƒΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ двиТСниями.
    Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      4000 0 сСрвопривод
      10 delay_minutes
      8000 0 сСрвопривод
      10 delay_minutes
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
    
    # Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство сСкунд, Π΄ΠΎ 65535 с
    sub delay_seconds
      begin dup while # провСряСм, достиг Π»ΠΈ счСтчик нуля
        1 минус 1000 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° # Π²Ρ‹Ρ‡Ρ‚ΠΈΡ‚Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ 1 с
      ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
      drop return # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ 0 ΠΈΠ· стСка ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ
    
    # Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство ΠΌΠΈΠ½ΡƒΡ‚, Π΄ΠΎ 65535 ΠΌΠΈΠ½
    sub delay_minutes
      Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠΊΠ°
        1 минус 60 delay_seconds # Π²Ρ‹Ρ‡Ρ‚ΠΈΡ‚Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ 1 ΠΌΠΈΠ½.
      ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
      drop return # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ 0 ΠΈΠ· стСка ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ 

    Π›Π΅Π³ΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ Π½Π° часы, Π΄Π½ΠΈ, Π½Π΅Π΄Π΅Π»ΠΈ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.Однако ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Micro Maestro Π½Π΅ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ, ΠΊΠ°ΠΊ сСкундомСр - эти Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π½Π° 1%.

    Π¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π²Ρ‹Ρ…ΠΎΠ΄

    ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Micro Maestro ΠΊ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ ShiftBars. Один источник питания 12 Π’ ΠΏΠΈΡ‚Π°Π΅Ρ‚ всС устройства.

    Ѐункция Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Maestro способна ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‡Π΅ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, ΠΎΡ‚ простых схСм Π΄ΠΎ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… устройств, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ свСтодиодныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ShiftBrite ΠΈ свСтодиодныС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ShiftBar, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ простой синхронный ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ».Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ синхронизации, Π·Π°Ρ‰Π΅Π»ΠΊΠΈ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ShiftBrite ΠΈΠ»ΠΈ ShiftBar ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ сСрвоканалам 0, 1 ΠΈ 2 соотвСтствСнно, ΠΈ всС эти ΠΊΠ°Π½Π°Π»Ρ‹ настроСны ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ здСсь ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° RGB Π±Π΅Ρ€Π΅Ρ‚ ΠΈΠ· стСка 10-Π±ΠΈΡ‚Π½Ρ‹Π΅ значСния красного, Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ ΠΈ синСго Ρ†Π²Π΅Ρ‚ΠΎΠ², Π·Π°Ρ‚Π΅ΠΌ отправляСт 32-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ†Π²Π΅Ρ‚Π° ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡˆΡ‚ΠΈΡ„Ρ‚ Π·Π°Ρ‰Π΅Π»ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ShiftBrite Π½ΠΎΠ²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ†Π²Π΅Ρ‚Π°. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ для управлСния большСй Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΎΠΉ ShiftBrites.

    Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      1023 0 0 RGB 500 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° # красный
         0 1023 0 RGB 500 Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° # Π·Π΅Π»Π΅Π½Ρ‹ΠΉ
         0 0 1023 rgb 500 delay # синий
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
    
    # ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для установки значСния RGB для ShiftBrite / ShiftBar.# ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования: 1023 511 255 rgb
    sub rgb
      0 send_bit # этот Π±ΠΈΡ‚ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния
      0 send_bit # Π±ΠΈΡ‚ адрСса - 0 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ†Π²Π΅Ρ‚Π°
      своп гниль гниль
      send_10_bit_value
      send_10_bit_value
      send_10_bit_value
      0 1 8000 1 сСрво сСрво # ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ фиксатор
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ
    
    # отправляСт числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· 10 Π±ΠΈΡ‚
    sub send_10_bit_value
      512
      Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
        ΠΎΠ±ΠΌΠ°Π½
      ΠΏΠΎΠΊΠ°
        over over bitwise_and send_bit
        1 shift_right
      ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
      ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ
    
    # отправляСт ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ‚
    sub send_bit
      Ссли 8000 ΠΈΠ½Π°Ρ‡Π΅ 0 endif
      2 сСрво # ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ДАННЫЕ Π½Π° 0 ΠΈΠ»ΠΈ 1
      0 0 8000 0 сСрво сСрво # ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡. ЧАБЫ
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ 0 для установки Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ 8000 для установки высокого уровня Π²Ρ‹Π²ΠΎΠ΄Π°.Π­Ρ‚ΠΎ Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€, Π½ΠΎ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 0 Π΄ΠΎ 5999 ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, Π° любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 6000 Π΄ΠΎ 32767 ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для высокого, Ссли ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

    ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Mini Maestro 12, 18 ΠΈ 24)

    На Mini Maestro 12, 18 ΠΈ 24 ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сцСнарий для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ уровня TTL (TX). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Maestro ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Maestro, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ большоС количСство ΠΊΠ°Π½Π°Π»ΠΎΠ² Π±Π΅Π· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π’ΠΎΡ‚ простая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для управлСния Π΄Ρ€ΡƒΠ³ΠΈΠΌ Maestro.Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΊΠΎΠ΄, настройтС ΠΎΠ±Π° Maestros Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ UART с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ TX Π½Π° Π²Π΅Π΄ΡƒΡ‰Π΅ΠΌ устройствС ΠΊ RX Π½Π° Π²Π΅Π΄ΠΎΠΌΠΎΠΌ.

    100 delay # Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ маэстро Π΅ΡΡ‚ΡŒ врСмя для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ
    
    Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ
      127 0 mini_ssc # ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСрво 0 Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 127, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ mini-SSC
      254 0 mini_ssc # ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСрво 0 Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 254
    ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ
    
    sub mini_ssc
      0xFF serial_send_byte serial_send_byte serial_send_byte
      Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 

    .

    Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *