本サイトは、著作権期間延長に反対します

本Blogの『機械伯爵』の文書は、GFDL( 原文日本語訳)に準拠します。

Copyright (c) 2005 COUNT KIKWAI

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Copyright (C) 西暦2005年 機械伯爵

この文書を、フリーソフトウェア財団発行の GNU フリー文書利用許諾契約書(バージョン1.2かそれ以降から一つを選択)が定める条件の下で複製、頒布、あるいは改変することを許可する。変更不可部分、表カバーテキスト、裏カバーテキストは存在しない。この利用許諾契約書の複製物は「GNU フリー文書利用許諾契約書」という章に含まれている。

なお、機械伯爵以外の来訪者の方々によるコメントは、当然この範囲ではありません

2018年01月16日

awk 教師用、評点→評定スクリプト

満点100点の評点を5段階評価にするスクリプトだが、目的は数値段階評定(範囲は不規則)をいかに行うかの実験。

if-elseを重ねるのも見づらいし、gawk4.0以降のswith文を使ってもやりづらいので。


/end/{exit}
{
	# 1: 0〜34 点
	# 2:35〜44 点(44-34=10)
	# 3:45〜64 点(64-44=20)
	# 4:65〜79 点(79-64=15)
	# 5:80〜100点
	p = $0
	if(!(p>=0 && p<=100)){
		print "入力が不正です"
		next
	}
	split("34 10 20 15 100",r)
	p5 = 0
	do{
		p -= r[++p5]
	}while(p>0)
	print "評点は",p5,"です"
}

  続きを読む
Posted by kikwai at 11:10Comments(0)懐かしいAWK

2017年12月26日

GNUオリジナルのgawk for window(マルチバイト非対応)で、Shift-JIS文字をコンソールにプリントする

 一応Vectorのサイトにはマルチバイト対応のGAWKがあるのでそちらをつかえば問題ないが、オリジナルのGNU Awk for Windowsでは、マルチバイト文字のShift-JISがプリントできない(プロンプトがひねくれているが、Windows7のコマンドプロンプト)


$ gawk -f con
BEGIN{print "こんにちわ"}
^Z
gawk: con:1: fatal: print to "standard output" failed (Invalid argument)

  続きを読む
Posted by kikwai at 09:25Comments(0)懐かしいAWK

2017年12月23日

gawkでコマンドプロンプトから画面にUTF-8テキストを表示する方法

 コードページを変更しても、コマンドプロンプトの画面に「awkから」utf-8文字を打ち出すのは、結構、難しい。

  続きを読む
Posted by kikwai at 20:57Comments(0)懐かしいAWK

2017年12月21日

意外と知られていない"コンソール"ファイル

awkでファイルを作らずにスクリプトを実行する方法は、UNIX系ではシングルクォートを利用して簡単にできるのだが、Win系のコマンドプロンプトでは"hello world"すらできなくて往生する。
なお、UNIX系では、

$ awk -f /dev/tty datafile

と書けば、改行後に続けてスクリプトを書き、^D(Ctrl+D)でスクリプトを実行できるが、コマンドプロンプトではコレもできない。
あきらめて一、二行のスクリプトでもファイルが必要なのか?

  続きを読む
Posted by kikwai at 10:55Comments(0)懐かしいAWK

2017年12月19日

Pomera DM200にLinuxを導入!

 噂のポメラ魔改造。
 とりあえず無事にインストールできた模様。

Linux on Pomera DM200 人柱版 その2

KING JIM ポメラDM200でEmacs、Vim、Ruby、Pythonが動くなんて素敵すぎる!

 運用のほどは後ほど、感想としては、バックアップ作業が10分ほどかかったのに対し、インストールがほぼ一瞬で終わったので、失敗したかと思いました。
 これで、1台でスクリプトを試しながら原稿が書ける(嬉)
  
Posted by kikwai at 15:13Comments(0)ガジェット

2017年12月05日

awkの初期化されていない変数は

やはりプログラムは、本だけでなく打ち込んでみないとわからないモノがある。

例えば、


function dice(x, y, z,  r,k){
	if(x == 0){
		x = 1
		y = 6
	}else if(y == 0){
		y = x
		x = 1
	}
	for(k=0; k<x; k++){
		r += int(rand() * y) + 1
	}
	return r + z
}
BEGIN{
	srand()
}
/end/{exit}
{
	print dice($1,$2,$3)
}

というプログラムを組んで入力データを指定しないで実行すると、キー入力でスペース区切りで打ち込んだ0〜3の数値がダイスコードとなって乱数を発生してくれるプログラムだ。

一応「初期化されていない値は0の値を持つ」と本に書いてあったので、数値の打ち込みをせずにリターンキーを叩くとd6がデフォルトで出てくるようにしたつもりだが、これが上手く動かない。

  続きを読む
Posted by kikwai at 09:41Comments(0)懐かしいAWK

2017年11月17日

awkでpythonぼけ

 awkの連想配列の添え字でSet(集合)を手軽に作ろうと思ったら、エラーになった。
 しかし、エラーの原因が分からずうろたえる・・・
  続きを読む
Posted by kikwai at 11:05Comments(0)懐かしいAWK

2017年11月15日

Blackberry KEY OneでTermuxでvi

 とても、ニッチなネタなのだけど、もしかしたら困っている人がいるかも。
 というのは、前回の記事でとりあえずTermuxをつかえるようになったかもしれないが、通常の方法でBlackberryキーボードからviを使うのは難しいからだ。
 理由はESCキーが無いこと。普通にはaやiの編集モードから元に戻れない。
 もちろん、Hacker's Keyboardを「画面表示」しておけばいいのだが、それでは物理キー装備のBlackberryが泣く。
 実は、Blackberryキーボードの詳細設定で、物理キーボードのShiftキーの片方をCtrlキーにしておけば話は片付く。
 ESCキーのコードは、Ctrl-Cで入力できるので、コレで編集モードから戻れる。
 あとは、viを自由に使えばいい。
  続きを読む
Posted by kikwai at 19:35Comments(0)android

2017年11月13日

TermuxとAWK

 かなり遅きに逸した感があるが、AndroidにTermuxをインストール。
 「今まで、何やってたの」的な便利さに圧倒される。
 Pythonユーザは勿論、ネットワークに接続して

$ pkg install python

を実行のこと。現時点(2017/11/13)でPython 3.6.3が自動的にインストールされる。

 あと、外部ストレージを使用するために

$ termux-setup-storage

で、ストレージ利用を許可しておけば完璧だ。
UNIXライクのシェル環境で、Pythonライフが楽しめて、言うことはない。
まぁでも、作ったスクリプトを動作させるだけなら、QPythonも悪くないが。
  続きを読む

2017年11月04日

NHKは本当に合法か?

 たとえば、街頭に液晶掲示板がいきなり設置されたとしよう。この液晶掲示板は、映画などが映される。そしてその設置した掲示板の業者が近隣の住民に、掲示板の視聴料を要求したとしよう。視ていたかどうかの事実は関係ない。視聴できる場所に住んでいるのいだから、視聴料を払うべきだと。
 ネット接続に対してNHKが受信料を請求するというのは、まさにこれと同じことだ(検討中らしい)
 現在私は、別宅(テレビ配線は無い)に住んでいて、ガラケーにワンセグ機能が付いているという理由でNHKに受信料を請求されている。
 この携帯電話はいずれワンセグ機能のないものに変える予定だが、ネット利用となると、もう打つ手は無い。
 そもそも、ネットの同時配信は全世界が対象なのだが、NHKは全世界から視聴料を請求するつもりなのだろうか?

 そもそも、というのなら、受信設備に対して受信料を徴収する権利は、独占禁止法に抵触しないのだろうか。受信契約は受信するチャンネルに対して行う民放の有料放送に対し、多くのスポンサー型無料放送を視聴できる受信機を盾にとって受信料を強要するのは、本当に公正なのか?
 さらに放送技術開発の費用については、千歩譲って認められなくもない(もちろん不満はある)が、放送文化事業になると、特殊法人としての理念から甚だ離れている。
 公的なら国営にすべきだし、民間なら受信契約の法による強要はおかしい。

 電波に関しては色々あるだろうが、ネットだけはNHKの薄汚い受信強要の手を触れさせてはならない。

  
Posted by kikwai at 12:21Comments(0)その他の雑記