Bug, while loop Re-setting values?
for some reason , the while loop is resetting the value of the variable state.is it a bug?
var state = "dumb path"
print("state assigned dumb path outside of loop", state)
let v_sync_enable =glfw.swap_interval(1)
while not glfw.window_should_close(window):
let v1 = glfw.poll_events()
let v2 = impl.process_inputs()
let clear_context = glfw.make_context_current(window)
let color_clear = gl.glClearColor(0.4, 0.4, 0.4, 1)
let all_clear=gl.glClear(gl.GL_COLOR_BUFFER_BIT)
let v3 = imgui.new_frame()
if imgui.begin_main_menu_bar():
if imgui.begin_menu("File", True):
let clicked_exit = imgui.menu_item( "Exit", '', False, True)
if clickedexit:
print("exit")
= exit(0)
let end_men =imgui.end_menu()
let end_menubar=imgui.end_main_menu_bar()
let begin = imgui.begin("My Window", True)
# Display the button and check if it's pressed if imgui.button("select d3plot file"): var state = open_file_explorer() print("state passed to var from function-now in main") print(state) print("state printed") print("candidate not viable:Pcalle expects 0 arguments but 2 ",state) if imgui.button("Load 3Dyna Results"): load_data(state) let end = imgui.end() let render=imgui.render() let impl_render = impl.render(imgui.get_draw_data()) let swap_buff = glfw.swap_buffers(window) let imp_shutdown=impl.shutdown() let terminate = glfw.terminate()
# Display the button and check if it's pressed if imgui.button("select d3plot file"): var state = open_file_explorer() print("state passed to var from function-now in main") print(state) print("state printed") print("candidate not viable:Pcalle expects 0 arguments but 2 ",state) if imgui.button("Load 3Dyna Results"): load_data(state) let end = imgui.end() let render=imgui.render() let impl_render = impl.render(imgui.get_draw_data()) let swap_buff = glfw.swap_buffers(window) let imp_shutdown=impl.shutdown() let terminate = glfw.terminate()
16 Replies
Hey this looks cool but I can't see all the code,
glfw
is missing for exampleI think the
var state
inside the loop is creating a new state
variable scoped inside the while
loop (or possibly inside the if
statement?).Congrats @Arthur Evans, you just advanced to level 1!
@Arthur Evans @Jack Clayton Thank you for the attention . here is the entire code
it brigs up the GUI and i am trying to get the path of a numerical computation result from the file explorer and pass it to another function - which will load the results to a webbrowser as html
i think there could be issues with object to string conversion .
Congrats @roopesh puthalath, you just advanced to level 3!
selected_file_path
is already a PythonObject. So you should be able to just do:
return selected_file_path.to_string()
@Arthur Evans
@Arthur Evans error: cannot implicitly convert 'String' value to 'object' in return value
return selected_file_path.to_string()
def open_file_explorer() -> String:
@Arthur Evansits working now . Thanks a ton. now i will start writing what python could not do fast enough, Now i am getting the hang of it. The python interop interacting with mojo .
Great, glad to hear it!
This is really awesome @roopesh puthalath I had a play with it on my machine, let me know if you put it up on a git repo I'll share it in next weeks newsletter. Also just a tip you can get rid of that try/except block by changing to
fn main() raises:
@Jack Clayton Thank you very much . I would greatly appreciate it if we could feature it in an edition the week after next. The additional time will enable me to present a richer Graphical User Interface (GUI) with expanded options. Additionally, I will be able to include certain computational functionalities that I believe will be of significant interest to the computer aided engineering readers.
The idea is also to share is a side-by-side comparison between a Python function and a Mojo function, focusing on their respective performance metrics. My primary aim is to enlighten the Computer Aided Engineering community about the potential and efficiencies of Mojo. I already did some preliminary tests by mimicking some computational loops within a function to firsthand evaluate Mojo's performance , and i am very happy about it. I genuinely believe that Mojo is here for the long haul. Its position might be challenged when AI evolves to the point of autonomously writing optimal assembly language tailored for specific programming scenarios. It's an honor to contribute, even in the smallest measure, to such a legacy.
The idea is also to share is a side-by-side comparison between a Python function and a Mojo function, focusing on their respective performance metrics. My primary aim is to enlighten the Computer Aided Engineering community about the potential and efficiencies of Mojo. I already did some preliminary tests by mimicking some computational loops within a function to firsthand evaluate Mojo's performance , and i am very happy about it. I genuinely believe that Mojo is here for the long haul. Its position might be challenged when AI evolves to the point of autonomously writing optimal assembly language tailored for specific programming scenarios. It's an honor to contribute, even in the smallest measure, to such a legacy.
Thanks heaps and will do, feel free to reach out when it's ready 🙂