//2006.10.05 truncate string at null //2006.09.29 NULL c.Date class(sync with c.java) // \winnt\microsoft.net\framework\v2.0.50727\csc c.cs using System;using System.IO;using System.Net.Sockets; //csc c.cs given >q trade.q -p 5001 class c:TcpClient{public static void Main(string[]args){ c c=new c("localhost",5001);//c.ReceiveTimeout=1000; Flip r=td(c.k("select sum price by sym from trade"));O("cols: "+n(r.x));O("rows: "+n(r.y[0])); // object[]x=new object[4];x[0]=t();x[1]="xx";x[2]=(double)93.5;x[3]=300; // tm();for(int i=0;i<1000;++i)c.ks("insert", "trade", x);tm(); // c c=new c("localhost",5010);c.k(".u.sub[`trade;`MSFT.O`IBM.N]");while(true){object r=c.k();O(n(at(r,2)));} c.Close(); } byte[]b,B;int j,J;bool a;Stream s;public new void Close(){s.Close();base.Close();} public c(string h,int p):this(h,p,Environment.UserName){} public c(string h,int p,string u):base(h,p){s=this.GetStream();B=new byte[1+u.Length];J=0;w(u);s.Write(B,0,J);if(1!=s.Read(B,0,1))throw new Exception("access");} static int ns(string s){int i=s.IndexOf('\0');return -14&&x.Equals(NU[t]);} public class Date{public int i;public Date(int x){i=x;} public DateTime DateTime(){return new DateTime(i==ni?0L:(long)8.64e11*i+o);} public Date(long x){i=x==0L?ni:(int)(x/(long)8.64e11)-730119;} public Date(DateTime z):this(z.Ticks){}public override string ToString(){return i==ni?"":this.DateTime().ToString("d");}} public class Month{public int i;public Month(int x){i=x;}public override string ToString(){int m=24000+i,y=m/12;return i==ni?"":i2(y/100)+i2(y%100)+"-"+i2(1+m%12);}} public class Minute{public int i;public Minute(int x){i=x;}public override string ToString(){return i==ni?"":i2(i/60)+":"+i2(i%60);}} public class Second{public int i;public Second(int x){i=x;}public override string ToString(){return i==ni?"":new Minute(i/60).ToString()+':'+i2(i%60);}} public class Dict{public object x;public object y;public Dict(object X,object Y){x=X;y=Y;}} static int find(string[]x,string y){int i=0;for(;i>8);}short rh(){int x=b[j++],y=b[j++];return(short)(a?x&0xff|y<<8:x<<8|y&0xff);} void w(int i){w((short)i);w((short)(i>>16));}int ri(){int x=rh(),y=rh();return a?x&0xffff|y<<16:x<<16|y&0xffff;} void w(long j){w((int)j);w((int)(j>>32));}long rj(){int x=ri(),y=ri();return a?x&0xffffffffL|(long)y<<32:(long)x<<32|y&0xffffffffL;} void w(float e){byte[]b=BitConverter.GetBytes(e);foreach(byte i in b)w(i);}float re(){byte c;float e; if(!a){c=b[j];b[j]=b[j+3];b[j+3]=c;c=b[j+1];b[j+1]=b[j+2];b[j+2]=c;}e=BitConverter.ToSingle(b,j);j+=4;return e;} void w(double f){w(BitConverter.DoubleToInt64Bits(f));}double rf(){return BitConverter.Int64BitsToDouble(rj());} void w(char c){w((byte)c);}char rc(){return(char)(b[j++]&0xff);}void w(string s){foreach(char i in s)w(i);B[J++]=0;} string rs(){int i=0,k=j;for(;b[k]!=0;)++k;char[]s=new char[k-j];for(;j99){if(t==101&&b[j++]==0)return null;throw new Exception("func");}if(t==99)return new Dict(r(),r());j++;if(t==98)return new Flip((Dict)r());n=ri();switch(t){ case 0:object[]L=new object[n];for(;i