для C# 3.5
без notifyicon поэтому необходимо будет завершить это приложение в диспетчере задач вручную
using System;
using System.Drawing;
using System.Windows.Forms;
static class Program
{
static void Main()
{
Timer timer = new Timer();
// timer.Interval = 4 minutes
timer.Interval = (int)(TimeSpan.TicksPerMinute * 4 / TimeSpan.TicksPerMillisecond);
timer.Tick += (sender, args) => { Cursor.Position = new Point(Cursor.Position.X + 1, Cursor.Position.Y + 1); };
timer.Start();
Application.Run();
}
}
Ruby Racer сейчас вышла из пре-альфа и колеблется где-то между альфа и бета. Теперь он поддерживает:
Взгляните на Рубиновый носорог . Он использует jruby и rhino для встраивания javascript в вашу среду ruby. Среди прочего, он поддерживает безопасную оценку, вызов функций Ruby из javascript и наоборот (функции javascript из ruby)
Существует также «Ruby Racer», который встраивает v8 в MRI. Это все еще предварительная альфа-фаза, но я надеюсь, что когда-нибудь в марте следующего года у меня появится пригодная для использования версия
. Другой известный мне движок - Snarl, который также использует jruby и rhino с аналогичным эффектом.
Думаю, я также помню кого-то, кто работал над внедрением V8 с МРТ, но я не могу найти ссылку прямо сейчас.
Основная проблема с Джонсоном заключается в том, что МРТ - это невероятно дрянная языковая реализация, которая пропускает память слева и справа, и единственная языковая реализация в мире, которая могла бы быть еще хуже - SpiderMonkey. Таким образом, список TODO в репозитории Johnson Git не t точно внушают доверие; он содержит только один элемент, и я цитирую буквально:
Хватит долбить segfaulting.
Lyndon построен на гораздо лучшем фундаменте, но, очевидно, требует запуска OSX на сервере. Кроме того, MacRuby еще не выпущен.
Я думаю, что JRuby + Rhino, вероятно, самый стабильный вариант, хотя вам придется самостоятельно построить интеграцию: это всего лишь две независимые языковые реализации, которые находятся на одной виртуальной машине. , но между ними нет интеграции.
Другой подход к проблеме - RKelly , который представляет собой синтаксический анализатор JavaScript и механизм выполнения, написанный на Ruby.
В качестве альтернативы вы можете попытаться приблизиться к проблема с другой стороны: вместо того, чтобы хранить логику вашего приложения в JavaScript и запускать ее как на клиенте, так и на сервере, вы можете сохранить логику своего приложения в Ruby и запускать ее на сервере и на клиенте: существует несколько компиляторов, которые могут компилировать (подмножество) Ruby в JavaScript. Один из них - RubyJS . (Существует также HotRuby , интерпретатор байт-кода YARV, написанный на JavaScript, но это, скорее всего, будет огромным излишеством для того, что вы делаете.)
И последнее, но не менее важное: вы могли бы делать то, что Rails изначально это было сделано с помощью их помощников JavaScript: вы не определяете свою логику ни в Ruby, ни в JavaScript, вместо этого вы определяете ее один раз во внутреннем Ruby DSL и генерируете как Ruby , так и ] Логика JavaScript из этого.
есть пара компиляторов, которые могут скомпилировать (подмножество) Ruby в JavaScript. Один из них - RubyJS . (Существует также HotRuby , интерпретатор байт-кода YARV, написанный на JavaScript, но это, скорее всего, будет огромным излишеством для того, что вы делаете.)И последнее, но не менее важное: вы могли бы делать то, что Rails изначально это было сделано с помощью их помощников JavaScript: вы не определяете свою логику ни в Ruby, ни в JavaScript, вместо этого вы определяете ее один раз во внутреннем Ruby DSL и генерируете как Ruby , так и ] Логика JavaScript из этого.
есть пара компиляторов, которые могут скомпилировать (подмножество) Ruby в JavaScript. Один из них - RubyJS . (Существует также HotRuby , интерпретатор байт-кода YARV, написанный на JavaScript, но это, скорее всего, будет огромным излишеством для того, что вы делаете.)И последнее, но не менее важное: вы могли бы делать то, что Rails изначально это было сделано с помощью их помощников JavaScript: вы не определяете свою логику ни в Ruby, ни в JavaScript, вместо этого вы определяете ее один раз во внутреннем Ruby DSL и генерируете как Ruby , так и ] Логика JavaScript из этого.