一括表示

− 野ざらし言 −

[3315] Vz演算子の質問

としき 2009/05/16(Sat) 17:38
http://www.hinocatv.ne.jp/~toshiki/
Vzの取扱説明書によると、二項演算子に「^^」というのがあります。
これに関するわかりやすい説明ってどこかにありませんか?

[3316] Re: Vz演算子の質問

めざら 2009/05/17(Sun) 12:00
[3315]へのコメント http://homepage3.nifty.com/mezala/
 演算子の説明に関しては,一般のプログラム言語の演算子の説明を参照する
ということでしょうか。マニュアルでもまったく説明はありませんね。

 ちょっと調べようとすると,「^^」というのは,
・数少ない空いている[Ctrl]の1ストロークキーでテストマクロで多用
・上の行の特定部分を強調する擬似下線に多用
・笑い顔文字の目の表現に多用
…ということで,普通に検索することが困難です。正規表現を使っても,
括弧の内側に現れることの多い顔文字では,ほぼお手上げなのですね。
いやいや,こんなに調べるのが大変だったとは思いませんでした。

 論理XORは,集合Aと集合Bのいずれかに含まれ,AとBの両方に含まれるものは除く
ということなので,例えば2個の数の公倍数になると偽になるというような感じ
なのですよね。うーん,いい例が探せない,考えつかない。
= t
* m
1 ^^ ""
        ?.
        mx[+, &g("数") mx], d=r,
        a=2, b=3, c=4,
        w = d%a ^^ d%b,         ;2か3の倍数で6の倍数でないもの
        x = d%b ^^ d%c,         ;3か4の倍数で12の倍数でないもの
        y = a+b==d ^^ b+c==d,   ;5と7のみ真
        &m("d:%d // w:%d / x:%d / y:%d",d,w,x,y)
*

 この程度のことは承知の上でのお尋ねとは分かっていても,すみません。
いい例が見つかりません。

[3317] Re^2: Vz演算子の質問

としき 2009/05/17(Sun) 21:46
[3316]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  演算子の説明に関しては,一般のプログラム言語の演算子の説明を参照する

ところが、非常に良く似た演算子が多数備わっているC言語には、「^^」と
いう演算子はなかったりするわけでして。なので、

>  この程度のことは承知の上でのお尋ねとは分かっていても,すみません。

実は、排他的論理和(XOR)の演算子とは気がついていなかったのです。
つまり

「これは、排他的論理和の演算子です」

というヒトコトがどこかにあれば、それで私の疑問は終わってしまったはず
なのですが、あいにくとどこにも見つからなかった。めざら資源のFAQの
中でも見つけられなかったし、教えてもらっておいて言いがかりのような感
じで大変申し訳ないのですが、#3316でさえそのようには明記していなかった
りするわけで。

> …ということで,普通に検索することが困難です。正規表現を使っても,

例えば、めざらさんのマクロディレクトリを検索したとします。
検索対象がいくつのファイルになるかわかりませんが、*.defファイルで絞り
込んで、さらに

> ・数少ない空いている[Ctrl]の1ストロークキーでテストマクロで多用

行頭が数字のものを除外したとして、どのくらいひっかかりますでしょうか。
抽出結果が少なければ、あとは目の子で追いかけて、この演算子を使ってい
るマクロとしてはどんなものがある、という感じでご紹介いただければ幸い
です。もちろん、山のように抽出結果があるようであれば、無茶なお願いと
潔く引っ込めますが。
ちなみに、私のマクロディレクトリの場合、*.defファイルは60ファイル弱
ですが、この演算子を含んでいたのは oth_21p.def だけでした。

[3318] Re^3: Vz演算子の質問

文太 2009/05/17(Sun) 23:09
[3317]へのコメント
^[^0-9].+^^
といった甘々な正規表現では、

c:\def\ara2roma.def 7: (r-9 ^^ r-4)?{&?("%c",p.(1+(r>4))) #s r+,}
c:\def\banner.def 80: (a&k ^^ fa)? &?("%c",cc) ? ' '

 こんなとこでしょうか?
 プログラマだ!

[3319] Re^4: Vz演算子の質問

としき 2009/05/18(Mon) 00:26
[3318]へのコメント http://www.hinocatv.ne.jp/~toshiki/
文太さん、ありがとうございます。

> ^[^0-9].+^^
> といった甘々な正規表現では、

検索結果がそれほど大量でないのなら、ローカルマクロの開始行も抽出対象
に含めるようにしてもいいかもしれませんね。これはコロンの有無で判断が
可能でしょう。もちろん、ローカルマクロを含めなくても大量の検索結果が
出てくるような場合は、さらに結果が増えるようなことはするべきではない
と思いますが。
参考までに、全部で一体いくつのファイルを検索対象とされたのでしょうか。

> c:\def\ara2roma.def 7: (r-9 ^^ r-4)?{&?("%c",p.(1+(r>4))) #s r+,}
> c:\def\banner.def 80: (a&k ^^ fa)? &?("%c",cc) ? ' '

banner.defはポケ3に入れていましたが、母艦に入れていませんでした。
ara2roma.defって、私は知らないのですが、これは誰の何をするマクロなの
でしょうか。

[3320] Re^5: Vz演算子の質問

文太 2009/05/18(Mon) 12:32
[3319]へのコメント
としきさん

^[^0-9][^^]+^^[^^]
 なんだか楽しそうだなぁ。みんな笑ってる(笑)。
 こうすれば、少しましだったでしょうかね。

>もちろん、ローカルマクロを含めなくても大量の検索結果が
>出てくるような場合は、さらに結果が増えるようなことはするべきではない
>と思いますが。
 甘々でしたが、不要なものがたくさん…。

>参考までに、全部で一体いくつのファイルを検索対象とされたのでしょうか。
 たくさんです。300〜400個くらい???
 僕のvzdefディレクトリもジャンク状態なのを、あらためて確認させないで
ください、お願いします(笑)。恥ずかしい…。

>ara2roma.defって、私は知らないのですが、これは誰の何をするマクロなの
 YASATさんが、たしか新年そうそう、頭の体操のために書かれた、アラビア
数字→ローマ数字変換マクロのはずです。住所録にあるでしょう。
 もちろん常用しているわけではありません。すごっ、と思って…。計算バリ
バリです。

[3321] Re^6: Vz演算子の質問

YASAT 2009/05/18(Mon) 23:43
[3320]へのコメント
おお、懐かしい。でもあれは大した事してるわけじゃないですよ。
排他的論理和はたまに使いますね。
もっとも(r-9 ^^ r-4)は(r==9 || r==4)を書き換えただけなんで上品な使いかたじゃないですけど。

[3325] 忘れないVzマクロ言語

文太 2009/05/20(Wed) 22:59
[3321]へのコメント
YASATさん

>排他的論理和はたまに使いますね。
 使うんだ…。

>もっとも(r-9 ^^ r-4)は(r==9 || r==4)を書き換えただけなんで上品な
>使いかたじゃないですけど。
 (r==9 || r==4)と書いてくれれば、僕にも読めるのに…。

 ただですねぇ、もしよかったら教えてほしいのですが、どうやってYASATさん、
マクロ言語を理解したり、書いたりする能力を維持されているんですか。
もう、ほとんどVz使われていないわけですよね。でも、すぐ直せる、読める、
書ける。
 もちろん、僕のような理解が低い人間と比べてという発想が間違っていること
は分かっているつもりなのですが(数値を変数に保存する、ということを忘れた
ときには、自分でものけぞりました)、別の言語バリバリだと、Vzマクロでも、
忘れるはずがない事がたくさんある、ということなのでしょうか。
 ただ、「排他的論理和」なんて、Cにもないという話ですし…。
 アセンブラ・プログラマじゃないですよねぇ。

 時間があるときにでも、どうか。さらっとでよいので。m(__)m

[3329] Re: 忘れないVzマクロ言語

YASAT 2009/05/22(Fri) 20:26
[3325]へのコメント
>  (r==9 || r==4)と書いてくれれば、僕にも読めるのに…。

あまり姑息な書きかたや短縮表記は使わないようにしているのですが、あれは頭の体操で書きましたから。
自分のマクロだとああいう書きかたをしているのはvkfくらいですね。常駐マクロなのでサイズを小さくするために。

他のご質問ですけど、買いかぶりすぎですよ。
言語関係の専門家の人に言うのは気が引けますが、一度身についたことってなかなか忘れませんよね。
ましてや論理的に理解したことならなおさら。
向き不向きはあるかと思いますが、プログラミングはやさしいほうだと思います。

[3333] Re^2: 忘れないVzマクロ言語

文太 2009/05/23(Sat) 14:49
[3329]へのコメント
YASATさん、ご丁寧なレス、m(__)m

> あまり姑息な書きかたや短縮表記は使わないようにしているのですが、あれは
>頭の体操で書きましたから。

 うむ、頭の体操…。これができるところが…

> 他のご質問ですけど、買いかぶりすぎですよ。

 そうでもないでしょう。
 うーん、やっぱりけっこうすごいですよ、マジで。
 本人は気づかない秘技があるのです。当人が言語化できないような…。

> 一度身についたことってなかなか忘れませんよね。

 しょうのない反応しかできませんが、うーん、プログラミングは定着率がひど
く悪いような気もするし、そのそも定着するレベルまでもっていけてないような
気もする…。
 持続力が決定的に不足しているのは間違いがない。

> ましてや論理的に理解したことならなおさら。

 これはその通りなのですが…。

> 向き不向きはあるかと思いますが、プログラミングはやさしいほうだと思いま
>す。

 不向き、か。
 なんか単語を忘れていると(ロジックは思考なのですぐ思いつく)、面倒にな
っちゃうんですよね、たぶん。ここで思考停止。
 うん、怠惰で面倒くさがり屋なんだ。あと、上級者の作品を「読む」という地
道な努力が足りないんですね。
 反省のみ。
 「教えられないよ」的なこと、「やるしかないんだよ」的なこと、確認させて
いただいて感謝です。
 どんな領域のものにしろ理解って、「命がけの飛躍」が見えないところにあっ
て、はじめて可能なんですよね、たぶん。

[3323] Re^6: Vz演算子の質問

としき 2009/05/19(Tue) 00:03
[3320]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  僕のvzdefディレクトリもジャンク状態なのを、あらためて確認させないで
> ください、お願いします(笑)。恥ずかしい…。

多分、みんなおんなじだと思う。
むしろ、発想の転換というかプラス思考というか、それを自慢するべきかも。

追伸。
念のため、ポケ3のvzdefディレクトリも検索してみました。
対象は全部で約40ファイルありました。
ひっかかったのは、案の定というか、banner_f.defのみでした。

[3326] Re^7: Vz演算子の質問

文太 2009/05/20(Wed) 23:04
[3323]へのコメント
としきさん

(ジャンクなvzdefディレクトリ)
>むしろ、発想の転換というかプラス思考というか、それを自慢するべきかも。
 いやあ、やっぱりたまには整理しないとぉ…。
 1バイトに気を使ってのVzerなので。
 cmos さんが、「1バイト違うだけで落ちる言語なんて」と 1.6 開発時に嘆い
ていたのが忘れられなくて。
 メモリを操作してたら、そうでしょう、とも思ったけど…。

>念のため、ポケ3のvzdefディレクトリも検索してみました。
>対象は全部で約40ファイルありました。
 清貧。全部把握できるデフ・ファイルズ。こっちがまともでしょう。

[3327] Re^8: Vz演算子の質問

konno 2009/05/20(Wed) 23:57
[3326]へのコメント
文太さん & としきさん

> (ジャンクなvzdefディレクトリ)
> >むしろ、発想の転換というかプラス思考というか、それを自慢するべきかも。

私のDEFディレクトリは572ファイルありました。勝った。(^^;
でも、*.def だと328です。負けた〜(;_;)

>  いやあ、やっぱりたまには整理しないとぉ…。

う、その通りですね。(^^; m(__)m m(__)m

うちで発掘したのは
KOMONO.DEF 99:;       p"x^^y", c"^^", &>
ですね。コメントになってるけど(^^;

[3328] Re^9: Vz演算子の質問

文太 2009/05/21(Thu) 01:04
[3327]へのコメント
>私のDEFディレクトリは572ファイルありました。勝った。(^^;
>でも、*.def だと328です。負けた〜(;_;)

 申し訳ありません、僕は筋金入りのジャンカーなのです。
 作者様たちに失礼だぞ!
 いやあ、自作ものが100くらいはありそうなので…。

>dir *.def |to
C:\DEF のディレクトリ
644 個のファイル 2,242,286 バイト

 僕の勝ちです。

[3332] Re^10: Vz演算子の質問

文太 2009/05/23(Sat) 14:48
[3328]へのコメント
 だめ押し。
 もちろん、中は見たくないので、外からこうしているのですが…。

>dir /s *.* |to
C:\DEF のディレクトリ
1149 個のファイル 7,513,535 バイト
50 個のディレクトリ 18,280,386,560 バイトの空き領域

 どうしようもありません…。Vzマクロ関係ファイルの、まさしく魔界。

[3322] Re^3: Vz演算子の質問

めざら 2009/05/18(Mon) 23:50
[3317]へのコメント http://homepage3.nifty.com/mezala/
#3317 としきさん

> ところが、非常に良く似た演算子が多数備わっているC言語には、「^^」と
> いう演算子はなかったりするわけでして。なので、

 あう,改めて調べてみると,確かに C には「^^」ってありませんね。
逆にそういう条件を必要とした時はどうするのか心配してしまいました。
2度の条件を通すのかなぁ…

> 「これは、排他的論理和の演算子です」
> というヒトコトがどこかにあれば、それで私の疑問は終わってしまったはず

 うう,読み切れてませんでした。ごめんなさい。
 マクロの FAQ や覚書にもトークンに関する細かい説明はないので,マクロキーワードに関する覚書を作成しておこうと思います。実際の使用例の方は,文太さんが出してくれていますので,すっかりおまかせになってしまいますね。実際,餅は餅屋ってことで。

[3324] Re^4: Vz演算子の質問

としき 2009/05/19(Tue) 00:27
[3322]へのコメント http://www.hinocatv.ne.jp/~toshiki/
いやいや、今回は、ほんと、勉強になりました。
私も、排他的論理和なんて全く使いませんから。
大昔から様々な言語で多くのプログラムを作っていますが、覚えている範囲
でこの演算を使ったことは一度もありません。
ただ、1回だけ、高校生か大学生の頃、PC-88のBASICでゲームのプログラム
を作ろうとした時に、グラフィックの処理で、画像を表示するときに背景色
とのxor指定をすると、色が反転して、ぼんやりと浮き上がって見えるという
事がわかったので、この方式を採用しようと心に決めた事だけ覚えています。
もう20年くらい前になるのか。
結局、そのゲームは完成しなかったのですが。
ちなみに、ある種のシミュレーションゲームでして。
実は、いまだに完成をあきらめていません。
15年くらい前にも、C言語でリトライしようとしたりしていました。
当時、何かのチラシの裏に書いた敵側の思考ルーチンのスケッチが、どこか
その辺に埋まっているはず。

それはさておき。
今回はほんと、いろいろとどうもありがとうございました。
まとめ記事に関しては、そのうちによろしくお願いします。

↑ このページの先頭