Certa vez o Ademar comentou que o python tinha auto-completar por padrão. Pessoalmente nunca tinha percebido isto, e conversando com o Ramiro percebi o porquê: Mac OS X e Windows não inicializam os módulos readline e o rlcompleter sozinhos.
Procurando um pouco vi que habilitá-los é fácil.
Primeiro edite o arquivo ~/.pythonrc
#Enable syntax completion
try:
import readline
except ImportError:
print "Module readline not available."
else:
import rlcompleter
readline.parse_and_bind("tab: complete")
Após isto, em seu ~/.bashrc adicione:
export PYTHONSTARTUP=~/.pythonrc
Agora inicie o python e faça o teste.
Receita de Bolo Brigadeiro
Ingredientes
- 1 xÃcara (chá) de açúcar
- 1 colher (sopa) de fermento em pó
- Meia xÃcara (chá) de chocolate em pó solúvel
- 2 xÃcaras (chá) de farinha de trigo
- 1 xÃcara (chá) de leite
- 5 ovos
Recheio
- Meia xÃcara (chá) de chocolate granulado
- Meia xÃcara (chá) de chocolate em pó solúvel
- 2 colheres (sopa) de manteiga
- 2 latas de leite condensado
Preparo:
Massa: Bata na batedeira, as claras em neve bem firme. Junte as gemas, uma a uma, e acrescente o açúcar. Despeje o leite aos poucos, sem parar de bater. Incorpore, por fim, delicadamente a farinha peneirada com o Chocolate em Pó e o fermento. Despeje em uma fôrma redonda (28 cm de diâmetro) untada e enfarinhada e leve para assar em forno quente (200º C) por aproximadamente 40 minutos. Deixe esfriar e corte-o ao meio.
Recheio e cobertura: Leve o Leite Moça, a manteiga e o Chocolate em Pó ao fogo, mexendo sempre. Quando ferver, abaixe o fogo e deixe cozinhar, sem parar de mexer, por cerca de 6 minutos ou até formar um creme consistente. Cubra uma metade do bolo com este creme, arrume a outra metade, espalhe o restante do brigadeiro com uma espátula ou faca e espalhe o chocolate granulado em toda a superfÃcie. Leve para gelar e sirva.
E tenho dito!
Duas horas a menos de vida e oito reais mais pobre, posso dizer que assistir Speed Racer acrescentou-me algo: Atualizei meu conceito de lixo.
E tenho dito!
Certa vez eu quis explicar a um amigo porque escrever código em python para celular era mais legal que escrever código em C (native-symbian e não OpenC). Acho que hoje talvez eu consiga.
Segue os exemplos:
Python
print “Hello World”
C++-Epoc
// Hello World in C++, Epoc style (for Symbian OS)
#include < eikapp.h >
#include < eikdoc.h >
#include < eikappui.h >
class CHelloWorldAppUi;
class CEikApplication;
class CHelloWorldAppView;
class CHelloWorldApplication : public CEikApplication
{
public:
TUid AppDllUid() const;
protected:
CApaDocument* CreateDocumentL();
};
class CHelloWorldDocument : public CEikDocument
{
public:
static CHelloWorldDocument* NewL(CEikApplication& aApp);
static CHelloWorldDocument* NewLC(CEikApplication& aApp);
~CHelloWorldDocument(){};
public:
CEikAppUi* CreateAppUiL();
private:
void ConstructL() {};
CHelloWorldDocument(CEikApplication& aApp){};
};
class CHelloWorldAppUi : public CEikAppUi
{
public:
void ConstructL();
CHelloWorldAppUi(){};
~CHelloWorldAppUi(){};
};
static const TUid KUidHelloWorldApp = {0×10005B91};
GLDEF_C TInt E32Dll(TDllReason )
{
return KErrNone;
}
EXPORT_C CApaApplication* NewApplication()
{
return (new CHelloWorldApplication);
}
CApaDocument* CHelloWorldApplication::CreateDocumentL()
{
CApaDocument* document = CHelloWorldDocument::NewL(*this);
return document;
}
TUid CHelloWorldApplication::AppDllUid() const
{
return KUidHelloWorldApp;
}
CHelloWorldDocument* CHelloWorldDocument::NewL(CEikApplication& aApp)
{
CHelloWorldDocument* self = NewLC(aApp);
CleanupStack::Pop(self);
return self;
}
CHelloWorldDocument* CHelloWorldDocument::NewLC(CEikApplication& aApp)
{
CHelloWorldDocument* self = new (ELeave) CHelloWorldDocument(aApp);
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
CEikAppUi* CHelloWorldDocument::CreateAppUiL()
{
CEikAppUi* appUi = new (ELeave) CHelloWorldAppUi;
return appUi;
}
void CHelloWorldAppUi::ConstructL()
{
BaseConstructL();
_LIT(message,”Hello!”);
CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
informationNote->ExecuteLD(message);
}
fonte: http://www.roesler-ac.de/wolfram/hello.htm
http://www.informationweek.com/news/software/linux/showArticle.jhtml?articleID=207…
Acho que vale a pena ler os comentários antes de ler o texto:
Yes, the fact that the writer thinks that MEPIS is based on Mandriva shows how little knowledge he has, and how poorly researched his paper is..