XMLHttpRequestを使ってCGIインタフェースを実装する

az-prolog @ ウィキ内検索 / 「XMLHttpRequestを使ってCGIインタフェースを実装する」で検索した結果

検索 :
  • XMLHttpRequestを使ってCGIインタフェースを実装する
    az-prologのでもサイトでcgiライブラリの実装が沢山あるので、 ここではAjaxを使ってhttpから入出力を行う簡単なサンプルを作ってみます。 http //demo.az-prolog.com/demo/ //test.html html meta http-equiv="Content-Type" content="text/html; charset=Shift-jis" script type="text/javascript" src="xmlhttprequest.js" /script script type="text/javascript" function f(){ xmlHttp=new XMLHttpRequest(); ...
  • トップページ
    ...ッケージのサンプル XMLHttpRequestを使ってCGIインタフェースを実装する 組み込みmecab使用例 組み込みRedis述語を使用する s_childを使ったcabocha使用例 制約論理プログラミング 制約論理プログラミングその1 制約論理プログラミングその2 制約論理プログラミングその3 エディタ設定 sakuraエディタとgeditの設定方法 C言語拡張ライブラリの作成方法 C言語拡張ライブラリの作成方法 C言語拡張ライブラリの作成方法 続編 github github 免責事項 このサイトはsofnecさんとの関係は一切なく、個人で作成したサイトです。 このサイトを見てプログラムや文章等を利用した際、 その結果によって生じたトラブル・損害等について、 こちらでは一切責任を負いません。
  • 組み込みmecab使用例
    az-prologではオープンソースの形態素解析ツールMecabを簡単に使える ライブラリがあります。 ここでは簡単にテキストデータから名詞の表層系のみを抽出するプログラムを作ってみましょう。 windowsの場合は,Babbageを使ってUTF-8形式に対応する必要があります。 .plファイル、入力ファイル、辞書データはutf8形式で使用して下さい。 C \prolog prolog_c -utf8 -dlib_require(mecab). test -init, see( Input.txt ,S), repeat,gets(S,X,N),f(X),N= =1, seen(S),told. init - [- my_mecab.pl ], kanji_mode(_,off), abolish(mecabID,2),mecab_init. f...
  • 制約論理プログラミングその1
    AZ-Prolog version 7.51から制約論理機能が新しく追加されていました。 簡単な使い方と実用的に使用する際に注意すべき内容をまとめます。 ユーザーズマニュアルはsofnecさんの方で公開していますので、 こちらの内容に記載しているものは解説を省きます。 http //www.az-prolog.com/manual/manuals/manual_clp.html#clp またmanual述語を使用するとディレクトリ内のhtmlファイルを呼び出して ドキュメントを閲覧する方法も有ります。 ?-manual(clp). 制約論理機能の使い方 変数に制約を与える方法はin/0などの基本組込述語を使用した方法と、 #などの 拡張ライブラリ組込述語を使った方法が有ります。 詳しくは上記マニュアルを参照して下さい。 基本組込述...
  • リストの使い方
    リストについて   Prologではリストを使えば、不定個の要素に構造を持たせて、色々な処理を実装することができます。 構造 [項1,項2,・・・,項n] 例 [ぶどう,りんご,いちご] ・・・果物のリスト [1,2,3,4,5]    ・・・数字のリスト リストは、入れ子も可能です。 [[項1],項2,[項3,項4]] リストの分解  リストは|(縦棒)を使用し、頭部と尾部に分ける事ができます。 例 ?- [a,b,c,d] = [A | B]. A = a, B = [b,c,d] ?- [a,b,c,d] = [A,B |C]. A = a, B = b, C = [c,d] リストを使ってみよう リストの要素をすべて出力 test - L=[1,2,3,4,5],func(L). func([]) -!. func([A|L]...
  • 制約論理プログラミングその3
    今回は自然言語処理で実際に使うことを目的とした制約論理プログラミングを作ってみましょう。 prologでは単位節を使ってデータとして値を保存し、プログラムで単位節を選んでいって、 ユニフィケーションしていくのですが、条件が複数含まれていたり(条件なしも含む)、 条件が動的に決まるような場合はプログラムが複雑になることがあります。 制約論理プログラミングではこの問題を解決してくれます。 サンプルを見てみましょう。 test - freeze(A,member(X,[ 喜 , 怒 , 哀 , 楽 ])), freeze(A,member(X,[ 怒 , 哀 , 楽 ])), freeze(A,member(X,[ 哀 , 楽 ])), freeze(A,member(X,[ 楽 ])), A = true, write(X). ||?-test. 楽 yes LOOP =...
  • インタプリタにプログラムを読み込む
    インストール作業が完了したら、プログラムを書いて実行させるところまでやってみましょう。 プログラムの夫々の意味は次項以降に記載しています。 試しに使ってみましょう imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 まず最初に起動すると ?-と書いてあるのを消して 上記のように一行づつプログラムを記述します。 3行書いたら?- の後にlisting. と記述すると 上に記載した3行のプログラムが表示されます。 これは正確にインタプリタにプログラムが格納されたことを意味します。 ?- 以降は記載したプログラムが正しい動作か否かを確認するための記述です。 XとYは変数です。こちらは次項に説明を行なっています。 ?-a(X). と記述した後にEnterキーを押...
  • dcg
    今までは単位節やホーン節( - がある述語)などを使ってきましたが、 その他にdcgと言った便利な方法があります。 prologの設計者のAlain Colmerauer氏はこれを作りたくてprologを作ったと 誰かに聞いた覚えがあります。 weather -- a,b,c,d. a -- [ 今日 ]. a -- [ 昨日 ]. a -- [ 明日 ]. b -- [ の天気は ]. c -- [ 晴れ ]. c -- [ 雨 ]. c -- [ 曇 ]. d -- [ です ]. test -weather(A,[]),atom_appends(A,B),write(B),nl,fail. test -!. テストしてみましょう。 ?-test. 今日の天気は晴れです 今日の天気は雨です 今日の天気は曇です 昨日の天気は晴れです 昨日の...
  • Prologの基本的なデータ構造
    Prologの基本的なデータ構造 単位節について   Prologの基本単位は「項(term)」と呼ばれます。   項は単純項と複合項に分類されます。   さらに単純項は定数と変数があります。 定数 定数はプログラムの実行中に値は変化せずに一定です。 定数には数とアトムがあります。 数 ・・1234など アトム・・abc、山田、 XYZ など 変数 変数はプログラムの実行前に、自身の値が定まっていない項です。 プログラムの実行中に値が決まります。 (1)英大文字で始まる任意の文字列 ・・・XYZ (2)アンダーラインで始まる任意の文字列 ・・・_山田 複合項 複合項は項をいくつか組み合わせてできた項です。 述語(アリティ、・・). ※Prologでは引数のことをアリティを呼びます。 単位節を使ってみよう(その1) a(1). test - a(X)...
  • プラグイン/ニュース
    ニュース @wikiのwikiモードでは #news(興味のある単語) と入力することで、あるキーワードに関連するニュース一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_174_ja.html たとえば、#news(wiki)と入力すると以下のように表示されます。 【カウンターサイド】リセマラ当たりランキング - カウサイ攻略Wiki - Gamerch(ゲーマチ) ウィキペディアを作ったiMacが箱付きで競売に登場。予想落札価格は約96万円!(ギズモード・ジャパン) - Yahoo!ニュース - Yahoo!ニュース 終末のアーカーシャ(終アカ)攻略wiki - Gamerch(ゲーマチ) メトロイド ドレッド攻略Wiki - Gamerch(ゲーマチ) 【まおりゅう】最強パー...
  • インストール方法
    このページではaz-prologのインストール方法について説明を行います。 本家ではプログラムをコンパイルするためにVisual Studio Expressのインストールの 説明を行なっていますが、ここでは単に使用するだけならこの作業は必要ないので、 インタプリタを使用するまでの説明を行います。 windows版 1.Az-prologをダウンロードする。 https //www.az-prolog.com/download 64bitの最新版 http //www.az-prolog.com/az_download/7/win/64/azprolog7.53x64.msi 32bitの最新版 http //www.az-prolog.com/az_download/7/win/32/azprolog7.53x32.msi 2.インストール作業...
  • 制約論理プログラミングその2
    制約論理プログラミングについて その2です。 まず最初に自作述語を使用した、制約論理プログラミングを作成してみましょう。 以下は、my_minを作ってXにYを条件として加えた時のXの最小値を求めるプログラミングです。 test - dlib_require(clp), X in 0..100, Y is 50, my_min(X,Y,Z), write(Z). my_min(X,Y,X) -X # Y,labeling([X]). my_min関数内でラベリングを行い、第3アリティにXを返して最小値を返しています。 ここで,write(Z)→write(X)に変更するとどうなるでしょうか? 答えは、おなじになります。 なので上記のプログラムは以下のように簡略化できます。 test - dlib_require(clp), X ...
  • デバッグ
    trace/0   traceは実行することで、トレースモードを開始することの出来る述語です。   トレースモード中は、コールする全述語の「成功」「失敗」「エラー」等が画面に表示されます。 例 trace a. b. c. test -a,b,c. 普通に実行 | ?-test. yes トレース開始 | ?-trace. yes debug mode on ||?-test. [1] 0 Try test ? Match test - a, b, c. [2] 1 Try a ? Match a. [2] 1 Succ a [2] 1 Try b ? Match b. [2] 1 Succ b LAST CALL [1] 0 Try c...
  • s_childを使ったcabocha使用例
    2014.05.07 現在 64bit版windows Linux両方ともcabocha組み込み述語が無いので、 代用としてs_child述語を使用して対応しています。 test - kanji_mode(_,on),s_child(cabocha,[ -f1 , -d , /unidic ],A,B,C), see( test.txt ,S), repeat,gets(S,D,N),f(A,B,D,E),write(E),N= =1, seen(S),seen(B),told(A),told,s_kill(C,15). f(A,B,[],[]) -!. f(A,B,T,F) -puts(A,T),gets2(B,[0,0,0,0],D-D,E-E,F). %%util gets(S,L,N) -get0(S,X),gets(S,X,L,N). gets(S,4,[],...
  • 組み込みRedis述語を使用する
    組み込みredisは今のところLinuxしか対応していないようです。 /* %redis組み込み関数 redis_connect redis_free_context redis_command redis_command_hate_integer redis_version redis_is_disconnected */ redis_init -redis_connect( 127.0.0.1 ,6379,3000,C),assert(redis_ID(C)),!. resis_end -abolish(redis_ID,1),redis_free_context(C). resis_set(K,V) -redis_ID(C),!,redis_command(C,[set,K,V],_,_). resis_get(K,V) -redis_ID(C),!,redis_comma...
  • テキストを整理するプログラム
    基本的なプログラム作法を学んだら、次は述語を使って実用的なプログラムを作ってみましょう。 今回はこのようなテキストがあったとします。 //in.txt こんにちは やあ こんにちは こんにちは さよなら 今晩は はじめまして 今晩は 今晩は さようなら やあ さようなら さようなら はじめまして よく見ると同じ文章が複数含まれています。 重複している文章が不要なので、ニ度入力された文章は無視して 別のテキストファイルに保存するプログラムを書いてみましょう。 test -kanji_mode(_,on), tella( out.txt ), see( in.txt ,S), repeat,gets(S,X,N),f(X),N= =1, seen(S),told. gets(S,L,N) -get0(S,X),gets(S,X,L,N). gets(S,4,[],...
  • プラグイン/RSS
    RSSを取り込んで一覧表示(showrss) #showrss(ここにRSSのURL) もしくは #rss(ここにRSSのURLを入力) と入力することで指定したRSSを取り込んで一覧表示します。 詳しくはこちらをご覧ください。 =>http //www1.atwiki.jp/guide/pages/266.html#id_b6d0b10d たとえば、#showrss(http //iphone.appinfo.jp/rss/pricedown/,target=blank,countrss,lasttime) と入力すると以下のように表示されます。 showrss プラグインエラー RSSが見つからないか、接続エラーです。
  • ストリーム
    ストリーム系述語 see/2,get0/2,tell/2,put/2   ファイルのオープン・クローズ、また、入出力に関する述語を説明します。 see/2   seeは第一引数を入力ファイルとしてオープンし、そのストリーム値を第二引数の変数にユニファイする述語です。   このストリーム値を後述するget0などの第一引数に渡すと、指定ファイルからの入力が可能となります。   seeのあとは、入力終了後に必ずseenという述語にストリーム値を渡してクローズする必要があります。 get0/2   get0はseeの第2引数に返されたストリーム値を渡すことで任意のストリームから読み込むことの出来る述語です。   入力値は1文字ずつ取り出され第二引数に文字コードで返されます。 例 see,seen,get0 test - kanji_mode(_,on), see( a...
  • 文字ソート
    az-prologのフォルダの中にクイックソートのサンプルプログラムがありますが、 ここでは文字列を比較してAから順にソートする文字列ソートプログラムを作成してみましょう。 test - L=["BBB","ABC","ACA","ACB","ACC","CBB","CBC","CCA","CCB","CCC", "ABB","BBC","BCA","BCBD","BCBE","BCC","AAA","AAB","...
  • 差分リスト
    ここでは差分リストについて紹介します。 差分リストは特殊な型ということではなく、 リストとユニフィケーションの合わせ技です。 試しに差分リスト無しで、特定の単語ごとに文章を区切るsplit述語を作成してみましょう。 test -my_split( ab cd e fg , , R),write(R). my_split(A,C,R) -!, name(A,B),name(C,[D]), my_split2(B,D,[],R). my_split2([],_,[],[]) -!. my_split2([],_,T,[TT]) -!,name(TT,T). my_split2([D|L],D,T,[TT|R]) -name(TT,T),my_split2(L,D,[],R). my_split2([A|L],D,T,R) -append(T,[A],TT),my_sp...
  • プラグイン/インスタグラム
    インスタグラムプラグイン 人気の画像共有サービス、Instagram(インスタグラム)の画像をアットウィキに貼れるプラグインです。 #ig_user(ユーザー名) と記載することで、特定ユーザーのInstagramのフィードを表示することができます。 例)@dogoftheday #ig_user #ig_tags(タグ名) と記載することで、特定タグのInstagramのフィードを表示することができます。 #dogofthedayjp タグ #ig_tag #ig_popular と記載することで、Instagramのpopularフィードを表示することができます。 詳しい使い方は以下のページを参考にしてください! =>http //www1.atwiki.jp/guide/pages/935.html
  • ヒープ領域への述語の追加と削除
    assertとretract について   assertやretractはヒープ領域内に新たに述語を追加したり、反対に削除したりする組み込み述語です。 assert/1 ヒープ領域に述語を追加します。類似の述語としてasserta,assertzがあり、 それぞれassertaは同一名の述語があった場合に、その述語の先頭に、 assertzはその述語の最後尾に追加されます。 ※assertについても、基本的に同一述語名の最後尾に追加が行われますが、何番目に追加が行われるかは保障されていません。 そのため、確実に最後尾に述語を追加したい場合は、assertzを使用した方が確実です。 例 assert ?-a(1). no ?-assert(a(1)). yes ?-a(1). yes 解説 1回目のa(1).ではまだ何の述語の定義もされていないため、失敗して終...
  • sakuraエディタとgeditの設定方法
    エディタについて Windowsサクラエディタキーワードファイルのダウンロード キーワードファイルのインポート 新規設定の追加 設定内容の変更 Ubuntugedit エディタについて prologのソースコードを記述する際に使いやすいエディタを紹介します Windows サクラエディタ Windows用のフリーのテキストエディタです。標準ではprologモードは入っていませんが、キーワード・コメントスタイル等を定義して見やすくする事ができます。 サクラエディタ ダウロードページ キーワードファイルのダウンロード こちらから サクラエディタ用AZ-Prolog述語キーワード サクラエディタ用AZ-Prolog正規表現キーワード をダウンロードし、 C \Program Files (x86)\sakura\keyword もしくは C \Pro...
  • array型
    az-prologでは配列のような入れ子型は、 リスト型とは別にアレイ型というものがあります。 アレイには大量にデータを入れることができるので、 単位節の代わりに使うと便利です。 簡単に単位節をassertする時間と、 単位節の一番先頭を削除するretractする時間を調べる ベンチマークプログラムを作成してみました。 test - timecount( 1000), timecount( 5000), timecount( 10000), timecount( 30000), timecount( 50000), timecount( 70000), timecount(100000), timecount(300000), timecount(500000), true. timecount(X) - A is cputime, create_func(...
  • AZ-prologで使用できる述語一覧を表示する
    az-prologには隠し述語が存在します。 どのように使うかは開発者にしか分からないのですが、 ここでは隠し述語を表示する方法を記述します。 ?-current_pred(X,_),write(X),nl,fail. この述語はどのように使えるの?といった質問はsofnecさんに言えば教えてくれるかもしれません。
  • プラグイン/アーカイブ
    アーカイブ @wikiのwikiモードでは #archive_log() と入力することで、特定のウェブページを保存しておくことができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/25_171_ja.html たとえば、#archive_log()と入力すると以下のように表示されます。 保存したいURLとサイト名を入力して"アーカイブログ"をクリックしてみよう サイト名 URL
  • プラグイン/編集履歴
    更新履歴 @wikiのwikiモードでは #recent(数字) と入力することで、wikiのページ更新履歴を表示することができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_117_ja.html たとえば、#recent(20)と入力すると以下のように表示されます。 取得中です。
  • よくやりがちな間違え1
    よくやりがちな間違え ここではまだprologに慣れていない時に誤りがちな書き方と 修正方法について説明します・ 以下のプログラムを見てみましょう。 test - func([ A , A , A , A , A ]). func([]). func([ A |L]) -write( a ),func([L]). 述語funcの中に A が入っていれば小文字のaをコンソールに記述するプログラムです。 早速試してみましょう。 | ?-test. ano %traceしてみましょう Match test - func([A,A,A,A,A]). %1回目 LAST CALL [1] 0 Try func([A,A,A,A,A]) ? Match func([A,A,A,A,A]) ...
  • プラグイン/コメント
    コメントプラグイン @wikiのwikiモードでは #comment() と入力することでコメントフォームを簡単に作成することができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_60_ja.html たとえば、#comment() と入力すると以下のように表示されます。 名前 コメント
  • プラグイン/動画(Youtube)
    動画(youtube) @wikiのwikiモードでは #video(動画のURL) と入力することで、動画を貼り付けることが出来ます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_209_ja.html また動画のURLはYoutubeのURLをご利用ください。 =>http //www.youtube.com/ たとえば、#video(http //youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。
  • リスト処理を用いた述語の作成
    今回は、リスト処理を学習する際に、よく出現する述語の member append length reverse について学習します。 member/2 第一アリティの値が、第二アリティのリスト内に存在するか調べる member(X,[X|_]). member(X,[_|T]) - member(X,T). ?-member(a,[a,b,c]). yes ?-member(d,[a,b,c]). no 解説  member述語は2つ定義します。  まず一つ目の述語は、第一アリティと、第二アリティのリストの頭部が一致した場合、trueとし  終了します。  一致しなかった場合、2つ目の述語が実行され、第二アリティを頭部、尾部へ分解し  第一アリティと、尾部を再度、自分自身へ渡します。  ※注:memberはAz-Prologには組み込み述語として定...
  • プラグイン
    @wikiにはいくつかの便利なプラグインがあります。 RSS アーカイブ インスタグラム コメント ニュース 人気商品一覧 動画(Youtube) 編集履歴 関連ブログ これ以外のプラグインについては@wikiガイドをご覧ください = http //atwiki.jp/guide/
  • プラグイン/関連ブログ
    関連ブログ @wikiのwikiモードでは #bf(興味のある単語) と入力することで、あるキーワードに関連するブログ一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_161_ja.html たとえば、#bf(ゲーム)と入力すると以下のように表示されます。 #bf
  • プラグイン/人気商品一覧
    人気商品一覧 @wikiのwikiモードでは #price_list(カテゴリ名) と入力することで、あるカテゴリの売れ筋商品のリストを表示することができます。 カテゴリには以下のキーワードがご利用できます。 キーワード 表示される内容 ps3 PlayStation3 ps2 PlayStation3 psp PSP wii Wii xbox XBOX nds Nintendo DS desctop-pc デスクトップパソコン note-pc ノートパソコン mp3player デジタルオーディオプレイヤー kaden 家電 aircon エアコン camera カメラ game-toy ゲーム・おもちゃ全般 all 指定無し 空白の場合はランダムな商品が表示されます。 ※このプラグインは価格比較サイト@PRICEのデータを利用しています。 ...
  • メニュー
    メニュー トップページ プラグイン紹介 まとめサイト作成支援ツール メニュー メニュー2 リンク @wiki @wikiご利用ガイド 他のサービス 無料ホームページ作成 無料ブログ作成 2ch型掲示板レンタル 無料掲示板レンタル お絵かきレンタル 無料ソーシャルプロフ ここを編集
  • まとめサイト作成支援ツール
    まとめサイト作成支援ツールについて @wikiにはまとめサイト作成を支援するツールがあります。 また、 #matome_list と入力することで、注目の掲示板が一覧表示されます。 利用例)#matome_listと入力すると下記のように表示されます #matome_list
  • 英文字変換
    自然言語処理では様々な文字を取り扱います。 その際、ABCとabcを全く同じものとしたり別々のものとしたい時が別れることがあります。 今回は小文字や全角を全て半角大文字に変換するプログラムを書いてみましょう。 convalpha(A,X) - name(A,B), convsalpha(B,Y), name(X,Y). convsalpha([],[]) -!. convsalpha([A|L],[B|S]) -A 96,A 123,!,B is A-32,convsalpha(L,S). %[a-z]=[97-122] %shift-jis convsalpha([A|L],[B|S]) -A 33375,A 33402,!,B is A-33311,convsalpha(L,S). %[A-Z]=[33376-33401] convsalpha([A|L],[B|S])...
  • @wiki全体から「XMLHttpRequestを使ってCGIインタフェースを実装する」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索