BoxLang 🚀 A New JVM Dynamic Language Learn More...
|:------------------------------------------------------: |
| ⚡︎ B o x L a n g ⚡︎
| Dynamic : Modular : Productive
|:------------------------------------------------------: |
Copyright Since 2023 by Ortus Solutions, Corp
www.boxlang.io | www.ortussolutions.com
This module allows you to execute python in BoxLang via Jython. This is a very powerful feature that allows you to execute python code in your BoxLang scripts.
It also allows you to create python modules and classes that can be used in your BoxLang scripts by using the jythonEvalFile( path )
function.
You can execute python code in your BoxLang scripts by using the jythonEval( code )
function. Here is an example:
jythonEval( "print('Hello World')" );
You can also evaluate python code from a file by using the jythonEvalFile( path )
function. Here is an example:
jythonEvalFile( "path/to/file.py" );
You can also create python modules and classes that can be used in your BoxLang scripts. Here is an example:
# mymodule.py
def hello():
return "Hello World"
jythonEvalFile( "path/to/mymodule.py" );
var result = jythonEval( "hello()" );
print( result );
You can also use the <bx:jython>{python code}</bx:jython>
tag to execute python code in your BoxLang scripts. Here is an example:
<bx:jython variable="result">
print("Hello, World!")
# Addition
num1 = 5
num2 = 10
sum = num1 + num2
print("Sum:", sum)
# Subtraction
num3 = 8
num4 = 3
difference = num3 - num4
print("Difference:", difference)
# Multiplication
num5 = 4
num6 = 6
product = num5 * num6
print("Product:", product)
# Division
num7 = 15
num8 = 3
quotient = num7 / num8
print("Quotient:", quotient)
# Modulo
num9 = 17
num10 = 5
remainder = num9 % num10
print("Remainder:", remainder)
# Exponentiation
base = 2
exponent = 3
result = base ** exponent
print("Result:", result)
</bx:jython>
We will automatically bind all the variables in your variables
scope into the engine bindings via JSR223. You can then use them as native variables in your python code.
variables.name = "Luis Majano";
jythonEval( "print(name)" );
Each execution produces a result which is a structure with the following keys:
engine
: A reference to the engineglobalScope
: A reference to the global scope of JSR223engineScope
: A reference to the engine scope of JSR223BoxLang is a professional open-source project and it is completely funded by the community and Ortus Solutions, Corp. Ortus Patreons get many benefits like a cfcasts account, a FORGEBOX Pro account and so much more. If you are interested in becoming a sponsor, please visit our patronage page: https://patreon.com/ortussolutions
"I am the way, and the truth, and the life; no one comes to the Father, but by me (JESUS)" Jn 14:1-12
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
$
box install bx-jython