Modulinos: Difference between revisions

Content added Content deleted
No edit summary
(Added Smalltalk)
Line 723: Line 723:
print "Life means %s." % meaning_of_life()
print "Life means %s." % meaning_of_life()
print "Death means invisible scary skeletons."</lang>
print "Death means invisible scary skeletons."</lang>

=={{header|Smalltalk}}==

Note that the ScriptedMain package must be installed in order for test.st to access code from scriptedmain.st.

Example

<lang shell>$ gst-package -t ~/.st package.xml &>/dev/null
$ ./scriptedmain.st
Main: The meaning of life is 42
$ ./test.st
Test: The meaning of life is 42</lang>

package.xml

<lang xml><packages>
<package>
<name>ScriptedMain</name>
<filein>scriptedmain.st</filein>
<file>scriptedmain.st</file>
</package>
</packages></lang>

scriptedmain.st

<lang smalltalk>"exec" "gst" "-f" "$0" "$0" "$@"
"exit"

Object subclass: ScriptedMain [
ScriptedMain class >> meaningOfLife [ ^42 ]
]

| main |

main := [
Transcript show: 'Main: The meaning of life is ', ((ScriptedMain meaningOfLife) printString); cr.
].

(((Smalltalk getArgc) > 0) and: [ ((Smalltalk getArgv: 1) endsWith: 'scriptedmain.st') ]) ifTrue: [
main value.
].</lang>

test.st

<lang smalltalk>"exec" "gst" "-f" "$0" "$0" "$@"
"exit"

"
PackageLoader fileInPackage: 'ScriptedMain'.

Transcript show: 'Test: The meaning of life is ', ((ScriptedMain meaningOfLife) printString); cr.</lang>


=={{header|R}}==
=={{header|R}}==