[Newbies] scripts
Mark Volkmann
mark at ociweb.com
Fri Sep 26 14:33:26 UTC 2008
On Sep 26, 2008, at 9:29 AM, Bert Freudenberg wrote:
> Am 26.09.2008 um 06:49 schrieb Mark Volkmann:
>
>> On Sep 26, 2008, at 8:03 AM, Randal L. Schwartz wrote:
>>
>>>>>>>> "Randal" == Randal L Schwartz <merlyn at stonehenge.com> writes:
>>>
>>>>>>>> "Bert" == Bert Freudenberg <bert at freudenbergs.de> writes:
>>> Bert> Am 26.09.2008 um 05:12 schrieb Mark Volkmann:
>>>
>>>>>> Is it possible to run a Squeak program from a terminal window
>>>>>> and have
>>>>>> access to the stdin and stdout streams from the Smalltalk code?
>>>
>>> And the longer still answer (now that I've noticed "access to
>>> stdin and
>>> stdout") is to use an image with OSProcess loaded, and then you can
>>> get access as follows:
>>>
>>> me := ThisOSProcess thisOSProcess.
>>> stdin := me stdIn. "acts like a Stream"
>>> stdout := me stdOut.
>>> stderr := me stdErr.
>>> stderr print: Time now; cr. "put the time of day on my stderr
>>> output"
>>
>>
>> Thanks for the example code! Now I think all I need is to find out
>> how to launch the code from a terminal window. At http://wiki.squeak.org/squeak/1914
>> I found this.
>>
>> "To initiate external shell processing, evaluate
>> ''ExternalCommandShell stop'', save the image, and restart with
>> ''squeak -headless myImage''."
>>
>> It's not clear to me what will be run when that last command is
>> executed from a terminal window. Where would I put code like your
>> example code above and how does the squeak command know to execute
>> it?
>
> Perhaps you should let us know what you want to achieve in broader
> terms first. Using Squeak in a headless way to do unix-style stream
> processing is very unusual. It can be done but it is not something I
> would recommend to a beginner.
>
> This is in contrast to many other languages which are most easily
> learned by creating simple programs writing to stdin/stdout. The
> power of Squeak is in the system (the development tools and
> frameworks), not so much the language (which is powerful, too, but
> not really what sets Squeak apart).
I'm really trying to learn about all aspects of Squeak, but at the
moment I have a task where I need to query a relational database and
output an XML representation of a subset of the data. This needs to be
invoked from a cron job, so if I can run my Smalltalk code from a
terminal window then I'll be set. I know I could do this using many
other languages such as Java or Ruby. However, since I'm trying to
learn Smalltalk and Squeak at the moment, I thought I'd use those as
part of the learning process.
---
Mark Volkmann
More information about the Beginners
mailing list