Libraryless. Click here for Pure Java version (2069L/15K/48K).
!636 !standard functions !1000346 // "case" as a variable name !class _javax 19 main { static Class solver; psvm { solver = hotwire("#704"); // embed solver! set(solver, "testJava", false); new Learner lNumFiles; File dir = makeTempDirectory(); for (int i = 0; i < 5; i++) { create(dir, "file" + (i+1)); String in = ls(dir.getPath()); Integer out = i+1; lNumFiles.learn(in, out); } lNumFiles.done(); String home = System.getProperty("user.home"); System.out.println("Files in home directory (" + home + "): " + lNumFiles.processIn(ls(home))); } static File makeTempDirectory() { return _javax.TempDirMaker_make(); } static class Learner { new StringBuilder buf; int count; Object case; void learn(String in, Object out) { buf.append("in: " + quote(in) + "\n"); buf.append("out: " + quote(String.valueOf(out)) + "\n"); if (++count == 2) buf.append("--\n"); } void done() { case = call(solver, "parse", buf.toString()); call(solver, "calculate", case); } Object processIn(String in) { return call(case, "processIn", in); } } static void create(File dir, String name) ctex { saveTextFile(new File(dir, name).getPath(), ""); } static String run(String cmd) ctex { return _javax.backtick(cmd); } static String ls(String dir) { return run("ls " + dir); } }
download show line numbers debug dex old transpilations
Travelled to 16 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, hxnwyiuffukg, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, teubizvjbppd, tslmcundralx, tvejysmllsmz, vouqrxazstgt
| ID | Author/Program | Comment | Date |
|---|---|---|---|
| 817 | #1000610 (pitcher) | 2015-08-19 17:22:04 | |
| 793 | stefan | Featured: http://tinybrain.blog.de/2015/08/19/tinybrain-learns-to-use-unix-commands-20708263/ | 2015-08-19 17:29:41 |
| 790 | stefan | It actually works :)
"file1 file2 file3 file4 file5 " => "5" == CASE direct == Full examples: 5, splitPoint: 2, half examples: 0 Solved! . LChange(f=RFToLines, base=LFixedFunction(f=FLength)) Files in home directory (/root): 68 | 2015-08-19 17:17:07 |
| 789 | #1000604 (pitcher) | 2015-08-20 15:28:24 |
| Snippet ID: | #706 |
| Snippet name: | Learn to use "ls" |
| Eternal ID of this version: | #706/1 |
| Text MD5: | f5c8e2393c86209230330b06e715d2f6 |
| Transpilation MD5: | 19e4665efda584ee498bec5a4912d715 |
| Author: | stefan |
| Category: | |
| Type: | JavaX source code |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2015-08-20 18:03:24 |
| Source code size: | 1518 bytes / 65 lines |
| Pitched / IR pitched: | No / Yes |
| Views / Downloads: | 1224 / 1309 |
| Referenced in: | #1000402 - Test case for "ls" made by #706 #3000382 - Answer for ferdie (>> t = 1, f = 0) #3000383 - Answer for funkoverflow (>> t=1, f=0 okay) |