#cs ----------------------------------------------------------------------------

	AutoIt Version: 3.3.9.0 (beta)
	Author:         peethebee
	Date: 			2012-06-10

	Script Function:
	Print data.

#ce ----------------------------------------------------------------------------


Func var_dump($data, $detailed = False, $separator = 'default')
	If $separator == 'default' Then $separator = Opt('GUIDataSeparatorChar')
	Local $result = ''
	If $detailed Then $result = $result & VarGetType($data) & ': '

	; string
	If IsString($data) Then Return $result & $data

	; arrays
	If IsArray($data) Then
		Switch UBound($data, 0)
			Case 1
				; 1-dim array
				$result = $result & '['
				For $i = 0 To UBound($data) - 1
					If $i > 0 Then $result = $result & $separator
					$result = $result & var_dump($data[$i], $detailed, $separator)
				Next
				Return $result & ']'
			Case 2
				; 2-dim array
				$result = $result & '[' & @CRLF
				For $i = 0 To UBound($data, 1) - 1
					$result = $result & '  ['
					For $j = 0 To UBound($data, 2) - 1
						If $j > 0 Then $result = $result & $separator
						$result = $result & var_dump($data[$i][$j], $detailed, $separator)
					Next
					$result = $result & ']' & @CRLF
				Next
				Return $result & ']'
			Case Else
				Return UBound($data, 0) & '-dim array'
		EndSwitch
	EndIf

	; TODO more
	Return $result & $data

EndFunc   ;==>var_dump

Func var_dump_c($data, $detailed = False, $separator = 'default')
	ConsoleWrite(var_dump($data, $detailed, $separator) & @CRLF)
EndFunc   ;==>var_dump_c




; some tests
ConsoleWrite('strings' & @CRLF)
ConsoleWrite((var_dump('Test') == 'Test') & @CRLF)
ConsoleWrite((var_dump('') == '') & @CRLF)
ConsoleWrite('numbers' & @CRLF)
ConsoleWrite((var_dump(5) == '5') & @CRLF)
ConsoleWrite((var_dump(5.5) == '5.5') & @CRLF)
ConsoleWrite('1-dim array' & @CRLF)
Global $array[4] = [1,5,10,3]
ConsoleWrite((var_dump($array, False, ',') == '[1,5,10,3]') & @CRLF)
ConsoleWrite((var_dump($array, True, '-') == 'Array: [Int32: 1-Int32: 5-Int32: 10-Int32: 3]') & @CRLF)
ConsoleWrite('2-dim array' & @CRLF)
Global $array[2][2] = [[1,5],[10,3]]
ConsoleWrite((var_dump($array, False, ',') == '['&@CRLF&'  [1,5]'&@CRLF&'  [10,3]'&@CRLF&']') & @CRLF)

