伺か向けのフォーラム。自由に使ってください。ユーザアカウント登録なしで閲覧できます。
共有アカウント: 774user / 774user
YAYAの関数のオプションにnonoverlapがありますが
ダブルクリック0Head : nonoverlap
{
PokeHead++
if (PokeHead == 1){
<<"
テスト1
">>
<<"
テスト2
">>
<<"
テスト3
">>
}
elseif (PokeHead >= 3){
<<"
テスト4
">>
<<"
テスト5
">>
<<"
テスト6
">>
}
else{
<<"
テスト7
">>
<<"
テスト8
">>
<<"
テスト9
">>
}
}
と記述しても、連続して同じ文章が出力される場合があります。
条件分岐が入るとnonoverlapの動作が変わったりするのでしょうか?
ありがとうございます!dllを作っていただけるとは...
度々申し訳ありませんが、まだ少し伺いたいことがあります
1.
_Rank = FUNCTIONEX("SAORI\kisaragi.dll",'parse',"如月と申します",)
<<"
%(valueex0)
%(valueex1)
%(valueex2)
%(valueex3)
%(valueex4)
%(valueex5)
">>
これで実行すると出力は
如月キサラギ如月名詞-一般
とトと助詞-格助詞-引用
申しモウシ申す動詞-自立五段・作業連用形
ますマスます助動詞特殊・マス基本形
EOS
となり、たしかに形態素解析は実行されているのですが、デリミタがありません。
出力フォーマットで%Hを指定すれば","をデリミタにはできますが、この場合出力がvalueex0のみとなってしまいます。
各valueex*に格納しつつデリメタをつける方法はありますか?
2.
valueex*を配列として扱うことはできますか?
Resultのサイズの配列としてvalueex[_i]を取得したいのですが...
原因はよくわかりませんでしたが、睦月を使わずに直接ChaSenをコンパイルしてそのままsaori-basicとして動かすことにしてみます。
そこでまた質問なのですが、いまだsaoriおよびFUNCTIONEXの仕様が分かっておらず...
例えば以下のようなHello Worldを出力するプログラムをコンパイル(a.exe)して
#include<iostream>
using namespace std;
int main(){
cout<<"Hello World!"<<endl;
return 1;
}
/ghost/master/saoriにa.exeとproxy2.dll(これはYAYAのwikiで紹介されているもの(proxy.dll)はリンク先が消えていたので、こちらhttp://ukananachi.blog98.fc2.com/blog-entry-537.htmlを使用しました)を置き、
Test{
FUNCTIONEX('proxy2.dll','a.exe')
}
とした場合、0が出力されるのですがこれは何の返り値でしょうか?main()の返り値であれば1のはずなのですが...
またストリームのHello Worldを出力したい場合はどうすればいいのでしょうか?
以下睦月のreadmeから引用
==============================================
■ インストール方法
まず、ChaSen Ver.2.3.3以降をインストールします。その後、mutsuki.dllと同じ
フォルダに、ChaSenフォルダからコピーしたlibchasen.dll、libiconv-2.dllを
置きます。その後は通常のSAORIモジュールと同じです。
==============================================
とあるので、当時のChaSenのバージョンであろう2.3.3で実行していますが...
SAORIの使い方はwikiのtipsに書いてありました(用途別関数一覧には載っていなかった...)
なのでこれはYAYAそのものよりSAORIの質問になってしまうかもしれませんが...
形態素解析を実行したいのですが、master以下のディレクトリにmutsuki.dll, libchasen.dll, libiconv-2.dllを置いて以下のように記述したところ
Learntest{
<<"
テスト08:なにかな?
">>
--
'\![open,inputbox,OnLearn,0]'
}
//SAORIを使う場合はFUNCTIONEX
//SAORIの仕様として関数自身の返り値(Return)とは別にValue*が存在し、valueex*に格納される
OnLearn{
_Return = FUNCTIONEX('mutsuki.dll','parse',reference[0])
valueex0
}
エラーは吐きませんが、うまく動作はしません。
このSAORIを使ったことがある人がいたら詳しく教えてほしいです
YAYA及びライブラリのあやりりすを使用しています。
inputboxによる会話のあとそのままinputboxを表示し続けるようにしたいのですが、
OnCommu{
if (RE_SEARCH(reference[0], '(?|\?)$')){
<<"
テスト08:そうかもしれないね
">>
<<"
テスト00:悪くないんじゃないかな
">>
}
else {
<<"
テスト03:ん...?
">>
}
\![open,inputbox,OnCommu,0]
}
のようにしても上手く機能しません。
各トークごとに文中の展開で\![open,inputbox,OnCommu,0]を文末で実行すれば機能はするのですが、記述が煩雑で...
なにか良い方法はありますか?