Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
Другой пример: вывести список книг из базы данных (соритровать по имени автора, не более 30 на страницу), чтобы это выглядело как на макете bookList.psd.
Прошло 14 лет. FINALLY, можно писать компьютеру на естественном языке!
У меня на русском языке описание заняло одну строчку… Почему??777
Другой пример: вывести список книг из базы данных (соритровать по имени автора, не более 30 на страницу), чтобы это выглядело как на макете bookList.psd.
Programmers should not need to understand category theory to write «Hello, World!»
Программисты не обязаны полностью понимать теорию относительности и квантовую механику чтобы написать на Вашем языке «Hello, World!»
(
Using("W.Expressions.FuncDefs_Excel, WExpr"),
Using("W.Expressions.FuncDefs_Report, WExpr"),
Using("W.Expressions.FuncDefs_Ora, WExprSql"),
Using("W.Util.FuncDefs_Solver, WUtil"),
Using("PalmCalcs.FuncDefs, PalmCalcs"),
UseOraSqlFuncsFrom("Queries.sql").PrintLn(),
let(nOraConnections, 4),
let(oraConn, OraNewConnection(
'user/pass@oraclesrv:1521/database'
, nOraConnections
, { 'ALTER SESSION SET CURSOR_SHARING = SIMILAR', 'ALTER SESSION SET NLS_TERRITORY = cis' }
)),
let(semaParQueries, Semaphore(nOraConnections)),
PrintLn("WellStock('')"),
let(wells, WellStock('')),
let(WELL_ID_OISP, wells['WELL_ID_OISP']
. Where(wells['SHOP_NAME']='ЦДНГ')
),
let(AT_TIME__XT, DATEVALUE('2013-10-31')),
let(outsPalm, {
"SHOP_NAME", "OILFIELD_NAME", "WELL_NAME",
"RESERVOIR_TEMPERATURE_OISP_C",
"PERFTOP_DEPTH_MX",
"PUMP_DEPTH_MX",
"CASING_DIAMETER_MX_MM",
"TUBING_DIAMETER_MX_MM",
"BUFFER_PRESSURE_OISP_ATM",
"RESERVOIR_PRESSURE_OISP_ATM",
"LIQUID_WATERCUT_OISP",
"GAS_VOLFACTOR_OISP",
"LIQUID_VOLRATE_OISP",
"BOTTOMHOLE_PRESSURE_OISP_ATM",
"ANNULAR_PRESSURE_OISP_ATM",
"DYNLEVEL_DEPTH_OISP",
"STATLEVEL_DEPTH_OISP",
"OILSEP_VISCOSITY_OISP",
"WATER_VISCOSITY_OISP",
"OIL_VOLFACTOR_OISP",
"SATURATION_PRESSURE_OISP_ATM",
"GAS_DENSITY_OISP_TPCM",
"OILSEP_DENSITY_OISP_TPCM",
"WATER_DENSITY_ANY_TPCM",
"BOTTOMHOLE_PRESSURE_OPTWELL_ATM",
"INTAKE_PRESSURE_OPTWELL_ATM",
"INTAKE2_PRESSURE_OPTWELL_ATM",
"OUTLET_PRESSURE_OPTWELL_ATM"
}),
let(test, {"WELL_ID_OISP","OILFIELD_NAME","WELL_NAME","TINCL_OBJ_OPTWELL"}),
let(solution, FindSolutionExpr({}, outsPalm )),
let(outFile, NewFileStreamWriter('Test_Solver.log')),
let(msg, "Solution is: " & solution),
PrintLn(msg),
outFile.StreamWriterAppendText(msg),
let(partMaxSize,1000),
PartsOfLimitedSize(WELL_ID_OISP, partMaxSize)
..let(parts),
startTiming(),
_For(
( let(n,COLUMNS(parts)), let(i,0) ),
i<n,
_EvalWithSemaphore( semaParQueries,
let(WELL_ID_OISP, parts[i]),
let(results, ExprToExecutable(solution)),
_ForEach(r, results, r._ToStr()..StreamWriterAppendText(outFile) ),
Print('.'),
let(i,i+1)
)
)
.stopTiming(),
outFile.StreamWriterAppendText(OraGetStatMsg()),
outFile.StreamWriterClose(),
'wells=' & COLUMNS(WELL_ID_OISP)
)
Чек-лист разработчика языка программирования