You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Darwinism/LINQ/TestMain/Module1.vb

40 lines
1.4 KiB

Imports Microsoft.VisualBasic.Linq.Framework.Provider
Imports Microsoft.VisualBasic.Linq.Framework.Provider.ImportsAPI
Imports Microsoft.VisualBasic.Linq
Imports Microsoft.VisualBasic.ComponentModel.DataSourceModel
Module Module1
Sub Main()
Dim source = {1, 2, 3, 4, 5, 6, 7}
Dim LQuery = (From x As Integer In source Let add = x + 50 Where add / x Mod (x - 32) = 0 Let cc = add ^ 2 Select cc, x, add, nn = {cc, x, add * 22}.Average)
Dim code As String = LinqClosure.BuildClosure("x", GetType(Integer), {"add = x + 50 "}, {"cc = add ^ 2"}, {"cc", "x", "add", "nn = {cc, x, Add * 22}.Average"}, "add / x Mod (x - 32) = 0")
Call Console.WriteLine(code)
Dim itt As New Iterator(source)
Do While itt.MoveNext
Call __DEBUG_ECHO(Scripting.ToString(itt.Current) & " --> " & itt.ReadDone)
Loop
Call Scripting.ToString(itt.Current).__DEBUG_ECHO
Dim s As String = "instr($s, cstr( $s->length), 8)"
Dim typew = GetType(String)
Dim www = Microsoft.VisualBasic.Linq.LDM.Expression.WhereClosure.CreateLinqWhere(typew, s)
Dim types As TypeRegistry = TypeRegistry.LoadDefault
Dim api As APIProvider = APIProvider.LoadDefault
Call www.Compile(types, api)
Dim p As New Parser.Parser
Dim n = p.ParseExpression("$($(test2 pp $rt) -> test_func par1 $ffjhg par2 $dee) -> test3 p3 $($(test5 de) -> test4 ppp $gr)")
End Sub
End Module