total descendants::0 total children::0 |
Troška sa v poslednom čase s mojimi študentami na GlasPERL&Spiel kurze zaoberáme I-Chingom a napodiv som nikde nenašiel mapping medzi jednotlivými líniami a hexagramami, na CPANe je len takáto haluz http://search.cpan.org/~strytoast/IChing-Hexagram-Illuminatus-0.01/Illuminatus.pm Tak som tradičnú tabuľku mapujúcu vzťahy medzi líniami, trigramami a hexagramami prepísal do tohto hashu: my %trigrams = ( "111","chien", "100","chen", "010","kan", "001","ken", "000","kun", "011","sun", "101","li", "110","tui" ); my %hexagrams =( "chienchien",1, "chienchen",34, "chienkan",5, "chienken",26, "chienkun",11, "chiensun",9, "chienli",14, "chientui",43, "chenchien",25, "chenchen",51, "chenkan",3, "chenken",27, "chenkun",24, "chensun",42, "chenli",21, "chentui",17, "kanchien",6, "kanchen",40, "kankan",29, "kanken",4, "kankun",7, "kansun",59, "kanli",64, "kantui",47, "kenchien",33, "kenchen",62, "kenkan",39, "kenken",52, "kenkun",15, "kensun",53, "kenli",56, "kentui",31, "kunchien",12, "kunchen",16, "kunkan",8, "kunken",23, "kunkun",2, "kunsun",20, "kunli",35, "kuntui",45, "sunchien",44, "sunchen",32, "sunkan",48, "sunken",18, "sunkun",46, "sunsun",57, "sunli",50, "suntui",28, "lichien",13, "lichen",55, "likan",63, "liken",22, "likun",36, "lisun",37, "lili",30, "litui",49, "tuichien",10, "tuichen",54, "tuikan",60, "tuiken",41, "tuikun",19, "tuisun",61, "tuili",38, "tuitui",58 ); Potom samozrejme niečo takéto: $ARGV[0] =~ /(ddd)(ddd)/; print "first trigram is $1n"; print "second trigram is $2n"; $lower_trigram=$trigrams{$1}; $upper_trigram=$trigrams{$2}; $hex_id=$hexagrams{$lower_trigram.$upper_trigram}; print "LOWER TRIGRAM IS $lower_trigram n"; print "UPPER TRIGRAM IS $upper_trigram n"; print "HEXAGRAM IS ".$hex_id."n"; z command line volať napr. $ perl ./iching.pl 111000 (jednotka reprezentuje yangovu solid line, 0 je yinova broken line) njoy |
| |||||||||||||||||||||||