![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Ruby) Call a JavaScript Function Returning an ArraySee more JavaScript ExamplesDemonstrates how to call a JavaScript function that returns an array.Note: This example requires Chilkat v11.4.0 or greater.
require 'chilkat' success = false # ---------------------------------------------------------------------------------- # The Javascript functions called in this example are shown at the bottom of this page. # ----------------------------------------------------------------------------------- sbScript = Chilkat::CkStringBuilder.new() success = sbScript.LoadFile("js_function_returning_array.js","utf-8") if (success == false) print sbScript.lastErrorText() + "\n"; exit end js = Chilkat::CkJs.new() result = Chilkat::CkJsonObject.new() result.put_EmitCompact(false) # Call Eval to add the function to the context's global object success = js.Eval(sbScript,result) if (success == false) # Examine the result for an exception. print result.emit() + "\n"; # Also examine the LastErrorText. print js.lastErrorText() + "\n"; exit end # ------------------------------------------------------------------------------ # Call each function funcCall = Chilkat::CkJsonObject.new() # Create JSON specifying the function name and arguments # The function has no arguments, so we only specify the name. funcCall.UpdateString("name","getDays") success = js.CallFunction(funcCall,result) if (success == false) # Examine the result for an exception. print result.emit() + "\n"; # Also examine the LastErrorText. print js.lastErrorText() + "\n"; exit end print result.emit() + "\n"; # Output: # { # "type": "array", # "value": [ # "Monday", # "Tuesday", # "Wednesday", # "Thursday", # "Friday" # ] # } # Access each array value.. count = result.SizeOfArray("value") i = 0 while i < count result.put_I(i) print result.stringOf("value[i]") + "\n"; i = i + 1 end # ------------------------------------------------------------------------------ # Call the getRange(start,end) function funcCall.Clear() funcCall.UpdateString("name","getRange") funcCall.UpdateInt("args[0]",14) funcCall.UpdateInt("args[1]",21) success = js.CallFunction(funcCall,result) print result.emit() + "\n"; # Output: # { # "type": "array", # "value": [ # 14, # 15, # 16, # 17, # 18, # 19, # 20, # 21 # ] # } count = result.SizeOfArray("value") i = 0 while i < count result.put_I(i) print result.IntOf("value[i]").to_s() + "\n"; i = i + 1 end # ------------------------------------------------------------------------------ # Call the getEmployees() function funcCall.Clear() funcCall.UpdateString("name","getEmployees") success = js.CallFunction(funcCall,result) print result.emit() + "\n"; # Output: # { # "type": "array", # "value": [ # { # "id": 101, # "name": "Alice", # "role": "Dev" # }, # { # "id": 102, # "name": "Bob", # "role": "Manager" # } # ] # } count = result.SizeOfArray("value") i = 0 while i < count result.put_I(i) print "name: " + result.stringOf("value[i].name") + "\n"; print "role: " + result.stringOf("value[i].role") + "\n"; print "id: " + result.IntOf("value[i].id").to_s() + "\n"; print "" + "\n"; i = i + 1 end
|
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.