このサイトのプログラミングのコードはCrayon Syntax Highlighterを使っているけど、ずっと<と>の記号の文字化けに悩まされてきた。Demographerやプログラマとしては、重用する記号だけにどうしようかなと思っていたら、これで解決出来た。
設定の
「Decode HTML entities in code」
にチェックを入れるだけ。
このサイトのプログラミングのコードはCrayon Syntax Highlighterを使っているけど、ずっと<と>の記号の文字化けに悩まされてきた。Demographerやプログラマとしては、重用する記号だけにどうしようかなと思っていたら、これで解決出来た。
設定の
「Decode HTML entities in code」
にチェックを入れるだけ。
昨晩、キチェ語の初日のクラスに行った。初級からの筈だったけど、キチェ語をある程度話すことがバレて少し上のレベルに。結果としていきなり単語数が100以上に。プログラム用の辞書に入力する単語が増えると、複雑になってしまうなぁ。
取り敢えずプログラムの第一弾。プログラムの名前は会話を意味する「Tzijonik」とした。この単語も授業で出たので利用することに。初めてRubyで書いたプログラム。とはいえ、「恋するプログラム」のサンプルを基にしてるけれど。これをJavaでも作成しないと。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
class Responder def initialize(name) @name = name end def response(input) return "Jas #{input}?" end def name return @name end end class Tzijonik def initialize @responder = Responder.new('Kotzij') end def dialogue(input) return @responder.response(input) end def responder_name return @responder.name end end def prompt(kotzij) return kotzij.responder_name + '>' end flor = Tzijonik.new puts('Tzijonik: Version 1.0 (20170503)') currentTime = Time.now #get the current time hour = currentTime.hour if hour < 3 && hour > 12 then saludo = 'Saqarik' elsif hour >= 12 && hour < 18 then saludo = 'Xe\'q\'ij' else saludo = 'Xokaq\'ab\'' end puts(prompt(flor) + saludo) puts(prompt(flor) + 'In al Kotz\'ij') while true print('>') input = gets input.chomp! break if input == '' response = flor.dialogue(input) puts(prompt(flor) + response) end |
プログラム自体は単純。Kotz’ijは礼儀正しい子なのでまずは挨拶。それから自己紹介。その後は入力された文字列に対し「何(Jas)?」と聞き返すだけ。なお、挨拶はプログラム開始時間に合わせることとした。
おはようはSaqarik
こんにちははXe’q’ij
こんばんははXokaq’ab’
さてここからKotz’ijはどんな成長をするかな。
キチェ語の初級コースを受講することとなった。期間としてはこの言葉は大分長い間学んできたので初めから学ぶ必要は特にないけれど、このコースを学ぼうとした理由が2つ。一つは教授がキチェ語の本を執筆した、結構有名な人で会ってみたいと思っていたからだ。
二つ目としては人工無脳や人工知能に関心がある身としては新しく学ぶ言語というのは非常に重要な素材になり得るということ。取り敢えず人工無脳プログラムを授業で学ぶ単語と文法だけで作ってみたいと思う。授業は週二回なのでその頻度でプログラムと単語リストを更新していければ。
同時にこれまでにも作成していたキチェ語の.texファイルを更新しようかな。
Kotz’i’jとはキチェ語で「花」の意味。スペイン語ではFlorという名の女性がいることから。Eliza以来の習慣に従い女性にした。「恋して」は人工無脳関連のプログラミングで有名な書籍を参考に。
言語はアンドロイドのアプリ作成を念頭においてJavaと新たにRubyで。
Rは重用しているプログラムだけど更新の際は再インストールする必要がある点が面倒。正確には再インストール自体よりパッケージの再インストールだけど。
少しでも煩わさを軽減させるため最近ではパッケージを一括インストールする様にしている。プログラムが更新される度に毎回インストールしている訳ではないけれど。
やり方自体は至って簡単でこの1行だけ
1 |
install.packages(available.packages()[,1]) |
他にもやり方はあるだろうけどずっと10年位これを使ってきた。ミラーサイトを選んでダウンロードが開始されたら待つだけ。全てのパッケージなのでそれなりに時間は掛かる。
半年ぶりにRを再インストールしたけど今回のバージョン名は「You Stupid Darkness」なのね。ジョークなんだろうけど、学者やプログラマらしくはないなぁ。