Есть ли какие-нибудь программы, кроме CPAN для установки / компиляции модулей perl и установки их?
В основном я ищу что-то вроде Activestate PPM, Ближайшее, что я смог найти, это PPM на CPAN , но когда я пытаюсь установить, он терпит неудачу по какой-то « неизвестной » причине. Я уверен, что если я покопаюсь в выводе, то смогу выяснить, почему, но для меня это в основном греческое об ошибках.
В любом случае есть что-нибудь? Было бы хорошо, если бы у него был интерфейс GTK, потому что я использую GNOME на Ubuntu, и было бы неплохо поиграть с новыми модулями.
Что мне действительно нужно, так это возможность устанавливать и удалять модули, по крайней мере, из командной строки.
Также, можно ли создать сценарий установки модуля Perl? Например, когда кто-то устанавливает мой. Учитывая код using System; пространство имен returnObject {class myObject {public int ...
Я просмотрел this и this , и у меня есть следующий вопрос, чтобы убедиться, правильно ли я понимаю. Учитывая код
using System;
namespace returnObject
{
class myObject
{
public int number { get; set; }
}
class Program
{
static void Main(string[] args)
{
myObject mainObj = make();
mainObj.number = 7;
}
public static myObject make()
{
myObject localObj = new myObject();
localObj.number = 4;
return localObj;
}
}
}
, я бы ожидал, что localObj
выйдет из области видимости в конце метода make и, следовательно, установка obj.number
на 7 в основной функции потерпеть неудачу. Это не так.
Я думаю, что прав, утверждая, что:
localObj
- это ссылка на объект localObj
создается в стеке localObj
выходит за рамки в конце сделать метод. localObj
, находится в куче. Итак, правильно ли я полагаю, что обычно объект, на который ссылается localObj
, должен был быть помечен для удаления сборщиком мусора в конце метода make, но поскольку значение ссылки было передано обратно на mainObj
,
static const char * strings {"AAA", "BBB", "CCC"}; С помощью макроса, такого как INIT (AAA, BBB, ...
Чтобы мой код был короче и легче менялся, я хочу заменить что-то вроде
enum{ E_AAA, E_BBB, E_CCC };
static const char *strings{"AAA", "BBB", "CCC" };
на макрос, например INIT (AAA, BBB, CCC) ; но когда я пытаюсь выполнить макрос с переменными аргументами и преобразованием в строку, я получаю сообщение об ошибке, поскольку аргументы не объявлены.
Есть идеи, как это сделать?