semantic_matrix.sh 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/usr/bin/env bash
  2. ryanjson_emit_semantic_cases() {
  3. local mode="$1"
  4. local modeName="${2:-MODE}"
  5. case "${mode}" in
  6. quick)
  7. printf '%s\n' 'false true true' 'true false true'
  8. ;;
  9. nightly)
  10. local strictKey=""
  11. local addAtHead=""
  12. for strictKey in false true; do
  13. for addAtHead in false true; do
  14. printf '%s %s true\n' "${strictKey}" "${addAtHead}"
  15. done
  16. done
  17. ;;
  18. full)
  19. local strictKey=""
  20. local addAtHead=""
  21. local scientific=""
  22. for strictKey in false true; do
  23. for addAtHead in false true; do
  24. for scientific in false true; do
  25. printf '%s %s %s\n' "${strictKey}" "${addAtHead}" "${scientific}"
  26. done
  27. done
  28. done
  29. ;;
  30. *)
  31. echo "[错误] ${modeName} 仅支持 quick/nightly/full,当前值:${mode}" >&2
  32. return 1
  33. ;;
  34. esac
  35. }
  36. ryanjson_semantic_case_name() {
  37. local strictKey="$1"
  38. local addAtHead="$2"
  39. local scientific="$3"
  40. printf 'strict_%s__head_%s__sci_%s\n' "${strictKey}" "${addAtHead}" "${scientific}"
  41. }