Libraryless. Click here for Pure Java version (2197L/15K/48K).
1 | !759 |
2 | |
3 | !include #1002412 // Turing |
4 | |
5 | static void tests() { |
6 | pcall { questions(); } |
7 | } |
8 | |
9 | static void questions() { |
10 | // load from bot |
11 | //L list = cast call(getBot("#1002462"), "getLiveList"); |
12 | |
13 | // load from file |
14 | L list = unnull((L) loadForeignVariable("#1002462", "questions")); |
15 | L vals = unnull((L) loadForeignVariable("#1002462", "vals")); |
16 | |
17 | vals = slackUsersOnly(vals); |
18 | Map<S, O> valsByID = indexByField(vals, "id"); |
19 | |
20 | prot("Found " + n(l(list), "question") + "."); |
21 | |
22 | // no shuffling for now, so latest questions show up top in "last dialogs" |
23 | |
24 | //list = shuffled(list); |
25 | |
26 | for (O tq : list) try { |
27 | S id = getString(tq, "id"); |
28 | S q = getString(tq, "question"); |
29 | S a = getString(tq, "answer"); |
30 | O _level = getOpt(tq, "level"); |
31 | int level = (int) max(1, _level == null ? 1L : (long) _level); |
32 | if (valsByID.containsKey(id)) |
33 | prot("Skipping invalidated question: " + q + " => " + a); |
34 | else |
35 | add(q, a); |
36 | } catch (Throwable e) { |
37 | prot(str(e)); |
38 | } |
39 | } |
40 | |
41 | // TODO: .text |
42 | static O loadForeignVariable(S progID, S varName) { |
43 | S s = loadTextFile(getProgramFile(progID, varName + ".structure")); |
44 | ret s == null ? null : unstructure(s); |
45 | } |
46 | |
47 | static L slackUsersOnly(L vals) { |
48 | // List comprehension syntax? |
49 | // vals = [O val in vals where get(val, "user") != null]; |
50 | |
51 | new L l; |
52 | for (O val : vals) if (get(get(val, "source"), "user") != null) l.add(val); |
53 | ret l; |
54 | } |
Began life as a copy of #1002413
download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1002463 |
Snippet name: | Turing Tests: Dynamic Questions (added by #1002462) |
Eternal ID of this version: | #1002463/1 |
Text MD5: | 9fe797434af02c37e254cb81de214c47 |
Transpilation MD5: | e3eefab9ed541861a5fc4b909a4f869d |
Author: | stefan |
Category: | javax |
Type: | JavaX source code |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2016-02-02 23:35:10 |
Source code size: | 1463 bytes / 54 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 880 / 2299 |
Referenced in: | [show references] |