[掲示板へもどる]
一括表示

  [No.1675] near()内の()について 投稿者:とん  投稿日:2014/05/28(Wed) 10:24:58

こんにちは。
いつも文章を解析する際、愛用させてもらっているものです。

今日は、コーディングについて1つ質問したいことがあります。

nearの括弧内に括弧用いて「or」などを用いたいのですが、
そういったことは可能でしょうか?

例1
near(ゲーム-(絵 | グラフィック | 解像度 | 画像 | キャラ )-(かわいい | きれい | 美しい) )


例2
*グラフィック
絵 | グラフィック | 解像度 | 画像 | キャラ

*表現
かわいい | きれい | 美しい

near(ゲーム-<*グラフィック>-<*表現>)

       ↑
といったようなことが出来ないかと思い、
何回か試してみても失敗するため、諦めかけており、何か
手だてがあれば教えて頂ければと思います。


  [No.1676] Re: near()内の()について 投稿者:HIGUCHI Koichi  投稿日:2014/05/28(Wed) 10:34:52

こんにちは、樋口です。書き込みありがとうございます。

残念ながら現在のところ、nearのカッコ内でorを用いることはできません。

> near(a-(b or c))

のように書けると良いのですが、現在はできません。下記のように書いていた
だく必要があります。

> near(a-b) or near(a-c)

これはnearだけでなくseqでも同様です。

あまりスマートではなく、改善した方が良いのですが、目下のところ目処が立
っていません。ご不便をおかけして恐縮です。


  [No.1677] Re: 全体のコーディング文字数や*ないの文字数について 投稿者:とん  投稿日:2014/05/28(Wed) 10:48:47

こんにちは。
早い返信有難うございます。助かりました。


そうなんですね。できないのは残念です。
地道にやっていきます(笑)

もう1つ質問なんですが、
*ゲーム
near(a-b)[3] or near(〜)[3] or near(〜)[3]〜〜

と繋いでいくと多すぎるせいかエラーになっていまします。
1つの*(アスタリスク)内ではいくつまで
条件を書けるのか、またコーディングの量(文字数など)にも
制限があれば教えてただきたいです。

今のところ*の中身は100個ほどnearなどでつなげた場合は出力されますが、それを超えると、エラーになってしまうみたいです。
バージョンはやや古めです。


  [No.1678] Re: コーディングルールの制限について 投稿者:HIGUCHI Koichi  投稿日:2014/05/28(Wed) 11:03:11

こんにちは、樋口です。書き込みありがとうございます。

今のところ、こちらで把握している制限は、(a) 1つのコーディングルール・
ファイルに記入可能なのは900コードまで、(b) 1つのコードの中で使用できる
のは725語まで、というものです。コードというのは、「*」で命名された名
前と、条件とのセットのことです。

なお、これ以下の数でも、コンソール画面に以下のようなエラーが出て止まっ
てしまうことがあり得ます。

> DBD::mysql::db do failed: Thread stack overrun.

この場合、KH Coderを終了してから、「deps\mysql\khc.ini」を開き、以下の
行を [mysqld] セクション([mysqld]という行の直後)に追加してください。

> set-variable = thread_stack=256K

その上で、KH Coderを再度起動し、前処理を再実行していただけば、上記(a)
と(b)の制限まではいけると思います。(※私の気づいていない別の制限がな
ければ、なのですが)


  [No.1686] Re: コーディングルールの制限について 投稿者:とん  投稿日:2014/05/28(Wed) 18:07:34

親切に回答してくださって有難うございました。
だいぶ遡ると自分が、最初に質問したのとほぼ近いものが
ありました。すいません。


  [No.1691] Re: コーディングルールの制限について 投稿者:とん  投稿日:2014/06/09(Mon) 11:30:16

*が166個までセーフでしたが167個目を追加するとエラーになりました。
*内にも
*ABC
<*ZX〜>
のように使用していますが、<>内の*も900コードの一部に含めてカウント
しなければいけないのでしょうか?


  [No.1692] Re: エラーの内容につきまして 投稿者:HIGUCHI Koichi  投稿日:2014/06/09(Mon) 12:24:39

こんにちは、樋口です。書き込みありがとうございます。

エラーメッセージの内容はどういったものだったでしょうか?
コンソール画面に出ているものも含めてお知らせいただけると、
手がかりになるかもしれません。


  [No.1693] Re: エラーの内容につきまして 投稿者:とん  投稿日:2014/06/09(Mon) 13:46:36

Re: エラーの内容につきまして (画像サイズ: 657×685 21kB)

こんにちわ。

こちらがその画像です。
何回か回してるせいか、途中の処理はでていません。
よって今はいきなりこの画面が現れる状態です。
そして
「*abc〜〜
<*def〜> & <*ghi〜>」
のといった一行を一番下に加えるとこのエラーが出てきて、
これをとると、エラーが消えます。
そのコーディング自体に間違いはないと思います。

単純に量が多すぎるのでしょうか?


  [No.1694] Re: エラーの内容につきまして 投稿者:HIGUCHI Koichi  投稿日:2014/06/09(Mon) 14:03:17

こんにちは、樋口です。書き込みありがとうございます。

コード数の上限に達したというエラーメッセージではないようです。

ただ、原因がコードの記述にあるのか、KH Coderのバグなのかは
よく分かりません。

ヒントを見つけるための試みとして、

> *abc〜〜
> <*def〜> & <*ghi〜>」

の代わりに、1語程度のコードを3つくらい足していただいた場合や、
<*def〜>のみを条件としていただいた場合はいかがでしょうか。


  [No.1695] Re: エラーの内容につきまして 投稿者:とん  投稿日:2014/06/09(Mon) 15:13:46

こんにちは。

別の行を入れるとうまく行きましたが、
樋口先生がおっしゃってた通りにやるとうまく回りました。

*abc〜〜
<*def〜> & <*ghi〜>
を↓
*abc〜〜
<*def〜>と
*abc〜〜
<*ghi〜>
で回すとうまく回りました。
しかし、<*def〜>と<*ghi〜>はそれぞれ、
*jkl
〜〜 or 〜〜
*mno
〜〜 or 〜〜
*〜〜

*def〜
<*jkl〜> | <*mno〜>・・・・・・

といったようにアスタリスクをアスタリスクでコーディングする作業を
複数回行っています。

ここで仮説なんですが、1つの*内に入る文字数のカウントは
*内にある*やさらにその中にある*内の文字もカウントいているということなんでしょうか?

わかりづらくて申し分けありません。


  [No.1696] Re: エラーの内容につきまして 投稿者:HIGUCHI Koichi  投稿日:2014/06/09(Mon) 18:06:23

こんにちは、樋口です。書き込みありがとうございます。

> ここで仮説なんですが、1つの*内に入る文字数のカウントは
> *内にある*やさらにその中にある*内の文字もカウントいて
> いるということなんでしょうか?

今ざっとソースを見返した限り、そういう形ではないようです。

うーん、以下のような形だと、動いたりしますでしょうか?

> *abc〜〜
> <*def〜> | <*ghi〜>


  [No.1697] Re: エラーの内容につきまして 投稿者:とん  投稿日:2014/06/09(Mon) 19:01:13

こんばんわ
私は現在、1つのアスタリスクの中に
100行いれている状態です。
*REI1
A & B
| C & D
| E & near(F-G)[3]
・・・
↑↑このような場合を3行とし100行ほど作成したものを
*REI1とおいています。
さらにそこに
*REI
<*REI1> | <*REI2> | <*REI3> | <*REI4> とこれを<REI17>
と定義しています。

さらにこれを
*REIとアメ
<*AME> & <*REI>
のようにしていますが問題はここでエラーが起きました。

そのため、*REIとアメを
*REIとアメ
<*AME>、
または
*REIとアメ
<*REI>
で、回してみるとうまく行きました、
当初、
*REIとアメ の中には、<*AME> & <*REI>しか入っていないので多すぎることは
ないと思っていたのですが、<*REI>のなかに入っている要素も数えている
みたいで、*REIにある*REI1〜*REI17のなかにある要素を330個ほど削除
しました。すると、問題が起きたエラーもうまく回りました。

結論は、
*AAA
<*BBB>&<*CCC>
の場合、BBBやCCCの要素の数が多すぎると*AAAは量が多すぎると判定し
エラーになるようでした
すいません。お手数おかけしました。




<*ghi〜>