Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #91270

Re: Array of Functions

From richard_riehle <rriehle@itu.edu>
Subject Re: Array of Functions
Newsgroups comp.lang.python
References <42b534f0-aeef-411f-80c5-db5d20c80b55@googlegroups.com>
Message-ID <TbKdnVQBR8OujvjInZ2dnUU7-LOdnZ2d@giganews.com> (permalink)
Date 2015-05-26 19:43 -0500

Show all headers | View raw


I realized that I mentioned earlier that I found a solution to my original question, but that I never posted an example of the solution.   So, here is a simplified example for anyone who is interested.

def fArray(fselect, fparm  = 1):
	def A1(p = fparm):
		if p == 1:
			print("printing A1[1]")
		else:
			print("printing A1[other]")
	def A2(p = fparm):
		if p == 1:
			print("printing A2[1]")
		else:
			print("printing A2[other]")
	A = [A1, A2]
	A[fselect]()

In this example, I enclosed two functions within another function, and then put those two functions in a list.  Then, with appropriate parameters, I called one of the functions in the list, associated the formal parameter with the function in a call to the array, and presto, it performs the function.

The more advanced problem I wanted to solve, a two dimensional array of functions, once this example is understood, becomes trivial to implement.  In fact, the more interesting problem I wanted to solve involved a dictionary of functions in a two-dimensional array, and that too was easy to do in Python.  

When I compare what this would require in C, C++, Java, or most other languages, I find Python to be really easy for solving this kind of problem.

Next, I plan to develop the solution using decorators and assertions to empower it with a greater level of portability and to make the functions more generic.

I hope someone finds this interesting.

Richard Riehle, PhD

Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Re: Array of Functions richard_riehle <rriehle@itu.edu> - 2015-05-26 19:43 -0500
  Re: Array of Functions Laura Creighton <lac@openend.se> - 2015-05-27 03:05 +0200
  Re: Array of Functions Gary Herron <gary.herron@islandtraining.com> - 2015-05-26 18:18 -0700

csiph-web