Vui lòng không sao chép, thanks. #comment.pck Mã: ##directive: comment "import #X.pck" (implicit) & "from #X.pck import <function>" (explicit) except ##directive: comment, text, TODO: "inline #X.pck" Function directive: - dependency{<name>(<vars>),...} - modalwarning{<>...}[(<string to report>)] - explicit_import_mandatory OR explicit_import_enforced #trans.pck Mã: --___soc_to_mbti_func(''): return (case S: S, case I: N, case L: T, case E: F); end; --##directive: dependency{___soc_to_mbti_func('')} __soc_type_conv("") : #def "SLI" = abc return ___soc_to_mbti_func(a) + ___soc_to_mbti_func(b) + c end; --##directive: modalwarning{deprecated}("Because of P/J stuff we're sorry to deprecate $&FUNCNAME. Continue to run?") soc_type_conv(""); --soc_symb_to_mbti_func(unicode''); #supp.pck Mã: #"a" + "b" = "ab", 'a' + 'b' = "ab", 'a' + "b" = "ab" --inv(''): return (case S: N; case N: S; case T: F; case F: T); end; --oriinv(''): return (case I: E, case E: I); end; --invf(""): #def "Fe" = ab; return (inv(a) + oriinv(b)); end; #mbti.pck Mã: import #supp.pck --get_mbti_stack(): #def "INTP" = abcd def f1, f2, f3, f4; if(a + d = "IJ" or = "EP") { f1 = b + a; f2 = d + oriinv(a) } else { f1 = d + a; f2 = b + oriinv(a) } f3 = invf(f2) f4 = invf(f1) return("$f1 - $f2 - $f3 - $f4") end; #soc.pck Mã: import #supp.pck from #trans.pck import __soc_type_conv #"from #X.pck import *" is not legit --get_soc_stack(): #def "SLI" = abc def f1, f2, f3, f4, f5, f6, f7, f8; __soc_type_conv(&arg1) f1 = a + c; f2 = b + oriinv(c) f6 = invf(f2); f5 = invf(f1) f3 = inv(a) + c; f4 = inv(b) + oriinv(c) f7 = invf(f3); f8 = invf(f4) return( "$f1 - $f2\n $f4 - $f3\n $f6 - $f5\n $f7 - $f8") end; #util_mbti_interface.pck Mã: import_once #supp.pck import_once #mbti.pck ##directive: interface --##check_implicit(ci01):bool raise TypeMismatchException is_type_valid(""): #def "INTP" = abcd return(len(&arg)==4 && a in ('I','E') && b in ('N','S') && c in ('T','F') && d in ('P','J')); end; --###ci01 grabdom(""); --###ci01 grabaux(""); --###ci01 grabloop(""); --grabinf(""); #grabdom(invf(&arg)); end; --func_to_type(""); --###ci01 func_to_type("",""); #func_to_type(&arg1 + " " + &arg2); end; #util_soc_interface.pck Mã: import_once #supp.pck import_once #soc.pck ##directive: interface --##check_implicit(ci02):bool raise TypeMismatchException is_type_valid(""): #def "SEE" = abc return(len(&arg)==3 && c in ('I',"E') && (a in ('S','I') && b in ('L','E')) || (b in ('S','I') && a in ('L','E'))) end; --###ci02 grablead(""); #grabdom --###ci02 dualcheck("",""); --###ci02 rela_state("","");
Hình ảnh hoá (visualize) phương pháp chuyển đổi của bạn @Ann Jing để các thành viên mới dễ hình dung, qua đó chỉ ra vài vấn đề thú vị. Lưu ý: Kiến thức nền về CFs và cách định nhóm chúng, vui lòng đọc ở mục Giới thiệu bài Mô hình [J]CF. Định danh 4 kí tự → Chồng chức năng 4 thứ tự Mô hình [J]CF Bước 1: Kiểm tra kí tự I, xem là I hay E. Nếu là I, vị trí dominant là chức năng hướng nội (Ti | Fi | Ni | Si), vị trí auxiliary là chức năng hướng ngoại (Te | Fe | Ne | Se). Nếu là E, vị trí dominant là chức năng hướng ngoại (Te | Fe | Ne | Se), vị trí auxiliary là chức năng hướng nội (Ti | Fi | Ni | Si). Spoiler: Bước 1 Bước 2: Kiểm tra kí tự IV, xem là J hay P. Nếu là J, chức năng hướng ngoại đầu tiên của function stack là chức năng xét đoán hướng ngoại (Te | Fe), chức năng nền tảng còn lại của function stack là chức năng lĩnh hội hướng nội (Ni | Si). Spoiler: Đào sâu hơn về nguyên tắc Nếu là IJ, vị trí dominant là chức năng lĩnh hội hướng nội (Ni | Si), vị trí auxiliary là chức năng xét đoán hướng ngoại (Te | Fe). Nếu là EJ, vị trí dominant là chức năng xét đoán hướng ngoại (Te | Fe), vị trí auxiliary là chức năng lĩnh hội hướng nội (Ni | Si). Nếu là P, chức năng hướng ngoại đầu tiên của function stack là chức năng lĩnh hội hướng ngoại (Ne | Se), chức năng nền tảng còn lại của function stack là chức năng xét đoán hướng nội (Ti | Fi). Spoiler: Đào sâu hơn về nguyên tắc Nếu là IP, vị trí dominant là chức năng xét đoán hướng nội (Ti | Fi), vị trí auxiliary là chức năng lĩnh hội hướng ngoại (Ne | Se). Nếu là EP, vị trí dominant là chức năng lĩnh hội hướng ngoại (Ne | Se), vị trí auxiliary là chức năng xét đoán hướng nội (Ti | Fi). Spoiler: Bước 2 Bước 3: Kiểm tra kí tự II và III, xem là N hay S, là T hay F để chọn chức năng cho vị trí dominant và auxiliary. Spoiler: Bước 3 Bước 4: Hoàn thiện function stack, bổ sung chức năng cho vị trí tertiary và inferior theo nguyên tắc: tertiary là cân bằng chức năng của auxiliary, inferior là cân bằng chức năng của dominant. Spoiler: Bước 4
Chồng chức năng 4 thứ tự → Định danh 4 kí tự Mô hình [J]CF Lưu ý: Do vị trí tertiary và inferior được quy định theo vị trí auxiliary và dominant, nên chỉ cần biết hai chức năng nền tảng là có thể chuyển đổi được. Bước 1: Kiểm tra vị trí dominant, xem là chức năng hướng nội hay hướng ngoại. Nếu là chức năng hướng nội (Ti | Fi | Ni | Si), kí tự I là I. Nếu là chức năng hướng ngoại (Te | Fe | Ne | Se), kí tự I là E. Spoiler: Bước 1 Bước 2: Kiểm tra vị trí dominant và auxiliary, xác định kí tự II và III theo nguyên tắc: kí tự II là N hoặc S, kí tự III là T hoặc F. Spoiler: Bước 2 Bước 3: Kiểm tra chức năng hướng ngoại đầu tiên của function stack, xem là chức năng xét đoán hướng ngoại hay lĩnh hội hướng ngoại. Nếu là chức năng xét đoán hướng ngoại (Te | Fe), kí tự IV là J. Nếu là chức năng lĩnh hội hướng ngoại (Ne | Se), kí tự IV là P. Spoiler: Bước 3
Lưu ý: Kiến thức nền về IEs và cách định danh chúng, vui lòng đọc ở mục Giới thiệu bài Mô hình A (Socionics) (Phần 1). Định danh 3 kí tự → Chồng chức năng 8 thứ tự Mô hình A (Socionics) Nguyên tắc định danh loại I của mô hình A (Socionics) rất trực diện: Kí tự I ghi nhận chức năng đầu tiên (vị trí base) của function stack. Kí tự II ghi nhận chức năng thứ hai (vị trí creative) của function stack. Kí tự III ghi nhận hướng của chức năng đầu tiên. Bước 1: Kiểm tra kí tự I và II, xem là L, E, I hay S. Nếu là L, vị trí tương ứng là thành tố logic (Ti | Te). Nếu là E, vị trí tương ứng là thành tố đạo đức (Fi | Fe). Nếu là I, vị trí tương ứng là thành tố trực giác (Ni | Ne). Nếu là S, vị trí tương ứng là thành tố giác quan (Si | Se). Kiểm tra kí tự III, xem là I hay E. Nếu là I, vị trí base là chức năng hướng nội (Ti | Fi | Ni | Si), vị trí creative là chức năng hướng ngoại (Te | Fe | Ne | Se). Nếu là E, vị trí base là chức năng hướng ngoại (Te | Fe | Ne | Se), vị trí creative là chức năng hướng nội (Ti | Fi | Ni | Si). Spoiler: Bước 1 Bước 2: Hoàn thiện function stack, bổ sung chức năng cho các vị trí còn lại theo nguyên tắc: Role là thành tố khác bên cùng hướng với base. Vulnerable là thành tố khác bên cùng hướng với creative. Suggestive là thành tố khác bên khác hướng với base. Mobilizing là thành tố khác bên khác hướng với creative. Ignoring là thành tố cùng bên khác hướng với base. Demonstrative là thành tố cùng bên khác hướng với creative. Spoiler: Bước 2 Chồng chức năng 8 thứ tự → Định danh 3 kí tự Mô hình A (Socionics) Lưu ý: Do các vị trí khác được quy định theo vị trí base và creative, nên chỉ cần biết hai chức năng nền tảng là có thể chuyển đổi được. Spoiler: Bước 0
Định danh 4 kí tự → Chồng chức năng 8 thứ tự Mô hình A (Socionics) Bước 1: Kiểm tra kí tự I, xem là I hay E. Nếu là I, vị trí base là chức năng hướng nội (Ti | Fi | Ni | Si), vị trí creative là chức năng hướng ngoại (Te | Fe | Ne | Se). Nếu là E, vị trí base là chức năng hướng ngoại (Te | Fe | Ne | Se), vị trí creative là chức năng hướng nội (Ti | Fi | Ni | Si). Spoiler: Bước 1 Bước 2: Kiểm tra kí tự IV, xem là j hay p. Nếu là j, vị trí base là chức năng hữu lí (Ti | Te | Fi | Fe), vị trí creative là chức năng vô lí (Ni | Ne | Si | Se). Nếu là p, vị trí base là chức năng vô lí (Ni | Ne | Si | Se), vị trí creative là chức năng hữu lí (Ti | Te | Fi | Fe). Spoiler: Bước 2 Bước 3: Kiểm tra kí tự II và III, xem là N hay S, là T hay F để chọn chức năng cho vị trí base và creative. Spoiler: Bước 3 Bước 4: Hoàn thiện function stack, bổ sung chức năng cho các vị trí còn lại theo nguyên tắc: Role là thành tố khác bên cùng hướng với base. Vulnerable là thành tố khác bên cùng hướng với creative. Suggestive là thành tố khác bên khác hướng với base. Mobilizing là thành tố khác bên khác hướng với creative. Ignoring là thành tố cùng bên khác hướng với base. Demonstrative là thành tố cùng bên khác hướng với creative. Spoiler: Bước 4
Chồng chức năng 8 thứ tự → Định danh 4 kí tự Mô hình A (Socionics) Lưu ý: Do các vị trí khác được quy định theo vị trí base và creative, nên chỉ cần biết hai chức năng nền tảng là có thể chuyển đổi được. Bước 1: Kiểm tra vị trí base, xem là chức năng hướng nội hay hướng ngoại. Nếu là chức năng hướng nội (Ti | Fi | Ni | Si), kí tự I là I. Nếu là chức năng hướng ngoại (Te | Fe | Ne | Se), kí tự I là E. Spoiler: Bước 1 Bước 2: Kiểm tra vị trí base và creative, xác định kí tự II và III theo nguyên tắc: kí tự II là N hoặc S, kí tự III là T hoặc F. Spoiler: Bước 2 Bước 3: Kiểm tra vị trí base, xem là chức năng hữu lí hay vô lí. Nếu là chức năng hữu lí (Ti | Te | Fi | Fe), kí tự IV là j. Nếu là chức năng vô lí (Ni | Ne | Si | Se), kí tự IV là p. Spoiler: Bước 3