一括表示

− 野ざらし言 −

[5188] 真剣マクロ(tag_rplp.def)

文太 2022/12/10(Sat) 12:03
 というほどのものではありませんが。
 でも久しぶりに真剣に考えました。難しいことはしていません。ちょっとした
分岐の入った、マニュアル操作再現のエディタのマクロらしい、マクロです。
 アルゴリズム(仕様)に悩んだ、悩んだ。製作に総計6時間はかかっている。
 2週間ぐらい考えていました。疲れ切った頭で。

\x ^aaa\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\)zzz$

 のようなタグ付き置換用、検索文字列の上で実行してみてください。
 次行にタグ番号を整理した「置換文字列」が現れます。
 シフトで置換用にPSに両文字列を入れてくれます。
 あ、ふつうのファイルの上で実行ね。編集モードオンリーのマクロです。

 nifty初期のころにも、僕はこれを書いてましたね。
 コマンドラインとかtext boxとかって、どうも緊張してしまいます。
 ダミーファイルにとりあえず書き始めてしまうと、落ち着いて考えられます。

 もし、「おい、こういう場合、バグるぜ」とかあったらお教えください。

 あまり意地悪はなしです。正規表現のチェックとかはしていません。タグの
整合性もチェックしていません(カーニハン先生いわく「funny situationの
ことを気にしすぎるな。仕様書〔document〕に最初から *bug欄 を作っておいて
ユーザに注意喚起するもよろし」)。もっとも、僕のばあい、タグ付きとか
キャラクタークラスとかの正規表現はマクロで出力してますから、まず、変な
ミスはないのですが。
 僕の頭が悪いというミスが、ミスの代表格。
 そして、これでいいのか? みたいな、いつもの自信なし状態です。

 このところ、けっこうテキストファイルをごにょごにょしてる時間が長いのですが、
そしてプログラミング関係本をそこそこ眺めてはいるのですが(Software Tools, 
__ in Pascal by Kernighan)、やっぱ、80x25文字が画面の基本と考えている
のでインデントは少なめな書式になってます。意図です。
 贅沢になれると、MS-DOS画面でつらいです。

 僕的にはふつうですが、"Comment like crazy."というJeff先生の教えも反映させて
ます。訳すと、「狂ったようにコメントを入れよ」。

 VzマクロはVzマクロで、if...elseがあるとはいっても、ラベルジャンプだなぁ、
と進歩のないことになってます。そっちが読みやすいのだもの。

=== tag_rplp by B ===; Tag Replacement Prep

\x ^aaa\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\)zzz$
aaa\1\2\3\4zzz

* M
50 ^^ "tag_rplp"

?.
i=1,		;replace tag num (\i; \1, \2, \3 etc)
k=ks&1,

&s
#k #i		;duplicate line
#x

	; ----- del top&tail \x , ^, $  -----
#<
(cd=='\')? #g		;del \x 
 	 ? { &m("\x missing. Regex?") >z }
(cd=='x')? #g		;
(cd==' ')? #g		;
(cd=='^')? #g		;del ^
#> #s
(cd=='$')? #g		;del $
#<

	; ----- main loop -----
:a
(ct==1)? >z

	; ----- srch \( -----
(cd=='\')? {
	#d (cd=='(')? 
		{ #g &?("%d",i) i++, >b }	;\( found, del (
	}					; & put \1 (\2,\3)
	#d >a

	; ----- srch \) ----- ; now in delstring = DELing
:b
(cd=='\')? {
	#d (cd==')')? 
		{ #g #h }			;\) found, del \)
	}					;stop deleting
	? { #g >b}				;deleting the inside
>a

	; ----- if shift, get 2 strings in PS -----
:z
	(k)? {	#< #b #> #G		;2nd line, repl str
		#e #< #b #> #G }	;1st line, srch str
	#< &d .

*

[5190] Re: 真剣マクロ(tag_rplp.def)

めざら 2022/12/10(Sat) 16:43
[5188]へのコメント http://mezala.la.coocan.jp/
 要するに,タグ付き正規表現のパターン
\x ^aaa\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\)zzz$
…から,置換文字列
aaa\1\2\3\4zzz
…を生成してくれるマクロってことですよね。

少し面倒だなと感じることは確かにあります。
パターンによるのかもしれないですけど,見た目が複雑な書式から簡素な書式が生成されるというのは,今ひとつお得感が足りないという気がしました。
手で「\1\2\3\4」って入力するの簡単だから…と言ったらニベもないですが。

でも,自分もテキスト上でパターンを書いておいてヒストリに入れる(多くは削除文字列バッファに入れるだけですが)ということはよくあります。それの発展形ということですね。

自分だったらどう作る…と考えたとき,別のテキストに切り出しておいて,
\(と\)に囲まれた【最短の】文字列をヌル置換した数を記憶しておいて,
文字列のあったはずの場所に置換数分の\[num]を出力する……

……なんてこと考えてみました。
「^」や[$」はあれば消さなくちゃとか,[^\()] を含まない文字列を指定するのがやたら面倒とか,いろいろ障壁があるんだな〜〜(笑)

こういうのって,やり方は色々あって,考えるの楽しいですよね。

> &s
> #k #i ;duplicate line
 ここのとこ,非ブロックの #y #k はサイレントで実行しないのが吉。
 「繰り返し」実行ではないのでテキストスタックが損傷する可能性は低いとは思いますが,サイレントでは非ブロックの記憶/切除は実行しないクセをつけておく方がよいかと思います。老婆心ではありますが。

※カーニハン先生の「ソフトウェア作法」,えらく使い込まれた感じに傷んでいる本を図書館で借りてちょっとだけ読みました。
ふむふむ,で終わっちゃった。(笑)

[5191] Re^2: 真剣マクロ(tag_rplp.def)

文太 2022/12/10(Sat) 18:19
[5190]へのコメント
めざらさん

 仕様はそのとおりです。

>少し面倒だなと感じることは確かにあります。
 僕は、ほんと30年前から、《すごく》面倒だと感じているようです。
 だいたい検索窓で正規表現文字列を書き上げただけで、ふぅ となり、↑してまだ同じ文字列をみると、こんなの機械の仕事だろう! といつも感じているようです。

>「\1\2\3\4」って入力するの簡単だから…と言ったらニベもないですが。
 これ、途中を消さなくちゃでしょう。そして、ときどき、^とか$を残して置換しちゃったりして。こいつらも、リテラルに出てくるんだな、これが。

>でも,自分もテキスト上でパターンを書いておいて
 ここを思い切りました! あの窓が緊張感(疲労感)を誘うのだ、と。

>自分だったらどう作る…と考えたとき,別のテキストに切り出しておいて,
>\(と\)に囲まれた【最短の】文字列をヌル置換した数を記憶しておいて,
 これです! ただ、「最短」が問題で、やっぱり置換でなく(「最左最長」が引っかかる)カーソルごにょごにょ、ですよね。
 \( \) の個数を置換でチェックは考えましたが、そもそも要らない、という結論。"funny situation."これを気にしないと、ただ頭からの処理で済む。

 ネストもない、個数の不整合もない、という決め打ちです。こう決めてしまったら、\( のあとに必ず \) が来ると確信できる。INdos flagならぬ、INtag flagで最初、攻めてました。これを止めて、\)が出てくるまで消せ、消し続けろ、と決めたら、ああ、できたぁ、と。

 真ん中あたりの10行くらいに、50%のエネルギー、上の仕様を決めるのに45%のエネルギーがかかりました。コードの70%以上は15分で書きました。

>文字列のあったはずの場所に置換数分の\[num]を出力する……

i++, 'i' とか、できないんだ、と知りました。あはははは。
ダメだよな、これ。あはははは。それ、定数出力だ、constantだ。

>[^\()] を含まない文字列を指定するのがやたら面倒とか,

 ここは意図が読めませんでした。?

>こういうのって,やり方は色々あって,考えるの楽しいですよね。

 色々あるんだろうな、と僕も思いました。
 ただ、僕は、いつも、自分で結果の出せる問題と方法、これにばかりにこだわってますね。
 結果がだせないなら(1か月かかってもよい)、そもそもやるな、あきらめろ、と。

>> &s
>> #k #i ;duplicate line
> ここのとこ,非ブロックの #y #k はサイレントで実行しないのが吉。

 了解です。ありがとうございます。こういうの、とっても大事。
 触らぬ神に祟りなし。m(__)m

>※カーニハン先生の「ソフトウェア作法」,えらく使い込まれた感じに傷んでいる本を
>図書館で借りてちょっとだけ読みました。ふむふむ,で終わっちゃった。(笑)

 『作法』と言われても分からないから調べました。konno掲示板 #10411 「古典」。
_Software Tools_ですね。パスカル版も翻訳を出せばよかったのに。そっちのほうが需要あったでしょうに。
 でも、Pascal も Fortran も、動かす予定。
 趣味って、終わりないですね。
 でも、やっぱり、Vzマクロ、楽ですよぉ。宝物。

 ほんとに、grep (find), sed (translit+α), 正規表現エンジンを作ってました。
 ふむふむ以上いくかなぁ? Pascal版は、書籍も手に入れてしまった。アメリカから。\2500ぐらい。(内、送料\2000。本を買うの、好きだねぇ)ほんまもののテキストフォーマッタ(.ceとか出てくる奴)って、あんまり興味ないんだけど。

 "Epilogue"(「おわりに」)を読むと、安心しますよ。もう遅いか。
 "Fight against complexity." いつも、これです。両版とも同一でした。

[5192] 悩んだだけのことはあった

文太 2022/12/11(Sun) 17:23
[5191]へのコメント
 題 + 「と思う」

 いちおうワークファイルに検索文字列を写して、置換を基本に同じ結果を
得られるよう、やってみました。
 頭を使うことも悩むこともありませんでしたが、\(, \) をカーソルを動かし
ながら探す、という最初の案に1票という結果になりました。

aaa\([0-9]\)\([0-9]\)

を

aaa\([0-9]\)
\([0-9]\)

としてしまえば、処理が楽というのは、まあ、正しかったとは思いましたが。


 以下は、骨の部分だけです。


----- testfile.txt -----

aaa\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\)zzz

------------------------


=== Macrotmp by B ===; も、大変。字がいっぱい。
* M
50 ^^ "Macrotmp"

	; --- tag pair num check	; \(, \) 整合性チェック
#56 "\(" #m "\(" #m "AY"
m=r,
#56 "\)" #m "\)" #m "AY"
n=r,
(m==n)?? {&m("\( \) tag pair num, incorrect").}


	; --- cut each  ...\), for REGEX replacement below
#56 "\)" #m "\)\n" #m "AY"		; \(, \) ペアを1行に一個にする
					; 次のregex置換(文字列削除)のため
	; --- del ...\) tail
#56 "\x \\(.+$$" #m "\(" #m "AY"	; \(...\)の ...\)を削る(行末)
					; 途中文字列は、行末には来ていないはず。

	; --- renumber \1, \2, \3 by looping
i=1,					; \1, \2, \3 の番号振り
#F "\(" #m				;
:a					;
	#c (r)? >b			;
	#d #g &?("%d",i) i++,		;
>a					; ここまで


	; --- get the original & correct 1-line form
:b
#56 "\n" #m "" #m "AY"			; 複数行だったのを1行に戻す

&m("finished") .

*

[5194] Re: 悩んだだけのことはあった

めざら 2022/12/13(Tue) 22:03
[5192]へのコメント http://mezala.la.coocan.jp/
なるほど。ぶった切っちゃうというのは一案でしたね。
別ファイルに切り出すことを考えたのだから,そこまで考えないと>め

しかも整合性チェックまで入れるとは,少しやりすぎ(笑)ではありませんか。
悩めば何かしら生み出されるということですね。

[5196] Re^2: 悩んだだけのことはあった

文太 2022/12/14(Wed) 13:05
[5194]へのコメント
めざらさん

 以下2点は、わりと最初から考えていたことでした。

>なるほど。ぶった切っちゃうというのは一案でしたね。

 \(.....\)..\(....\)..\(......\)
  <----------------------------->
  最長一致で上全部にヒットしてしまい、これではダメだな、と。
  これを回避するためにぶった切ることを最初に思いつきました。
  .....\) の処理が楽、は、後知恵というか副産物でした。
  
>しかも整合性チェックまで入れるとは,少しやりすぎ(笑)ではありませんか。
 最終的に捨てましたが、正規表現チェッカー機能を少しは入れたら? 
という考えはありました。
 ただ、自画自賛ですが、最初の解決案では、テキスト上の次行に結果が
でます。そこで変なことが起こっていないと確認できるから、それでいい、と。
 その後、「\x 」がなければマクロを止める、というのは外しました。
sedでも使えるじゃん、これ、と。

[5195] 最左最長がいけない(バカ)

文太 2022/12/14(Wed) 00:05
[5192]へのコメント
 そうだ! ssedには、Perl-like な「最短文字列」しか食べない
「*?」というnon-greedyな演算子があるじゃないか、と思い出してしまい……。
(onigsed については、調べません)

 以下のような悲惨なことになりました。
 正規表現のメタ文字をエスケープするの、嫌いです。好きな人はまず
いないと思うけど。だから、置換に失敗したくない!

 sedに数を数えさせるのは、えーと、ふつう、ムリです。下のように
なります。そのうち数を数えはじめそうで、自分が怖いです。
 ホールドスペースに最初、"0123456789"(文字列!)を入れておくなど、
やり方がないわけじゃありません。

 ま、バカです。

 Perl-like regex がある awk。聞いたことがありません。\(...\)を
1個1個分解して、配列に入れるのでしょうか。

 「素直にPerlでやれよ!」。Perl regexが使えるPerlを所有しておりません。
厚い厚い日本語の壁があるのです。


 Vzマクロはとてつもなく偉い、という結論です。


--- input.txt
\x ^aaa\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\)\zzz$
-------------

--- output.txt
aaa\1\2\3\4\zzz
-------------

--- detag.sed ---
#ssed -R (Perl-mode) -f detag.sed

s/^\\x \^//
s/^\\x //
s/\$$//

s/\\(.*?\\)/\\1/
s/\\1\)/\\1/			#泥縄です。訳が分かりません。

s/\\([^1]*?\\)/\\2/		#悲しくなる
s/\\2\)/\\2/			#同

s/\\([^12]*?\\)/\\3/		#悲しい
s/\\3\)/\\3/

s/\\([^123]*?\\)/\\4/		#さらに悲しい
s/\\4\)/\\4/

s/\\([^1234]*?\\)/\\5/		#もっと悲しい
s/\\5\)/\\5/

s/\\([^12345]*?\\)/\\6/		#以下同文
s/\\6\)/\\6/

s/\\([^123456]*?\\)/\\7/
s/\\7\)/\\7/

s/\\([^1234567]*?\\)/\\8/
s/\\8\)/\\8/

s/\\([^12345678]*?\\)/\\9/
s/\\9\)/\\9/
-----------------

 上、それほど時間はかかっていません。
 が、作業途中、とんでもない虚しさが心の中でどんどん巨大化していった
のは事実です。

[5262] Re: 最左最長がいけない(バカ)

文太 2023/01/02(Mon) 00:37
[5195]へのコメント
最左最短マッチング

 もう散り散り。

> Perl-like regex がある awk。聞いたことがありません。\(...\)を
>1個1個分解して、配列に入れるのでしょうか。

植村富士夫『awkでプログラミング』p.188

fmatch()

 awkでできるじゃないの! 数も数えるよ。
 2個目以降はどうするつもり? index()で分解?

 ぴょこぴょこしようと思っただけなんですよ。どの関数にしようかなぁ〜、
と目次を見ると、最短マッチング、、、。

[5263] 最短マッチング

文太 2023/01/03(Tue) 23:32
[5262]へのコメント
\(aaa\)bbb\(ccc\)ddd\(eee\)fff
↓
\1bbb\2ddd\3fff

 アルゴリズム的には進歩なし。
 えーと、そこは数えられないっす。ほぼ文字列定数なので、"str"
 「最短」は正規表現ですなおに実現できました。技を使っていません。

 しかし、こうは言いたい。
 見よ、この気持ちの悪い正規表現を!!! くらえっ!!! って誰が食うの?
 たぶん、分身の術をやったらめったらに使ったバルタン星人だと思う。

----- t.awk -----
# jgawk -f t.awk t.txt

{
sub(/\\\([^)\\]+\\\)/,"\\1");
sub(/\\\([^)\\]+\\\)/,"\\2");
sub(/\\\([^)\\]+\\\)/,"\\3");
sub(/\\\([^)\\]+\\\)/,"\\4");
sub(/\\\([^)\\]+\\\)/,"\\5");
sub(/\\\([^)\\]+\\\)/,"\\6");
sub(/\\\([^)\\]+\\\)/,"\\7");
sub(/\\\([^)\\]+\\\)/,"\\8");
sub(/\\\([^)\\]+\\\)/,"\\9");
print
}
-----------------

C:\>jgawk -f t.awk t.txt
\1bbb\2ddd\3fff


 いちおう書いておきましょうか、明日の自分のために。バルタン正規表現。
 1行で十分。2行目以下は反復なので。


/\\\([^)\\]+\\\)/ を "\\1" に置換する。


\\			;literal \					-- A --
\(			;literal (  あわせて \(

[^)\\]+		;否定 ) でもなく \ でもない。[ ]内でも、\\ で \

\\\)		;-- A -- にほぼ同じ
			;literal \
			;literal )			literalはエスケープされましたの意味。


"\\1"		;literal \1 は、""内でもこうなる。awkの本にはよく書いてあります。


たぶん、

2022/07/05  21:25           446,464 gawkw.exe
C:\>gawkw -W version	;for Win32 (Japanized)
GNU Awk 3.1.5

 あたりでは実装されていると思いますが、ふつうのawk (jgawk)で使う、sub(), gsub()
以上に強力な、gensub()というのがあり、ここでは、タグ付き置換ができるはずです。
GNU extention だと思います。

[5264] + と * (@VWX)

文太 2023/01/03(Tue) 23:33
[5263]へのコメント
 前に気になることがあったので覚え書。簡単に。
 VWX の正規表現は立派です。ERE (Extended Regular Expression)で awk 並です。
 多くの日本語対応DOSスクリプティングツールの時期には、ふつう、EREを搭載
させていると思いますが。grepな連中とか。
 ただ、sedは過去との互換性がありますから、「+」がありません。ですから、
しょうがなく「*」で代用します。2個重ねて代用します。


あ+ は ああああああ
にヒット

あ* は すべての文字のヒットになるので(0個以上だから)、代用するには

ああ* とします。これで、 ああああああ にヒット。

 ふつう VWX で置換する場合、「あ+」になります。「*」を使うのは例外中の例外です。
 sedには、「+」がないから、「*」を使うしかないのです。

 付けたし(例外)はありますが、VWXではふつう「+」と覚えておいて良いと思います。


 例外?

Chapter 1
Chapter1
 どっちでも削除したい。s/Chapter *1//

特殊な事例(英文etext処理)だと思いますが、僕は、よくこんなのを使います。
s/ *Chapter *1 *//		;(1)

もっと文脈を強めると
s/^ *Chapter *[0-9][0-9]* *//	;(1)より、どう強力か?
となります。

 つまり、1字だけを対象にするから「あ*」が怖くなるんですね。他にアンカーが
あるのが普通なので、「+」がないsed でも「*」を怖がらなくていいんです。

 というわけで、VWXでは、ふつう、「a*」ではなく「a+」となります。
1字だけのとき注意、ということです。

[5265] Re: + と * (@VWX)

めざら 2023/01/07(Sat) 08:09
[5264]へのコメント http://mezala.la.coocan.jp/
一応,確認なのですが…

> あ* は すべての文字のヒットになるので(0個以上だから)

これは VWX だけの話ということですよね。ただちょっと引っかかりが。

パターン:【\x 信じら*れるもの】
(a) これこそはと信じれるものがこの世にあるだろうか
(b) これこそはと信じられるものがこの世にあるだろうか
(c) これこそはと信じるものがこの世にあるなどと信じられるものか

この例だと,aとbにマッチしますが,cの同じ位置にマッチしません。
「ら*」がすべての文字にマッチするなら,最長一致でcもマッチするはずですね。

(c) これこそはと信じるものがこの世にあるなどと信じられるものか
           ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
すべての文字の繰り返しにマッチするなら下線部分が該当するはずですが,
こういうときだけ最短一致ということではないですよね。

どういうことなのだろう……
パターンが一文字だけの【*】だけ要注意なのかなぁ……
他の処理系では【あ*】なんてパターンは何にもマッチしないですよね。
(なんか,コンヒュ)

[5266] マッチは頭から

文太 2023/01/08(Sun) 10:29
[5265]へのコメント
(1)「\x あ*」は何にでも当たる。

--- test.txt ---
パターン:【\x 信じら*れるもの】
(a) これこそはと信じれるものがこの世にあるだろうか
(b) これこそはと信じられるものがこの世にあるだろうか
(c) これこそはと信じるものがこの世にあるなどと信じられるものか
-----------------

#56 "\x あ*" #m "" #m
を上のテキストを対象にやってみてください。


(2)「\x いあ*」とすると、同じことにならない。なぜでしょう?


(3)パターン:【\x 信じら*れる】
 がヒットするのは、だいたい3種類です。どんな3通りでしょう?


(4)以下のようにすると、分かりやすいと思いますよ。

パターン:【\x 信じら*れる】
(a) 信じれる
(b) 信じられる
(c) 信じる信じられる

>「ら*」がすべての文字にマッチするなら,最長一致でcもマッチするはずですね。
 マッチしないはずです。「cの同じ位置にマッチ」するのを邪魔してる奴がいます。


 上の振る舞いは、VWXに限らず、sedでもawkでも同じです。

[5267] 応用問題

文太 2023/01/08(Sun) 16:58
[5266]へのコメント
 難しいですよ。

パターン:【\x 信じら*れる】
(d) 信じられる信じられる
(e) 信じれる信じられる

 さあ、どこにマッチするでしょう?
 マッチ調査は頭から。
 自信なかったけど、うん、これで正しい。



see #5196

パターン:【\x \\(.+\\)】		;\\ はリテラル\にする

\(aaaaa\)aa\(aaaaa\)aa\(aaaaa\)

パターン:【\x \\([^\\]+\\)】		;否定内でも[^]、\\する

\(aaaaa\)aa\(aaaaa\)aa\(aaaaa\)

[5268] VWX 限定の話でした

文太 2023/01/08(Sun) 22:10
[5266]へのコメント
>(1)「\x あ*」は何にでも当たる。

--- t.sed ---
s/a*//g		# aa*のつもりですね
-------------

--- t.awk ---
{
gsub(/a*/,"")	# /aa*/のつもりですね
print
}
-------------

 とはいえ、上は何をしようとしているのでしょうか?
 他に間違いがないといいのですが。

[5269] 整理?

文太 2023/01/09(Mon) 23:07
[5265]へのコメント

 VWX置換の場合、「\x あ*」(1字のみ)であのように振舞うのをバグと
呼んでもいいし、ユーザのインストラクションがバグってると言ってもよいで
しょう。そもそも意味不明な命令です。

 「何にでも当たる」。そう見える。しかし、これは、無条件に無文脈で「あ*」
が「.」と同じ意味になるわけではない。前か後ろに何かあれば、予定通りに、
期待通りに振舞ってくれます。

 「*」は、「あってもなくても、いっぱいあってもいいよ」という意味の修飾語。
ただし、ふつう文脈が、あるいは前後が、必ずある。
 「Chapter *1」のように。OCRでは、スペースがよく飛んでしまうのです。
あるいはスペースがなぜか3つになっていたり……。
 (しつこいですが、上の例でrと1の間には、スペースがなくても良いという
意味であって、何がきても良いという意味ではない。きっと正確にいえば、存在
しない、あるいは単数・複数存在するスペース以外はダメです。普通でしょ? 
で、rと1が文脈を作っている。)

 いらぬお節介というか不要な一言かもしれませんが、#5266の(3)をよーく
考えてみてください。そっちが普通です。その考え方が普通です。

 ふてました? むくれて寝てやる、となってるのかなぁ、と。
 お陰様で、僕のほうはすっかり整理がついてしまいました。

[5270] Re: 整理?

めざら 2023/01/10(Tue) 23:07
[5269]へのコメント http://mezala.la.coocan.jp/
話がすれ違っているようです。

わたしは単に,文太さんが書かれた…
> あ* は すべての文字のヒットになるので(0個以上だから)、
…の説明が間違っていると言いたかっただけですよ。

>  お陰様で、僕のほうはすっかり整理がついてしまいました。

あ,そう? それならいいんだけど。

[5271] Re^2: 整理?

文太 2023/01/11(Wed) 00:16
[5270]へのコメント
>わたしは単に,文太さんが書かれた…
>> あ* は すべての文字のヒットになるので(0個以上だから)、
>…の説明が間違っていると言いたかっただけですよ。

 はい、僕は、たしかにsed/awkでスクリプトを書くまで、VWXの不思議な
挙動を不思議だとあまり思っていませんでした。とうぜん、sed/awkも同じ
だろうと。
 「\x あ*」が意味不明とは思っていたはずですが。

 で、スクリプトを書いた瞬間、え? 何をやってるの? 何をやりたいの?
と思った。VWXから正規表現に入門したんだなぁ、と、、、、反省?
 気をつけたほうがいいよ、と。

>>  お陰様で、僕のほうはすっかり整理がついてしまいました。
>あ,そう? それならいいんだけど。

 うん、僕も性格が悪いというか一言多いというか。困ったものですね
 23:07。気づいたのが偶然なのですが、細かいなぁ。

 ちょっと休みますね。少々手を広げすぎた、あるいは、ここがリミット、
ここまでは攻めると決めたほうがいいぞ、とか思っているので。
 半年以上でしょうか、お付き合いありがとうございました。
 3月くらいには、またまた変な課題ととも戻るとは思いますし、別にずっと
覗いていると思いますが、エネルギー配分を戻したほうがそろそろいいよ、と
考えています。

 久しぶりの飲み会、コロナがもう少し収まってくれたらなぁ、と思っています。
 死んじゃう前に、オフライン会、またやりましょうね!

 手を広げすぎて破綻する、というのが僕の根性なしなところなのですが、
_Peter Norton's Assembly Language Book for the IBMPC_ (1986)を読もう、
PCに関するいちおう全部の基礎(videoとdisk)が書いてあるのだから、と思って
ます。としきさんとkonnoさんは、ちょっと違うかな、と思うのですが、こんな本を
めざらさんが読んだら、まだまだこれからじゃい! と燃えてくれるかもしれない
のにな、と思ってます。勝手な空想と願望です。
 Ruby, Pythonでもいいですよ。
 残念なことにノートン先生の本に翻訳はありません。ただ、これに類する和書って、
きっとあると思うのですけどね。c.mosさん、wingさんは、どんなものを読んで
興奮して、分かったぞい、じゃ今日はあのルーチンを書くぞ! と思えたん
だろう?
 雑誌のコードリストだったのかな?

 『はじめて読む8086』? どうして、こう教科書になってしまうのでしょうね?

 またお世話になります。m(__)m

[5272] 自分で限界を作るなかれ…(いやいや)

めざら 2023/01/15(Sun) 10:30
[5271]へのコメント http://mezala.la.coocan.jp/
>  ちょっと休みますね。少々手を広げすぎた、あるいは、ここがリミット、

広げたと言うか,疾走感に追い付けない。(笑)
どこにコメントしても,既にずっと先まで走り去っている気がして,慌てて切り取ってコメントすると少々的外れだったりします。

>  死んじゃう前に、オフライン会、またやりましょうね!

皆さん,まだやはりコロナ禍にあるわけですね。最近の死者数はちょっと異常で,ワクチン接種者からばたばら死んでいってるのではないかと疑うくらいです。こちらの周辺では,又甥(姪孫)が学校で貰ってきて発症というのがあるくらいで,さっぱり聞かないのに,都市部の感染者数ってとんでもないですよね。こんな調子じゃオフ会も腰が引けちゃいますよね。

> こんな本をめざらさんが読んだら、まだまだこれからじゃい! と燃えてくれるかも

どうかなぁ……。カーニハン先生の「プログラム書法」も借りてきて眺めたのですが,やっぱり「ふんふん」で終わってしまいました。「そんなの分かりきってる」部分と「そんなの知らんがな」部分が混沌としている気がします。おそらく(VZにかぎらず)マクロてぇのは美味しい部分を寄せ集めてごった煮にしたものなのかも知れません。そういうものに慣れてドップリ漬かっていると,そういう(こればっかり)見え方になってしまうのかもしれないです。ここに至って,こっちのメインコンテンツは VZ と出会う前の蓄積になりつつあるし,多くの岐路はそっち向いていないですね。ちょいちょいそそられはするけど…。

>  またお世話になります。m(__)m

いや,こちらこそです。…と言うか,ちょっと伺いたいことがあって。
文太さんちの玉葱苗は,いまどんな具合ですか?
うちのは近ごろようやく伸びてきてはいるけれど結球なんてまだまだです。
このままだと,昨年季節外れな春先に買った苗と大して変わらないのでは。

[5273] Re: 自分で限界を作るなかれ…(いやいや)

文太 2023/01/15(Sun) 21:14
[5272]へのコメント
めざらさん

 すいませんが、ここだけです。

>文太さんちの玉葱苗は,いまどんな具合ですか?
 たぶん、普通です。活着して、落ち着いて、そのまま。結球とかはまだまだまだまだですよ。
 この時期は生存さえしてればいいと思う。晩成ですけれど。早生でも、まだほとんど膨らんでないのじゃないでしょうか。生きてれば、たぶん大丈夫ですよ。

>このままだと,昨年季節外れな春先に買った苗と大して変わらないのでは。
 いあ、根が違うのだと想像します。見えないところで頑張っている。
 僕も何年目だっけ? 3回目? でも、何もしてない、何も考えてない、何も心配していない、状態です。
 生きてれば大丈夫ですよ。
 これからパラパラ死んでいくのもあったと思う。寒いから。気がついてみたら消えてた、みたく。
 大小さまざまなタマネギたくさん、昨年のぶんを年末に食べ終わり、今日、タマネギを半年(以上)ぶりに買いました。

[5275] Re^2: 自分で限界を作るなかれ…(いやいや)

めざら 2023/01/18(Wed) 17:09
[5273]へのコメント http://mezala.la.coocan.jp/
> 早生でも、まだほとんど膨らんでないのじゃないでしょうか。

 そうなんですね。一安心(…していいのか?)
 ダイソーで買った種をプラグトレイに蒔いたら,三,四十粒のうちの2粒しか発芽せず,結局別に調達したものを直播きしました。こちらもずいぶん成長が遅く,このところようやく5mmくらいの太さになったものがあります。この苗床(なのか?)から植え替えてどのくらい育つものなのか,まぁ様子見ですね。

> 今日、タマネギを半年(以上)ぶりに買いました。

おーっ,家庭分のほぼ半分は間に合っているのですね。
保存のきくもので考えても,うちで自給できているものはほとんどないので,ぜひとも玉葱はマスターしたいところなのですけどね。葉物は汁の実くらいは自給できているとしても無駄にしてるものも多いなぁ。

あ,そういえば,大根…ふくよか2号…の出来はどうでしたか?
わずかだけだったので目立った成果はないと想像しますが,うちでは株間を取りすぎて数を作らなかったので,自宅分がせいぜい。よそにあげたのは数本しかありません。よくできたやつをあげるから概ね評判はよいのですけど。

こんなのできました(笑)。
https://mezala.hatenablog.com/entry/2023/01/15/104918

[5276] Re^3: 自分で限界を作るなかれ…(いやいや)

文太 2023/01/19(Thu) 01:19
[5275]へのコメント
めざらさん

>あ,そういえば,大根…ふくよか2号…の出来はどうでしたか?
 すいません、報告が遅れておりました。

 まず、結論。調理に失敗して、「うまいですよ!」という報告ができずにいます。
 今のところ5本収穫かな。めざらさんより、おそらく2週間種まきがおそいので
(アシナガバチに1週間ぬすまれました)、たぶんけっこう小ぶりです。可食部分で
40センチ? 最初はおでん、今日は(ほんと!)味噌汁だったのですが、どっちも
煮すぎちゃって。僕が、、、煮すぎました。
 おいしいけど、失敗しなければ、もっとおいしいはずだよなぁ、と。最初あじみを
したときは、おお、いいね、と思ったのに。

 でも、ダイコンの味の違いは僕にはわからないのかも、とも思ってます。

 でも、たぶん、あと5本あります。寒さに耐えて甘みをたくわえてくれています。
 あと1〜2月は大丈夫でしょう。別種のダイコンが他に10本あります。
 種まきの時期さえ間違えなければ、ダイコンもタマネギを手間いらずで助かりますね。
 (昔、大根の種まきがはやすぎて、虫との格闘でした、、、。)その上、この時期
だから、土の中で貯蔵されて冷蔵庫いらず。

 あ、それはダイソーの種だからでは、きっとないと思う。暑すぎたか溝が深すぎたか
水をやりすぎたか、だと想像します。暑いとダメです。店舗での管理も問題なさげ
だったでしょう? 来年は、ダイソー種と別種(べつだね)を同じ条件でやってみて
ください。
 タマネギ苗に関しては、うまくいかなかった、と思ったら、慌てて買うのアリ
だと思う。プロの作品は、やはり、違う、とかなることも。

 あ、そうそう、僕は迷ってますが、タマネギ、追肥のタイミングかもしれません。
白い粉をパラパラ、あるいは鶏糞・米ぬかをパラバラ。「正月にやれ」とお師匠さまが
仰っておりました。


>こんなのできました(笑)。
 えっとぉ、、、。何ですか? アドレスが切れてるのか、DAICHKR T-Shirtに
辿りつきますが? ダイコンの画像を期待していました、、、。めざらさんの大根、
でかいんだろうなぁ、いいなぁ、と想像していましたが、、、。


追記:野原種苗、す、すごいな。従業員40人で、コーティングルームとかも持ってる。

昭和29年 埼玉採種協会にて、西町大根、県知事賞受賞

 「ふくよか2号」が野原社長のお眼鏡にかなわなかっただとしたら、上の「西町大根」
とかにチャレンジするか、直接「ふくよか2号」に味が似てるのはどれですか、と
訊いてみるというのはどうでしょう?
 ダイソーはともかく、野原さんを信頼するの、ありだと思います。応援しましょう!

[5277] Re^4: 自分で限界を作るなかれ…(いやいや)

めざら 2023/01/20(Fri) 14:44
[5276]へのコメント http://mezala.la.coocan.jp/
あ,ごめんなさい。本人でないと入れないフォルダだったようです。
リンクを貼り直したので,ご面倒でなければ見てください。

>  あと1〜2月は大丈夫でしょう。別種のダイコンが他に10本あります。

畑に長く置いておけるというのが(野原さんでなく農園さんの)売りのようですから,そう慌てなくても大丈夫だと思います。葉っぱはおそらく使えなくなっちゃいますけどね。

>  あ、それはダイソーの種だからでは、きっとないと思う。

自分が下手だからです(笑)。ほんとにプランタやポットで育てるの苦手なので。水遣りのし過ぎというのはよくある話ですね。しかし,九月頃ってすぐカラッカラになっちゃうでしょう?日陰がいいのかな…と思うけれど,室内だと窓の方向に向かってヒョロヒョロ伸びちゃうので,ちょっと不健康でしょ?悩ましい。

> 直接「ふくよか2号」に味が似てるのはどれですか、と訊いてみる

あ,そこはですね,ちゃんと「来年は代わりのものを紹介させていただきます」と伝えられていますよ。今年蒔く分は冷蔵保存してあるので,実際にお世話になるのは来年かもしれません。それに,ダイソーで「おでん大根」種を買ったのに,蒔く場所がなくて冷蔵保存ということになってしまったので,種は余りある(笑)。

ところで,つい三日前に近所に新しいスーパーマーケットができまして,ダイソーも併設なんですよ。で,このダイソーがえらく規模が大きくて,楽しくて仕方がない。ダイソーさんにもお世話になりますわ。

[5280] Re^5: 自分で限界を作るなかれ…(いやいや)

文太 2023/01/21(Sat) 16:09
[5277]へのコメント
>リンクを貼り直したので,ご面倒でなければ見てください。

 色っぽかったですよ!
 申し訳ありません、なぜか、うちではああいうの見たことがない。
 たぶん、根菜をやるところの畝を一度徹底的に石除去してるからかな? 一夏かけて。
 その後、ほぼ耕していませんが。

>葉っぱはおそらく使えなくなっちゃいますけどね。

 僕は、大根の葉っぱはほぼ食べなくなりました。とりわけこの時期は、青臭さがどうも、、、。湯通ししてもダメだと思う。
 ふりかけも作るのが面倒、食べるのも大変、と感じてしまってますねぇ。
 「こう食べなさい!」とかありますか?

>>あ、それはダイソーの種だからでは、きっとないと思う。"
>自分が下手だからです(笑)。ほんとにプランタやポットで育てるの苦手なので。

 偉そうに言うことは何もないですが、もっと大ざっぱにやってしまうというのは?
 つまりプラグトレイとかって、夏の終わりとかだと1日に2回とか見てやらなくちゃいけない。
 育苗トレイ(50X30X8センチ)みたいなのにどかっと土を入れると、5日くらい見なくても死んではいません。もちろん、そろそろその時期になりますが、夏野菜の苗作りでは、何せ屋内なので、12センチポットとかで芽出しとかもしてますけれど。8粒くらいでスタート。
 しかし、これは居間なので、2日に1回は見るし、外に出したら夜はぜったいしまってますが。

>日陰がいいのかな…と思うけれど,
 タマネギの発芽では、これが推奨されていると思います。

>ちゃんと「来年は代わりのものを紹介させていただきます」と伝えられていますよ。

 さすが。ものすごくちゃんとした園芸店みたいですね。
 最初、ニュージーランドの種取りは、小さな業者一店だけではやれないだろうと思ったのだけど、あのやる気では、じゅうぶんあり得るな、と。賞とか狙っちゃってますもんね。

>ダイソーで「おでん大根」種を買ったのに,

 F1(交配種)のものと固定種のものがあったような。試してみてください。
 僕は、トーホクの「おでん大根」(F1)が一番だと思っていたけど(初期成功体験の記憶、おそらく)、最近、自分の味覚にまったく自信がありません。おいしいよ、みんな、とか。
 今晩、ふくよか2号を大根おろしで食べてみよう! 正統派。

>楽しくて仕方がない。ダイソーさんにもお世話になりますわ。

 うん、分かります。100円だとどうでもいいものまで買ってしまう、、、。
 それでも、中国の中間業者には、「日本の人は品質にうるさくて」と言われているらしい。ニッポン、まだ、大丈夫だ!

[5283] Re^6: 自分で限界を作るなかれ…(いやいや)

めざら 2023/01/22(Sun) 18:10
[5280]へのコメント http://mezala.la.coocan.jp/
うちでも,ああいうのは初めてですよ。
二股の色っぽいやつはときどきお目にかかりますけどね。
スカスカの垣根の向こう側が,砂利を敷いた通路になっていて,配達系バイクとかが小石を飛ばしてくるので,小石は避けられません。そもそもどんな小さな塵芥が原因になりうるかもわかりませんから諦めています。

大根菜は,細かくきざんでいろいろなものに混ぜて食っちゃいます。
菜っ葉に比べれば少々ちくちくえぐい感じもありますが,慣れですね。
おすすめの食べ方ってのはちょっと思いつかないです。好みだから。
おかかと和えてご飯のお伴ってのはよく聞きますけど,うちはあまりやらない。

>  今晩、ふくよか2号を大根おろしで食べてみよう! 正統派。

この時期になれば成長しきって,先っぽも丸くなってそう辛くないでしょうね。
例の指つきは先っぽからおろしましたが,ほとんど辛味はありませんでした。

正月に施肥かぁ……そりゃ大変だよ,寒くて……

[5321] ふくよか2号(その後)

文太 2023/02/04(Sat) 16:36
[5283]へのコメント

 報告です。嬉しい報告です。
 「ふくよか2号」、ちゃんと調理したら、本来の実力を発揮してくれました。

 3回目(おそらく) 和風ハンバーグに大根おろし。激うま。大根おろしが
偉かった。10日前かな?
 4回目(おそらく) 鍋。僕も密かにそう思っていたけど、奥様が昨晩の
大根はおいしかった。その前のは……、と何も知らずにもらしていました。
さっきのこと。「その前」とは、「おでん大根」@おでん(ふくよか3回目と
4回目のあいだ)。

 というわけで、ふくよかの勝ちのようです。うーん、たしかに「おでん大根」
が、「お、うま」と感じられなかったなぁ。おでんが、どうもうまく作れないなぁ、
このところ。

 残り3本で、ただいま奥様が、5回目(今晩)用に収穫にいきました。

 さくっと報告でした。
 新ツリーはちょっとなので、下のやり取りを引っぱり上げちゃいます。

[5322] Re: ふくよか2号(その後)

めざら 2023/02/05(Sun) 07:40
[5321]へのコメント http://mezala.la.coocan.jp/
それは良かった。何も知らされていない細君がそう感じたなら,それはもう相当違うものに感じたということかもしれませんね。まぁ,一番の理由は料理の腕なのでしょうけれど,ふくよか2号が寒気で凍っていい具合に細胞がこわれたということかもしれませんね。やはり,畑に置いておけるというのはよいです。

[5274] 『作法』(_ST_)

文太 2023/01/15(Sun) 21:51
[5272]へのコメント
 『書法』と『作法』がすぐにわからなくなり。
 前者はもっとモダンなもの(2版? 僕にはモダンすぎ)もあるみたいだったけど、「書き方」の本みたいなので僕は見ていません。
 『作法』も、その後、ほぼまったく見ていません。いちおう悲しい。
 今日は、IBM Macro Assembler ver. 1.0

Personal Computer Computer Language Series
Macro Assembler
First Edition (December 1981)
Copyright International Business Machines Corporation
1981

 のマニュアルetextを少し校正(!)しただけ。
 ですが、僕は『作法』は、やはりとても気になります。filter系のtop-down、構造化プログラミングだからか?
 エディタの基礎とか正規表現とかも入っているからか、、、。

 ま、好き好きですが、としきさんが得意技としているように、みなが忘れた頃、大昔の話題に戻ってもいいのだと思います。
 3月に少し時間ができて、でもとりわけ新しい話題もなかったら、Int 10h の基礎とともに("Bios Rom Basics"という章がノートン本にあった!)、僕はまた(?)moreをやるかも、、、。


 そうそう、僕のお気に入りの本たちには、basicがありPascalがあります。でも、たとえば、『エンサイコロピディア』とか_Undocumented DOS 2nd_とかになると、Cばかりです。
 (後者は、そうではない部分もあるみたいだけど、Win9xに--いまさら?--興味がないと辛いかも)

 というわけで、めざらさんは、Cをどうぞ。まったく損しませんよ、時代的にも。

 こつこつ。超得意でしょう。
 僕のように四方八方に飛ばず、Cを毎日1時間1年やったら、『エンサイコロピディア』が読めますよ、きっと。そして、DOSの達人になれる! そしてDOSマシンが欲しくなる!
 さらにそして、星野操『MS-DOS レジデントプログラム入門』(たぶんCのみ)を読み解くのだ!


 Vzマクロが実務的に、ほんと、すさまじく有難くて凄いものなのは、日々感じています。
 ありがて〜〜〜って。ほんとは使われているだけなのだけど、機械を使っている快感です。


DeepL どうぞ。

Keep programming. Michael* can show you things that would have taken you
years to discover on your own, but they won't stick in your mind unless you
use them. Set yourself a real challenge, something that has to be both
correct and fast: rotate graphics objects in 3-D, transfer data through a
serial port at 19,200 bits per second, things like that.

You can do it.

Coming to believe the truth in that statement is the essence of stepping
away from Square One.

Jeff Duntemann, _Assembly Language: Step-by-Step_


(*) Michael Abrash, author of Zen of Assembly Language and Black Book.

[5193] Re^3: 真剣マクロ(tag_rplp.def)

めざら 2022/12/13(Tue) 21:23
[5191]へのコメント http://mezala.la.coocan.jp/
たぶん,履歴がどのくらい使えるかで面倒度が変わってくるからでしょう。
自分の場合は,あまり変わったパターンが必要な局面に遭遇しないために,たいていは検索/置換文字列の履歴を再利用できているのだと思います。また,まったく同じ場合は「常用置換」マクロで片付けていますし。
(常用置換:http://mezala.la.coocan.jp/vz/workshop/msearch.html#gippl

特に自分はPCをシャットダウンしないんです。電源ボタンや「閉じる」でも常に休止モードで,次に使う時は常に続き。スリープではないのでバッテリー切れても停電でも履歴は消えません。たまにOSの更新で再起動はありますが,あまり頻繁ではないので気にならないですね。まぁ,扱っているテキストが定型のパターンにはまるものがほとんど……ということもあるかもしれません。

> >[^\()] を含まない文字列を指定するのがやたら面倒とか,
>  ここは意図が読めませんでした。?

正規表現のパターンの中でメタ文字を書く場合,エスケープしなきゃならないじゃないですか。しかもその中に既にエスケープしてあるメタ文字を含んでいたりしてやたら面倒。例えば,<tag>文字列</tag>みたいな文字列から<タグ>を取り除いて括られた側の文字列だけ取り出そうとする場合,<[^<>]+>(松葉を含まない松葉に囲まれた文字列:<[^<]>でも同じ)というふうにしますね。これメタ文字じゃないから簡単だけど,\と(と)と[と]を含まないようにするパターンを書こうとしたら超絶面倒……ということが言いたかったの。あ,^を入れちゃったからわからなかったてことか……。すみません。

[5197] Re^4: 真剣マクロ(tag_rplp.def)

文太 2022/12/14(Wed) 13:07
[5193]へのコメント
めざらさん

>たぶん,履歴がどのくらい使えるかで面倒度が変わってくるからでしょう。
 うーん、僕は、次々ちがうパターンにマッチさせたいことが多いのです。

>正規表現のパターンの中でメタ文字を書く場合,エスケープしなきゃならないじゃないですか。

 だいたい言いたいことは分かります。悩んでこけますね。
 釈迦説ですが、基本は、

(1)[ ](文字クラス)の中では、メタ文字の大半は意味を失い、^(否定)、-(範囲)、[](クラス開始終了)は、そのメタ文字の位置でその特殊な意味を失う。
(2)マクロの中に書くとき以外は、たいてい \でエスケープできる。
(3)大きな例外が「\(」で、これは検索文字列としても置換文字列としても特殊な意味をもつ。\\(でふつう、エスケープ。
(4)正規表現メタ文字のエスケープとエスケープシーケンスは違う。
(5)検索文字列(正規表現)と置換文字列(基本リテラル)では、けっこう違う。

 こんなとこでしょうかね。テストしないと怖いのは、そのとおりですね。

[5199] クイズ!

文太 2022/12/21(Wed) 14:15
[5188]へのコメント
 く、くだらないクイズです。以下は何でしょうか?


)  i
\x )  \([a-z]\)
) \1

e  (
\x \([a-zA-Z]\)  (
\1 (

. T
\x \. \([A-Z]\)
.  \1

\x \([a-z]\)  ,		;以下、サンプル文字列なし
\1 ,

\x \([a-z]\)  \(['"]\)	; ditto
\1 \2

\x \([a-z]\)  \([A-Z]\)	; ditto
\1 \2

\x ^ \([A-Z]\)		; ditto
\1

----------------------------------------------------
 (ま、僕は、〈そんなこと〉をしている、という近況報告です)
 (下らなさすぎるので、以下は省略バージョン)

)  i			;これが現実的な文字列で目標パターン
\x )  \([a-z]\)		;VWX用の正規表現に一般化すると、こうなる
) \1			;置換文字列では、こうしたい。

e  (			;パターン1に同じ。「文字列」が写されて
\x \([a-zA-Z]\)  (	;いない場合もある。
\1 (			;半角スペースを2→1にしたいのだな。

. T
\x \. \([A-Z]\)		;ピリオドのあとのスペースを2つに
.  \1			;したがっているのだろう。

 (もちろん、久しぶりの真剣マクロ、大活躍です! という報告も
  含まれました。ゲームの季節では、ない、かな、僕のばあい、、、。
  これが、僕のゲームなんだ、、、。
  もちろん、上はメモファイルです。c:\aaa.txt)

----------------------------------------------------

 僕は何をしているのか?
 はい、主にFortranの参考書のetextを作っています。インド製の教科書なので
pdf&OCRすると、変なことがいっぱいおこるので、修正しながら読んで
います。

_Programming in FORTRAN_, Second Edition, by P.V.S. RAO, Bombay, NEW DELHI
 なんての。

 (Fortranの参考書・教科書は少ないです。あ、あそこなら! とうちの図書館を
みたら、あるある、でした。)

 そんなふうにして探し回ったあげく、ようやくたどりついたのが

黒瀬ヨシノブ著『パソコンによる Fortran90: MS-Fortran Ver.5.1 入門』
(1992、啓学出版)。

 これ、すごくいい本です。MS-Fortran Ver.5.1 もゲットできました!
 (Fortranは古い言語なので、その歴史を追うのは、とても面倒でした)

 Ver.5.1は、もちろん、DOS/Win9x 汎用版。つまり英語のみ。上の本では、日本語も
通るしNECだし。
 英語用Vzを年末年始につくります。
 vze.com/vze.def/vzfle.def etc ...。DOS/Win9x 機用。

 材料工学とか、とにかく正確な計算! という分野では、まだまだFortran、
需要があるようでした。NASAでもスパコンでも使うらしいし。
 僕の需要は、文字列処理のfilterなんですけどね。む、向かない!

 もちろん、Kernighan, _Software Tools_ (for Fortran) & _ST in Pascal_
から来ています。
 こっちに関しては、どこまで真剣か真面目か、は分かりませんが、楽しいです。
grep, sed, regex engine, editor まで、作ってますねぇ。Fortran と Pascalで。

 ふと、Vzソースの話は? と自問することはありますが、どうせ、今日しか
生きられないのだから、いいの、いいの、となってます。うちのVzは、今日も
元気に仕事をしてくれています。

 あい変わらずヘロヘロです。
 喜ぶべきか悲しむべきか、今年も、ゴールが見えてきました。
 今年も、いろいろと、ありがとうございました。m(_B_)m

[5200] Re: クイズ!

めざら 2022/12/21(Wed) 20:31
[5199]へのコメント http://mezala.la.coocan.jp/
わたしは最近 Python の参考書を読み始めています。

その前は,JavaScript の参考書。
その前は,Ruby の参考書。

相変わらず何がしたいのかわからない。
…と言うか,やりたいことを何なら簡単にできそうか見当をつけようとしているのかもしれない…でもそれらは仕事で必要な処理だった(過去形)はずで,完全フリーの現在ではもはや大して意味がなかったりするのに。
悲しい性なのかもしれない。

結局は,手元では VZ マクロでやっつけてしまっていたりする。
聖井蛙。(なんちゃって〜)

[5201] Re^2: クイズ!

konno 2022/12/22(Thu) 00:12
[5200]へのコメント
> 聖井蛙。(なんちゃって〜)

ここだけ。(^^;

何だろうと思ってググってみましたら、Wikipediaでは

> 井蛙(せいあ、生没年不詳)とは、江戸時代の浮世絵師。

うーん、聖なるせいあ?

・・・・ 350の発泡酒がまわってきたとき、閃きました。

「聖闘士セイヤ」ネタですか。(^^;

[5202] 聖闘士星矢

文太 2022/12/22(Thu) 10:40
[5201]へのコメント
konnoさん

 ありがとうございました。
 はい、ぽっかーん、としていました。
 なんだか自分が異星人になったみたいな気分です。80年代、何をして生きていたのだろう?

https://ja.wikipedia.org/wiki/%E8%81%96%E9%97%98%E5%A3%AB%E6%98%9F%E7%9F%A2

[5205] Re: 聖闘士星矢

konno 2022/12/22(Thu) 21:21
[5202]へのコメント
>  はい、ぽっかーん、としていました。
>  なんだか自分が異星人になったみたいな気分です。80年代、何をして生きていたのだろう?
>
> https://ja.wikipedia.org/wiki/%E8%81%96%E9%97%98%E5%A3%AB%E6%98%9F%E7%9F%A2

文太さんはアニメとか見ないんでしたね。
聖衣(クロス)カーソルを纏った戦士、なんちて。(^^;
でも全然外してるみたいだし。(^^;;

# 聖衣(クロス)カウンターくらったじょー

[5207] Re^2: 聖闘士星矢

文太 2022/12/22(Thu) 22:40
[5205]へのコメント
>でも全然外してるみたいだし。(^^;;
 なの? それに気づいていない、、、。
 『ジャンプ』なんでしょ???? wikiもすぐさま通過しました。

 『ブラックジャック』か『ドカベン』あたりで終わりましたねぇ。
 いい年こいて、『スラム・ダンク』を買いました。そのうち新作も観てしまうのでしょう。元バスケ選手。
 そういえば、新海誠は、いちおう見ておくつもり。きれいな絵なわりに廃墟もの・終末ものなので。
 そうだ、『のだめカンタービレ』はコミックス、持ってます。同作者による『グリーン』(農業もの!)というのもあるんです。あれは捨てていいな。

[5208] 戸締まり

めざら 2022/12/23(Fri) 07:45
[5207]へのコメント http://mezala.la.coocan.jp/
すずめはウチの豚児がえらく高評価してますね。
なんでも,シン・ウルトラマンと並ぶ今年のベスト2なんだそうです。
うちの怪獣オタクの評価ですから偏りを差し引くと,ぶっちぎりのトップということになるのでしょう。三回くらい観に行ったらしい。


スポ根は観ないなぁ……大振りくらいかな。

[5210] Re^3: 聖闘士星矢

konno 2022/12/24(Sat) 00:50
[5207]へのコメント
> >でも全然外してるみたいだし。(^^;;
>  なの? それに気づいていない、、、。
>  『ジャンプ』なんでしょ???? wikiもすぐさま通過しました。

外したのは私です。

> > 闘ってないしなーと思って,聖☆おにいさん に寄せました。☆忘れたか。

これが正解みたいです。
ギャグマンガですね、実写版で山田君がやってたような。

>  『ブラックジャック』か『ドカベン』あたりで終わりましたねぇ。

おお、渋いですねぇ。

>  いい年こいて、『スラム・ダンク』を買いました。そのうち新作も観てしまうのでしょう。元バスケ選手。

そうなんですか、文太さんの新たな一面がわかって嬉しいです。

>  そういえば、新海誠は、いちおう見ておくつもり。きれいな絵なわりに廃墟もの・終末ものなので。

これは私も気になっていますが、映画館にいくかどうかはわかりません。
戸締りのススメは大事なことですね、世の中物騒になっていますし。

>  そうだ、『のだめカンタービレ』はコミックス、持ってます。同作者による『グリーン』(農業もの!)というのもあるんです。あれは捨てていいな。

これも意外な一面ですね、アニメは見たことあるような。

[5204] Re^3: クイズ!

めざら 2022/12/22(Thu) 10:59
[5201]へのコメント http://mezala.la.coocan.jp/
> 「聖闘士セイヤ」ネタですか。(^^;

あ〜,ちょっとわかりにくかったですかねー。(笑)
闘ってないしなーと思って,聖☆おにいさん に寄せました。☆忘れたか。
逆にあれほどゴロゴロしてないですけどね。

konno さんでなければ 350じゃ閃かないな。
ああ,タイトル回収に走ってしまっていたのか。流石です。

[5206] Re^4: クイズ!

konno 2022/12/22(Thu) 21:36
[5204]へのコメント
> あ〜,ちょっとわかりにくかったですかねー。(笑)
> 闘ってないしなーと思って,聖☆おにいさん に寄せました。☆忘れたか。
> 逆にあれほどゴロゴロしてないですけどね。

そっちでしたか、☆あっても浮かばなかったかもですねぇ。(^^;

> konno さんでなければ 350じゃ閃かないな。

☆マークの麦のやつです。1本でフワフワするので省エネでしょ。(^^;

> ああ,タイトル回収に走ってしまっていたのか。流石です。

タイトル? ああ、クイズですか、全然考えていませんでした。(^^;
でも盛大に滑ったせいか、聖夜の寒波がくるぅ〜
そのせいやない

# さ、寒い

[5209]

めざら 2022/12/23(Fri) 08:00
[5206]へのコメント http://mezala.la.coocan.jp/
> ☆マークの麦のやつです。

わたしはそれの黒いのが好きですね。
金の赤いやつと並び,今年のベスト2でしょうか。

> 1本でフワフワするので省エネでしょ。(^^;

一緒です。そのくらいが幸せですね。
がぶがぶ飲んで割り勘にするメフィラスにはスペシウム光線うちたくなる。

ん?金の赤いのって文法的に変か。
まぁ,ふだんは麦はやらなくて無糖レモンです。
ただ,先日年末用にと思って買いに行ったらひどく値上げされていて,肩を落としてすごすごと帰りました。待っても同じか。もう下がることはないでしょう。
(しかし,それにしても……モノホンじゃなくて第二,第三のレベルに生活を落として,なおかつそれも買い控えるという老後。空白,いや後退の十年か。)

[5211] Re: 麦

konno 2022/12/24(Sat) 01:14
[5209]へのコメント
> わたしはそれの黒いのが好きですね。
> 金の赤いやつと並び,今年のベスト2でしょうか。

黒ですか、玄人向けなイメージですね。
赤とはラガーですか、さすが渋いですねぇ。
その二つは飲んだことが無いので、こんど試してみたいですね。
私も以前は金の青だったんですが、あるときから合わなくなって今の物に落ち着きました。

> がぶがぶ飲んで割り勘にするメフィラスにはスペシウム光線うちたくなる。

ついこないだ「シン・ウルトラマン」を観たばかりなので知っています。
あの裏切りの三浦ですよね。(^^;

> (しかし,それにしても……モノホンじゃなくて第二,第三のレベルに生活を落として,なおかつそれも買い控えるという老後。空白,いや後退の十年か。)

飲みなれるとモノホンはきつく感じますので、今のが一番合っているみたいです、値段的にも。(^^;

[5212] Re^2: 麦

文太 2022/12/24(Sat) 16:39
[5211]へのコメント
ほぼ、ぐちゃぐちゃですが。

>あの裏切りの三浦ですよね。(^^;
 半分だけ話の方向が見えているような、、、。
 しかし、ざまあみろ、という死に方だった。
 小栗旬ですが、『天気の子』(新海誠の傑作!)でいい声してます。これを僕は
ネットフリックスで3回みてます。

>飲みなれるとモノホンはきつく感じますので、
 僕は水色な『端麗ゼロゼロ』なのですが、ほんと、そういうのに慣れると黒とか
ラガーとかが濃すぎだなぁ、と感じます。

 な、なんの話なんでしたっけ? 記憶では、最初から、そして350あたりから、僕は
自分がどこにいるのか分からなくなりました。
 そして、Fortranのetext, Pascalのetext, QuickBasic(正規表現が使えるかも!)
のetext、アセンブラ&DOSのetext、ついにはUNIX, C, Sed&Awkのetextと迷走して
います。この機械のような作業に癒されているようです。

 年賀状を書かないと。
 みなさま、よいお年を!

 あいかわらず、↓のようなことをしています。

\x ^ \([A-Z]\)
\1

 完全にsyoさんと同じ。趣味:テキストいじり。

 Fortran、やるぞ!
 コンパイルだけ、できるようになろう! 今日の目標!
 しかし、知れば知るほど、「文字列あつかうのに不向きな言語っぽい」という確信が
深まる。先生が、正規表現エンジンをそれで作っちゃったのですぅ。パスカル版もある
んですが。

[5215] Re: 麦

としき 2022/12/24(Sat) 23:30
[5209]へのコメント http://toshiki.la.coocan.jp/
> > 1本でフワフワするので省エネでしょ。(^^;
> 一緒です。そのくらいが幸せですね。
> がぶがぶ飲んで割り勘にするメフィラスにはスペシウム光線うちたくなる。

あぁ、私は撃たれてしまう部類のようです。

基本的に私、純アルコール換算で50〜70グラムは摂取したい人なのです。
アルコールが主というわけではなく、つまみとのバランスなわけですが、ビールの350が1缶だと対応するつまみの量が少なすぎて満腹にならない。
ということで、ビールだと350缶が2本では足りない。3本くらい欲しい。
だけどビール3本だと、ちょっと水分が多すぎる。
なので、ちょっと濃い目の缶チューハイに行くことが多い。
なお、飲む頻度は週に1回、休日の前夜だけ。今週は勤務シフトの関係で3連休になったので、珍しく昨夜と今夜と2晩続けて飲んでいます。

若いころはアルコール換算で100グラムぐらい飲んでいたのですがね。
つまり、720のワインを一晩で1本あけていた。
さすがに今はそんなに飲めません。

飲み会では、飲むよりも食べるほうで割り勘勝ちして顰蹙を買うことが多い。
でも、ラストオーダーのときに、とても食いきれないほど注文する馬鹿と同席することも多くて。しかもそういうときに、残すともったいないからと全部食べて、あとから割り勘勝ちしたと責められるという損な役回りを引き受けることになったりすることもよくある話。注文したのはオレじゃねぇ。
めざらさん、こういう、食べるほうで割り勘勝ちした人は撃ちませんよね?ね?

[5219] Re^2: 麦

めざら 2022/12/26(Mon) 20:49
[5215]へのコメント http://mezala.la.coocan.jp/
わたしは 20グラムくらいかな。
以前ブログに書いたことがあるのですが,柑橘と30度の焼酎でチューハイ作るときに,iwaki の500ccメジャーカップで3分の1カップと表示された目盛まで焼酎を注いで,果汁と炭酸水を加えることで20グラム相当のアルコールを摂取することになります。これでフワフワしてしまうので経済的。

> あぁ、私は撃たれてしまう部類のようです。
べつにそんなことないですよ。
がぶがぶというのは自分の適量を知らない輩ですね。適量を知る人は撃ちません。

> 食べるほうで割り勘勝ちした人は撃ちませんよね?ね?
食べる方は割り勘て言うのかなぁ?
確かに飲めないぶん食べますが, たいてい注文した皿がテーブルに置ききれないときに,がさっと自分の小皿に取って大皿を下げてもらうって感じ。だいたい,料理より酒のほうが高いでしょ?

[5229] Re^3: 麦

としき 2022/12/28(Wed) 23:04
[5219]へのコメント http://toshiki.la.coocan.jp/
> 適量を知る人は撃ちません。

私の場合、自分の適量は知っていますがね。
その適量を守れるかというと自ずと別問題なわけでして。
家で呑む場合は、概ね適量は守れています。
でも、宴会なんかだと、雰囲気に飲まれ、そしてそのまま酒に飲まれてしまう。
それが最大の問題なわけですが、その他にも居酒屋なんかの場合は細かい問題があって。
まず、グラスとかジョッキとか、これって何ミリリットルか、というのがぱっと見でわからない。
次に、容器の容量がわかったとして、ビールや日本酒、ワインなんかならアルコール度数も常識的にわかりますが、カクテル系なんかだとアルコールの濃さがわからない。さらに、カクテル系の場合は氷も入っていたりしますから、ますます純アルコール量は見当がつかなくなってくる。
結果、つぶれる。

これで、つい数日前にも失敗してしまいました。
3年ぶりに忘年会というものに参加したのですがね。
今回、電車で乗り過ごし、という類の失敗はしませんでした。
が、なんと、携帯電話を紛失してしまったのですよ。
帰宅したときにはべろべろだったもので、上着だけ脱いで、そのまままっすぐ布団の中。翌朝、紛失に気がつく、という体たらく。
1次会が始まったときは、胸ポケットに入っていたのですがね。
それ以降、携帯を触った記憶もなければ触ろうとした意図すら記憶にない。なので、1次会会場で落としたか2次会か、それとも帰路の電車の中か。ただ、駅から自宅まで千鳥足で歩いている最中、家に着いたら充電しなきゃ、と思ったことは思い出した。そのときにまだ持っているかどうか確認していれば、また少しは話が違ってきたのですがね。
とりあえず、交番に紛失届けは出して、キャリアには電話して利用停止にはしてもらいました。ガラケーとはいえお探しサービス対応機種だったので探知してもらいましたが、あいにく圏外につき探知不可。
これで私もスマホデビューになるのかなぁ。

[5247] Re^4: 麦

としき 2022/12/31(Sat) 01:20
[5229]へのコメント http://toshiki.la.coocan.jp/
> が、なんと、携帯電話を紛失してしまったのですよ。

どうでもいいことですが、その後の話。
ガラケーは発見されました。
電車の中で落としてしまっていたようで、駅に届けられていました。
無事に回収いたしました。警察の遺失届けも取り下げました。
その後、キャリアに電話して利用停止も解除しました。

一つ不思議だったのは、回収した際、電源がきちんと入っていたこと。
それでなんで、お探しサービスで探知できなかったんだろう。
また、「これからお探しサービスで位置を探知しますよ」というSMSの着信もあって、お探しサービス駆動時に圏外であったとは考えづらい。
そこで、利用停止を解除するときにオペレーターの人に尋ねたら、私の機種は事前設定しておかないとお探しサービスに対応していないのだとか。そういうことでしたか。

今後は気をつけることにしましょう。
とはいえ、いつかはやってしまうんだろうなぁ。

[5203] その他の言語

文太 2022/12/22(Thu) 10:43
[5200]へのコメント
めざらさん

 全面的に同感です。

>結局は,手元では VZ マクロでやっつけてしまっていたりする。
 これにつきますね。

Python : sed debugger のみ。たぶん行かない。
JavaScript : ぼくはこれもないな。
Ruby : 一瞬。Perlがダメそうだったから。でも、たぶん、ない。もっとも
     最短一致とか、\d くらい書けるgrep/sedは欲しい。数を数えられる
     sedというのも悪くない。

 この方面なら、僕は、Visual Basic! ver6というWinMEで動くものの本を
買ってしまった。本を買っただけ〜〜〜。

 方向は違うようです。しかし「違う方向」でうろうろしているのは同じ。

>相変わらず何がしたいのかわからない。
 ほんとに。

>…と言うか,やりたいことを何なら簡単にできそうか見当をつけようとしているのかもしれない…
 ぼくもそんな気がする。(注)

>でもそれらは仕事で必要な処理だった(過去形)はずで,完全フリーの現在では
 少し違うけど、心持ちは同じ。

>悲しい性なのかもしれない。
 そういう気がとってもします。
 あらためて、Vzマクロって楽だなぁ、と。

 現在ぼくが採用してないけど、やっても損がないばかりか、そうとうパワーアップ
しそうなまっとうな道は、先人たちのVzマクロ作品を熟読すること。すごく勉強に
なると思うのだけど、、、。しないねぇ、それ。saki...さんのマクロとか。

[5213] やったぜ! tr.exe

文太 2022/12/24(Sat) 22:35
[5188]へのコメント
 もう、ここに繋げちゃう。

 えーと、記念に報告しておきます。
 OCRでpdfからetext素材を得るとですね、へんな文字が入るのです。
95h という文字。9は青色。発泡酒の缶の色ではなく。

 以下のようにしてください。僕は、新出さんのあと、NT用に再移植された
unix-like toolsを使っているようなのですが、trで削除できます!
 (DOS環境だと新出さんにお出ましいただくのでしょう)

 以下のごとく。

>tr -d \x95 < c:\test.txt >kek.txt	;-d = del option ゼロ置換でない。

 前にも登場したことがあるtrですが、これがけっこうな曲者でして、
なかなか思ったとおりにいかない。最初8進数(オクタル)で指定できるのか!
とやったのに、敗退したり。

 コマンドラインの書き方に、けっこうクセがあります。
 必要になったら実験してみてください。>tr "chr1" "chr2" というほど甘くない、
場合があるはずです。

 Vzのゼロ置換でも消せないし、どういう文字化けなのかもよく分からなくて、
手で消してました。

 95h, extended ascii character なはずです。


追記:どうでもいいことですが、「 95 」という文字列になっている場合(前後の
文字はなんでもよい)、Vz置換で消せます。行頭、行末、あるいは行内単独(のみ)
のときに、手を焼いていました。

追記2:\manディレクトリのtr.txtを読むと、ツールズのというか引数展開ルーチンの
というか、コマンドライン解釈のというか、ひぃえ〜〜なぐらいに深い世界ですねぇ、
と思うと思います。UNIXでもDOSでも。

追記3:としきさんに課題を出されたときも、trの使い方で、おたおたしたんだ。
できましたよん! >tr [a][b] < object.txt しかダメって珍しいですよね。ま、
こうしかなれんのでしょう。

↑ このページの先頭