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); }
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 반환 }