<commit_before>// ====================================================================== INCLUDES
#include <iostream>
// ====================================================================== SYNOPSIS
#include "rdo_lib\rdo_runtime\rdo_value.h"
#include "rdo_lib\rdo_runtime\rdo_enum.h"
#include "rdo_lib\rdo_runtime\rdo_array.h"
#include "rdo_lib\rdo_runtime\rdo_type.h"
// ===============================================================================

using namespace rdoRuntime;

void main()
{
	RDOEnumType* enumType = new RDOEnumType(NULL, RDOEnumType::Enums("_1")("_2")("_3"));
	RDOValue integer = 1;
	RDOValue real    = 1.5;
	RDOValue booling = true;
	RDOValue string  = "string";
	RDOArrayType* arrayType_int    = new RDOArrayType(NULL,&integer.type());
	RDOArrayType* arrayType_real   = new RDOArrayType(NULL,&real.type());
	RDOArrayType* arrayType_string = new RDOArrayType(NULL,&string.type());
	RDOArrayType* arrayType_bool   = new RDOArrayType(NULL,&booling.type());
	RDOArrayType* arrayType_enum   = new RDOArrayType(NULL,enumType);
	RDOArrayType* arrayType5       = new RDOArrayType(NULL,arrayType_enum);
	RDOArrayType* arrayType6       = new RDOArrayType(NULL,(new RDOArrayType(NULL,arrayType_int)));
	//std::string className1 = arrayType_int->asString();
	//std::string className2 = arrayType_real->asString();
	//std::string className3 = arrayType_string->asString();
	//std::string className4 = arrayType_bool->asString();
	//std::string className5 = arrayType_enum->asString();
	//std::string className6 = arrayType5->asString();
	//std::string className7 = arrayType6->asString();

	int i = 1;<commit_msg> - пример рекурсивного спуска по типу массива<commit_after>// ====================================================================== INCLUDES
#include <iostream>
// ====================================================================== SYNOPSIS
#include "rdo_lib\rdo_runtime\rdo_value.h"
#include "rdo_lib\rdo_runtime\rdo_enum.h"
#include "rdo_lib\rdo_runtime\rdo_array.h"
#include "rdo_lib\rdo_runtime\rdo_type.h"
// ===============================================================================

using namespace rdoRuntime;

tstring printType(CPTR(RDOType) pType)
{
	switch (pType->typeID())
	{
	case RDOType::t_int  : return "int";
	case RDOType::t_real : return "real";
	case RDOType::t_bool : return "bool";
	case RDOType::t_array:
	{
		CPTR(RDOArrayType) arrayType = static_cast<CPTR(RDOArrayType)>(pType);
		return rdo::format(_T("array<%s>"), printType(arrayType->getArrayType()).c_str());
	}
	}
	return "unknown type";
}

void main()
{
	RDOEnumType* enumType = new RDOEnumType(NULL, RDOEnumType::Enums("_1")("_2")("_3"));
	RDOValue integer = 1;
	RDOValue real    = 1.5;
	RDOValue booling = true;
	RDOValue string  = "string";
	PTR(RDOArrayType) arrayType_int    = new RDOArrayType(NULL,&integer.type());
	PTR(RDOArrayType) arrayType_real   = new RDOArrayType(NULL,&real.type());
	PTR(RDOArrayType) arrayType_string = new RDOArrayType(NULL,&string.type());
	PTR(RDOArrayType) arrayType_bool   = new RDOArrayType(NULL,&booling.type());
	PTR(RDOArrayType) arrayType_enum   = new RDOArrayType(NULL,enumType);
	PTR(RDOArrayType) arrayType5       = new RDOArrayType(NULL,arrayType_enum);
	PTR(RDOArrayType) arrayType6       = new RDOArrayType(NULL,(new RDOArrayType(NULL,arrayType_int)));

	std::cout << printType(arrayType6) << std::endl;

	//std::string className1 = arrayType_int->asString();
	//std::string className2 = arrayType_real->asString();
	//std::string className3 = arrayType_string->asString();
	//std::string className4 = arrayType_bool->asString();
	//std::string className5 = arrayType_enum->asString();
	//std::string className6 = arrayType5->asString();
	//std::string className7 = arrayType6->asString();

	int i = 1;
{'fraction_non_alphanumeric': 0.24973460721868365, 'fraction_numerical': 0.009819532908704883, 'mean_word_length': 6.787190082644628, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4743998', 'n_tokens_mistral': 1294, 'n_tokens_neox': 1252, 'n_words': 212}