Example ObjectRepository exportTab 001

 

 

Description

The stockLambda Lambda is a simple Lambda that reads a file, and imports the data into an in-memory table that is represented as an Object Vector. Each item in the object Vector is a record. Note that the stockLambda example supplies the minimum method needed by exportTab, i.e., refExport, and provides two additional methods: refRowCount and refColCount which queries the Lambda how many rows and columns have been imported.

 

Details

The stockLambda Lambda is defined.

		(defun StockLambda()
		   pvars: (rowCount colCount rowVector colVector)  
		   (defun doClear()                                 ;; Manage clear at start of import. 
		      (setq rowCount 0) (setq colCount 0)
		      (setq colVector #void)
		      (setq rowVector (^new Vector: object: 0)))    ;; end of doClear  
		   (defun setImport(row  record)                          
		      (setq rowVector[row] record)                  ;; Install the data in a vector  
		      (setq rowCount row)                           ;; Update the row count
		      rowCount)                                     ;; end of setImport
		   (defun refExport(rowIndex)   
		      (if (>= rowIndex rowCount) (return false))    ;; Return "false" to stop the export 
		      (return rowVector[rowIndex]))                 ;; Pass a filled record to exportTab.
		   (defun refImport(row)   
		      (return (^new String: 256)))                  ;; Pass an empty string container to importTab.
		   (defun refRowCount() rowCount)
		   (defun refColCount() colCount)
		)     
        
Returns: #<Lambda 123456>

The stockLambda is used to work with the ObjectRepository file.

			(define  myLambda (new StockLambda))                   ;; Create a new instance of the StockLambda
			(myLambda.doClear)                                    ;; initialize persistent variables
			(setq fileid (fileOpen "stocks.sbf" 0 0))            ;; Open an existing text file
			(importTab  fileid  myLambda recordsOnly:)            ;; Import the file                                   
			(fileClose fileid 1)                                 ;; Close the file
			(myLambda.refRowCount)                                ;; Ask the Lambda for a row count
			(setq fileid (fileOpen "newStocks.sbf" 1 0))         ;; Create a new text file 
			(setq rowsOut (exportTab  fileid  myLambda recordsOnly:));; export the file                           
			(fileClose fileid 1)                                 ;; Close the file
			(myLambda.refRowCount)                                ;; Ask the Lambda for a row count
         
       
Returns: ---

 

Related Examples

Here are examples of the exportTab function at work.

Lambda exportTab 001 ObjectRepository exportTab 001

 

Function Links

Here is the link to the current function used in this example.

exportTab

Here are a number of links to other related functions.

importTab(#void)

 

Argument Types

Here are the links to the data types of the arguments used in this example.

ObjectRepository ObjVector

Here are a number of links to examples having similar argument types.

BitVector addMethod 023 Context globalBinding 001 Dictionary isDictionary 001 Dictionary objectToDictionary 001
Dictionary objectToDictionary 002 Dictionary objectToDictionary 003 Dictionary objectToDictionary 004 Dictionary refAttributes 002
Dictionary setAttributes 002 Directory objectToDirectory 001 Directory objectToDirectory 002 Directory objectToDirectory 003
Directory objectToDirectory 004 Directory refAttributes 003 Directory setAttributes 003 Lambda globalBinding 001
NumVector svmRegression 001 ObjVector addMethod 022 ObjVector append 009 ObjVector compare 017
ObjVector compareEQ 014 ObjVector compareGE 014 ObjVector compareGT 014 ObjVector compareLE 014
ObjVector compareLT 014 ObjVector compareNE 014 ObjVector comparison functions 014 ObjVector copy 009
ObjVector delete 012 ObjVector insert 008 ObjVector isAtom 008 ObjVector isEqual 016
ObjVector isIdentical 015 ObjVector isObject 010 ObjVector isObjectVector 001 ObjVector isType 019
ObjVector length 011 ObjVector member 007 ObjVector ref 025 ObjVector remove 007
ObjVector resize 009 ObjVector reverse 006 ObjVector setCdr 009 ObjVector setLastCdr 009
ObjVector setq 022 ObjVector sizeof 017 ObjVector type 019 ObjVector uniqueInsert 007
ObjVector vectorFill 006 ObjectRepository abortTransaction 001 ObjectRepository addMethod 026 ObjectRepository attachLibrarian 001
ObjectRepository beginTransaction 001 ObjectRepository checkPointTransaction 001 ObjectRepository clear 002 ObjectRepository commitTransaction 001
ObjectRepository compare 021 ObjectRepository compare 022 ObjectRepository compareEQ 021 ObjectRepository compareEQ 022
ObjectRepository compareGE 021 ObjectRepository compareGE 022 ObjectRepository compareGT 021 ObjectRepository compareGT 022
ObjectRepository compareLE 021 ObjectRepository compareLE 022 ObjectRepository compareLT 021 ObjectRepository compareLT 022
ObjectRepository compareNE 021 ObjectRepository compareNE 022 ObjectRepository comparison 021 ObjectRepository comparison 022
ObjectRepository defmethod 023 ObjectRepository delete 013 ObjectRepository detachLibrarian 001 ObjectRepository exportTab 001
ObjectRepository importTab 001 ObjectRepository inspect 002 ObjectRepository isIdentical 019 ObjectRepository isImmediate 001
ObjectRepository length 016 ObjectRepository loadRepository 001 ObjectRepository methodsOf 023 ObjectRepository new 014
ObjectRepository ref 030 ObjectRepository ref 031 ObjectRepository ref 032 ObjectRepository ref 033
ObjectRepository ref 034 ObjectRepository refLibrarian 001 ObjectRepository rename 001 ObjectRepository saveImmediate 001
ObjectRepository saveRepository 001 ObjectRepository send 026 ObjectRepository setf 001 ObjectRepository setf 002
ObjectRepository setq 027 ObjectRepository sizeof 027 ObjectRepository type 024 String isChar 001
String isCharAlphabetic 001 String isCharAlphanumeric 001 String isCharLowercase 001 String isCharName 001
String isCharNumeric 001 String isCharUppercase 001 String isCharWhitespace 001 String isEqual 001
String isEqual 002 String isObject 001 String isString 001 String isText 001
String isType 001 String isType 002 String isType 003 String sizeof 001
String string 001 String string 002 String string 003 String stringToBVector 001
String stringToBVector 002 String stringToBVector 003 String stringToVector 001 String stringToVector 002
String stringToVector 003 String stringToVector 004 String type 001 Structure objectToStructure 001
Structure objectToStructure 002 Structure objectToStructure 003 Structure objectToStructure 004 Structure refAttributes 001
Structure setAttributes 001 Symbol isCharName 002 Symbol isCharNumeric 002 Symbol isObject 002
Symbol isSymbol 001 Symbol isType 004 Symbol sizeof 002 Symbol type 002
Vector refAttributes 004 Vector refValues 004 Vector setAttributes 004 Vector setAttributes 005

Analytic Information Server (AIS)

AIS Component Systems

  • Smartbase Engine
  • QT C++ Libraries
  • MySQL Relational Database
  • AIS Lisp Libraries
  • Rapid Analytic Demo IDE