Пример #1
0
        public void StrCutTooBig()
        {
            /*
             * STRCUT ( s i -- s1 s2 )
             *
             * Cuts string s after its i'th character. For example,
             * "Foobar" 3 strcut returns
             * "Foo" "bar" If i is zero or greater than the length of s, returns a null string in the first or second position, respectively.
             */
            var stack = new Stack <ForthDatum>();

            stack.Push(new ForthDatum("Foobar"));
            stack.Push(new ForthDatum(int.MaxValue));
            var local      = stack.ClonePreservingOrder();
            var parameters = new ForthPrimativeParameters(null, local, null, Dbref.NOT_FOUND, Dbref.NOT_FOUND, Dbref.NOT_FOUND, null, null, null, null, default);
            var result     = StrCut.Execute(parameters);

            Assert.NotNull(result);
            Assert.IsTrue(result.IsSuccessful, result.Reason);

            Assert.AreEqual(2, local.Count);
            var s2 = local.Pop();

            Assert.AreEqual(ForthDatum.DatumType.String, s2.Type);
            Assert.AreEqual("", s2.Value);

            var s1 = local.Pop();

            Assert.AreEqual(ForthDatum.DatumType.String, s1.Type);
            Assert.AreEqual("Foobar", s1.Value);

            Assert.AreEqual(0, local.Count);
        }
Пример #2
0
        static string[] GetServiceIP() //서버의 ip를 가져온다.
        {
            TerminalCommand.Command($"sudo ifconfig > /etc/setting.txt ; exit");
            Thread.Sleep(500);
            string[] settingText = File.ReadAllLines(@"/etc/setting.txt");

            List <string> ipListTmp = new List <string>();

            for (int i = 0; i < settingText.Length; i++)
            {
                Console.Clear();
                if (settingText[i].Contains("inet") && settingText[i].Contains("netmask"))  //모든 ip를 잘라낸다.
                {
                    string ip = StrCut.StrChange(settingText[i], "inet", "netmask", true);
                    ipListTmp.Add(ip);
                }
            }

            string[] ipList = new string[ipListTmp.Count];
            for (short i = 0; i < ipListTmp.Count; i++)
            {
                ipList[i] = ipListTmp[i];
            }
            return(ipList); //모든 ip 반환
        }