Что IDE использовать для разработки в Ruby on Rails в Windows? [дубликат]

Без поддержки C ++ 11 (decltype) это может работать:

SSCCE

#include <iostream>
using namespace std;

struct A { void foo(void); };
struct Aa: public A { };
struct B { };

struct retA { int foo(void); };
struct argA { void foo(double); };
struct constA { void foo(void) const; };
struct varA { int foo; };

template<typename T>
struct FooFinder {
    typedef char true_type[1];
    typedef char false_type[2];

    template<int>
    struct TypeSink;

    template<class U>
    static true_type &match(U);

    template<class U>
    static true_type &test(TypeSink<sizeof( matchType<void (U::*)(void)>( &U::foo ) )> *);

    template<class U>
    static false_type &test(...);

    enum { value = (sizeof(test<T>(0, 0)) == sizeof(true_type)) };
};

int main() {
    cout << FooFinder<A>::value << endl;
    cout << FooFinder<Aa>::value << endl;
    cout << FooFinder<B>::value << endl;

    cout << FooFinder<retA>::value << endl;
    cout << FooFinder<argA>::value << endl;
    cout << FooFinder<constA>::value << endl;
    cout << FooFinder<varA>::value << endl;
}

Как он, надеюсь, работает

A , Aa и B являются рассматриваемыми кланами, Aa является специальным, который наследует элемент, который мы ищем.

В FooFinder true_type и false_type ] - это замены для соответствующих классов C ++ 11. Также для понимания мета-программирования шаблонов они раскрывают саму основу трюка SFINAE-sizeof.

TypeSink - это структура шаблона, которая используется позже, чтобы потопить интегральный результат sizeof в экземпляр шаблона для формирования типа.

Функция match - это еще один шаблон типа SFINAE, который остается без общего экземпляра. Поэтому он может быть создан только в том случае, если тип его аргумента совпадает с типом, для которого он был специализирован.

Обе функции test вместе с объявлением перечисления окончательно образуют центральный шаблон SFINAE. Существует универсальный метод, использующий эллипсис, который возвращает false_type и аналог с более конкретными аргументами.

Чтобы иметь возможность создать экземпляр функции test с аргументом шаблона T , функция match должна быть инстанцирована, так как ее тип возврата требуется для создания экземпляра аргумента TypeSink. Предостережение заключается в том, что &U::foo, будучи завернутым в аргумент функции, является not , на который ссылается внутри специализации аргумента шаблона, поэтому унаследованный поиск элементов все еще имеет место.

9
задан Community 23 May 2017 в 12:25
поделиться

8 ответов

Попробуйте и NetBeans и RadRails в течение, возможно, недели каждый, затем можно найти который работы лучше всего для Вас. Лучший совет состоит в том, чтобы изучить Ваш инструмент. Если Вы не проверяете что-то новое о своем редакторе, что-то, что могло бы потенциально сэкономить Вам время (regexp, и т.д.) затем Вы делаете себя огромная плохая услуга.

Я использовал Eclipse/Aptana/RadRails, и в отличие от Gaius были довольно довольны им. Я рекомендую Eclipse IDE для Java-разработчиков от Загрузок Eclipse: http://www.eclipse.org/downloads/

Затем захватите Studio Aptana, следуя этим инструкциям.

То, когда Eclipse перезапустит Aptana, будет иметь представление, нажмет на направляющие рада, и Вы хороши для движения. Просто удостоверьтесь, что Вам уже установили рубин, или это становится болью для разрешения.

7
ответ дан 4 December 2019 в 08:35
поделиться

Studio Aptana

Я использую его для всей веб-разработки - HTML, CSS, PHP, JavaScript, направляющие...

Править: Для полного раскрытия я смещаюсь к Aptana и RadRails, поскольку я знаю несколько членов исходной команды разработчиков RadRails.

6
ответ дан 4 December 2019 в 08:35
поделиться

Я был очень доволен E. Это довольно легко и поддерживает отрывки TextMate и команды, что означает, что Вы получаете доступ к огромной группе определенных для направляющих помощников.

Однако это - решительно редактор и не IDE, таким образом, Вы не получите отладку, созданный в консоли, и т.д. Но я нашел, что для проектов направляющих предпочитаю легкого редактора и оболочку (как Консоль) для тестов, отладки, и т.д.

3
ответ дан 4 December 2019 в 08:35
поделиться

IDE Netbeans является пользой, всеми вокруг редактора для многих языков. Я вполне уверен, 6,5 бет имеют поддержку Ruby on Rails, наряду с JavaScript и несколькими другими веб-языками. Это стоит проверить (Netbeans.org).

2
ответ дан 4 December 2019 в 08:35
поделиться

Я использовал Aptana/Eclipse/RadRails, но если бы я должен был сделать это снова, то я определенно попробовал бы NetBeans. Aptana был сильной головной болью.

Я никогда не использовал IronRuby, но это могло бы заставить Вас чувствовать больше дома.

2
ответ дан 4 December 2019 в 08:35
поделиться

Я главным образом кодирую ColdFusion или PHP (и JS/CSS/xHTML), но баловался небольшим количеством RoR. RadRails/Apatana был большим для меня, потому что он основывался на Eclipse, который я уже использовал для своей другой работы. Это также интегрируется с Подверсией через плагин Subclipse.

Платформа Eclipse так расширяема, что стоит инвестировать немного времени в учиться, но с другой стороны мне нравится иметь единственный IDE вместо того, чтобы иметь необходимость переключиться между различными приложениями.

Я кратко посмотрел на Netbeans, но Eclipse TBH просто чувствовал себя лучше для меня, и сам Aptana является большим, когда Вы приезжаете, чтобы сделать что-либо в JavaScript.

YMMV...

0
ответ дан 4 December 2019 в 08:35
поделиться

Sapphire в Стали интегрируется с Visual Studio.

1
ответ дан 4 December 2019 в 08:35
поделиться

Я использую Emacs в Windows.

Установка и настройка это для работы с направляющими является боль все же.

0
ответ дан 4 December 2019 в 08:35
поделиться