68user's page 掲示板

Prev< No. 2224〜2242> Next  [最新発言に戻る] [過去ログ一覧]
No. 2224 # norihisa 2001/10/25 (木) 20:27:25
1./usr/local/reg/env/.cshrc.sun中で設定され ている a-e, l, m で始まる alias を実際の file に基づき説明 せよ(Mule の複数バッファの機能やカット,ペーストの機能を利 用すると良い).
2.ヒストリ機能で直前のコマンドを少し変更する方法を 調べろ.(cp foo bar と入力する代りに cp ffo bar と入力して しまった場合等に便利)
3.*等のグロッビング用の文字を普通に入力するための方法を 調べろ(ファイル名が * のものを作成せよ.ただし,Mule は使 用しない.set noglob もしない).
4.(t)csh において,~ は特別な意味を持つ文字である.この意 味を調べろ(複数あるかもしれない).
(参考)Emacs には,shell という関数や manual-entry という関数が存在する.
1〜4 に対する回答を,Subject が Report 5 なる mail で, 10/25(木)までに ip-rep@j-lab.ee.aoyama.ac.jp に送ること.

No. 2225 # n 2001/10/25 (木) 20:35:39
No.2224は学校の課題なんですが、メールは送らないでください。このアドレスは先生のなので、意味がないのです。僕は生徒で、答えがわかったら掲示板に書いてください。お願いします。

No. 2226 # ナナシサソ 2001/10/25 (木) 22:05:55
「掲示板に書いてください。」って・・・
日本語の勉強が先だよな・・

先生に苦情を送っちゃっていいですか?

No. 2227 # n 2001/10/25 (木) 22:22:08
どうもすいませんでした。昨日からずっとインターネットで調べていたのですが、解らなかったので甘い考えでした。でも、自力でやって、二番だけわかったんですよ。やっぱりだめですよね楽しようとしたら。お返事まってます。

No. 2228 # 2001/10/25 (木) 22:32:41
でも、愚痴を言っていいですか?先生って授業でやってないことを、レポートにすゆんですよ!!パソコン初めてやってるひとにっとっては、とっても大変なんですよ。学校には聞ける友達もいないし・・・どうしたら・・って考えたら、エキスパートに聞くのが一番かなって!でもいつも徹夜とかでやっても、間違ってると零点にするんですよ!努力を認めてくれないんですよ。ナナシサソさんは、UNIXできる方なんですか?

No. 2229 # n 2001/10/25 (木) 23:07:47
ちなみに、二番のこたえは、
「Ctrl-P(以下C-p)を押すとhistoryの前に入力したコマンドが現れる直前に入力
したコマンドをcp foo bar と入力する代りに cp ffo bar と入力して しまった場
合には、C-pを押してcp ffo barのffoをoffと書き換えればよい。」
であってますかね。よろしければ、採点のほうよろしくお願いします。

No. 2230 # 68user 2001/10/26 (金) 00:27:10
>>2229 n
> 学校には聞ける友達もいないし・・・
UNIX を勉強するより、

    - 詳しい友達を見付ける。
    - それほど親しくない友達でも、課題提出前くらいは親しげに話しかけられる
        ような社交性を身につける。
    - 課題だからといって、問題をそのまま掲示板に書き込んでも反感を買うだけ、
        ということを書き込む前に推測できるようになる。
    - 仮に課題だとしても、そうは見えないようにうまくカムフラージュ
        できるような文章力を身につける。努力しているという姿勢を
        アピールする。

といったことを学ぶべきじゃないですかね。いや、ほんとに。

というわけで、
    http://cocoa.2ch.net/unix/index.html
あたりで再チャレンジしてみては。

No. 2231 # norihisa 2001/10/26 (金) 01:57:29
どうもご迷惑をかけました。ひとつお願いがあります。これからは、ホントに解らない事だけを聞くので、これからもこの掲示板に書き込みたいのです。よろしくお願いします。68USERさん本当にアドバイスありがとうございます。これからは、気おつけます。これからもよろしくお願いしますと、言いたいのですがいいですか?ダメでしたら素直に書き込みはやめます。ちなみに、今回いのレポートは二番だけで送りました。くどいようですが、すいませんでした。そして、ありがとうございます。

No. 2232 # 名無しさん 2001/10/26 (金) 18:56:19
「ネットワークプログラミングの基礎知識」で勉強させていただきました。とてもわかりやすくて入門にはピッタシカンカンでした。

難しかったのは、ソケットからの入力のバッファリングをOFFにする部分。以下のような説明をされてましたね。

> 26: select(SOCKET); $|=1; select(STDOUT);
>ソケットに対してバッファリングしないようにします。
>これもおまじないだと思って下さい。

なかなかこれを理解できずにいたのですが、「プログラミング Perl 2nd」P146によると

>autoflush HANDLE EXPR
という関数があるらしいですね。"use FileHandle;"宣言が必要ですが・・。
autoflush SOCKET 1
↑これなら、"おまじない"じゃなくて意味が通じ易くなるかもしれませんね

No. 2233 # りょうすけ 2001/10/27 (土) 03:54:21
おまじないというと、現時点で目先の理解の妨げになるから今はわからなくていいみたいな意味で書籍などでも使われてると思うので意味を通じさせるつもりは無いと思うんですよね。
説明が面倒(できない)でおまじないと言ってるわけじゃないですから。

でも、おまじないと言われて「ここでおまじないするのか」と素直に理解する人もあんまりいないですよね。
こういう時が、自分で調べ初めて自分で答えを見つける習慣を身に付けるチャンスになってるとおもうので良い表現だと思いますが。

No. 2234 # 名無しさん 2001/10/27 (土) 10:55:14
>>2233 りょうすけ
>説明が面倒(できない)でおまじないと言ってるわけじゃないですから。
ええ。そうですよね。"おまじない"という表現に異論はありません。枝葉の部分まで細かく説明するとかえってわからなくなっちゃいますもんね。

まぁ、プログラムの可読性という面でいうとautoflushも明快で良いかな?と思っただけです。(でも動作の仕組みを理解するにはselectでファイルハンドルを操作したほうが勉強になるのかも・・)

No. 2235 # H-Hash [URL] 2001/10/28 (日) 16:56:54
こんにちは。
http://x68000.startshop.co.jp/~68user/net/rfc.html から
リンクして頂いているThe WAYというサイトの管理人です。

このたび、RFC2616の日本語訳のURLが
http://www.studyinghttp.net/rfc_ja/2616/ に変更いたしました。
是非リンクの変更をよろしくお願いします。

No. 2236 # Ka23 2001/10/30 (火) 18:52:06
UNIX プログラミング FAQのサイトが
http://www.adl.rd.nacsis.ac.jp/~moro/unix-programmer/faq-j_toc.html
に移転しているようです。

No. 2237 # ふくし [E-mail] 2001/10/31 (水) 23:36:24
また質問ですいません。
ActiveState 以外の Windows 用 Perl で、
自由に配布できるものってなにがおすすめでしょうか?

友人が自費出版本に CD-ROM を付けて売りたいのですが、
ActivePerl のライセンスがやたら面倒くさく、
(なんか 20 ページの英語の書類を書いてどうこう、、という、
    手続きぐらいしろよって話なんですけど)
なんとかならないか、という話です。
勝利条件としては
・Perl 5.005 移行で
・Windows で動き
・Jcode.pm が動く
ということらしいです。

DJGPP 版、というのもあるようですが、
DOS 用ということで 16bit ですよね。
制限きついのかな、、?

Cygwin はぁ、、? と聞いてみましたが、
Cygwin はその説明(bash の説明とか)だけで本1冊書かないといけない、
そうです。(そうかぁ、、?)
でも cygwin.dll だけあれば Perl は動くのかな?
(そういうインストーラー作れるかな?)
(そんな部分的な部分を再版しても Cygnus 的に大丈夫なのかな?)

もしご存知の方がいらっしゃればご教示ください。
LSI-C とか Borland C++ のフリー版とかで Perl をコンパイルしてみようかな、、。

No. 2238 # ふくし [E-mail] 2001/11/01 (木) 00:46:07
あーなんかボケボケ書いたかも、、(DJGPP あたり、、)
また落ち着いて謝りにきます、、;;;

No. 2239 # mo 2001/11/01 (木) 01:20:40
こんにちは 
Perlについて質問させてください。

%aa=(a=>1,b=>2,c=>3);
%bb=(a=>4,b=>5,c=>6);
%cc=(%aa,%bb);

これでは%cc は a=4,b=5,c=6 のように上書きされてしまいます。
%cc が a=5,b=7,c=9 になるようにするにはどうしたらいいのでしょうか

よろしくお願いします。 

No. 2240 # ふくし [E-mail] 2001/11/01 (木) 02:04:05
#質問で迷惑掛けてるので答で貢献;;;

mo さん、はじめまして。

%aa=(a=>1,b=>2,c=>3);
ていうことは、
$aa{a} = 1;
$aa{b} = 2;
$aa{c} = 3;
と同じです。

a = 1;
b = 2;
c = 3;
ではないです。

%aa はハッシュというものを作っています。
お手もとの参考書などで「ハッシュ」という言葉を調べてください。

で、%bb=(a=>4,b=>5,c=>6);
ていうことは、
$bb{a} = 4;
$bb{b} = 5;
$bb{c} = 6;
と同じです。

%cc=(%aa, %bb);
ということは、上の結果、
%cc=(a=>1,b=>2,c=>3,a=>4,b=>5,c=>6);
と一緒なので、
$cc{a} = 1;
$cc{b} = 2;
$cc{c} = 3;
$cc{a} = 4;
$cc{b} = 5;
$cc{c} = 6;
と一緒なので、結局 $cc{a}、$cc{b}、$cc{c} は2回代入されるので、
後のほうが有効になって、
$cc{a} = 4;
$cc{b} = 5;
$cc{c} = 6;
となっているわけですね。

で、この場合、$cc{a}、$cc{b}、$cc{c} には、
それぞれ $aa{a}、$aa{b}、$aa{c} と $bb{a}、$bb{b}、$bb{c} の
合計が入って欲しいわけだから、
%cc = (a => $aa{a}+$bb{a}, b => $aa{b}+$bb{b}, c => $aa{c}+$bb{c});
とするか、
foreach (a..c) { # $_ が a から c までくりかえし実行
    $cc{$_} = $aa{$_} + $bb{$_};
}
とするか、%aa、%bb にどんなキーが入っていてもいいことにするには
foreach (keys %aa) { # $_ に %aa のキーを次々に入れながら繰り返し実行★
    $cc{$_} = $aa{$_} + $bb{$_};
}
とするか、
%cc = map {$_ => $aa{$_} + $bb{$_} } keys(%aa);
とするか。

★がついたのが一番おすすめか?
foreach、keys、a..c、map については適当な本を調べてください。(ひでえ、、)

とりあえず
foreach (a..c) {
    print "$_\n"
}
とか
foreach (keys %aa) {
    print "$_\n"
}
とか、
@x = (1..5);
@y = map{ $_ * 2 } @x;
foreach (@x) {
    print "$_\n";
}
とか動かしてみると面白いと思います。

#もっとあっと驚く回答があったら教えてください

No. 2241 # ふくし [E-mail] 2001/11/01 (木) 10:30:56
すいません

下で
foreach (a..c) {
と書いているのは
foreach ('a'..'c') {
と書かないと怒られます。(警告だけで、動作はするようです)

ようは、a、b、c は変数の名前でなく文字列で、
%aa、%bb、%cc というハッシュのキーですね。
%aa というハッシュの、キーが 'a' の値にアクセスするには
$aa{'a'} と書きます。ただしこの場合 a はハッシュのキーであると
はっきりしているので $aa{a} と省略形で書けます。

同じハッシュでキー x の値に 550 を、キー y の値に 660 を入れるには
キーと値を交互に指定するリストを使って
%aa = ('x', 550, 'y', 660);
と書きますが、キーと値の関係をはっきりさせるために
カッコの変わりに => という記号を使えば
%aa = ('x' => 550, 'y' => 660);
と書けます。で、この場合は => の左側はハッシュのキーなので
省略して
%aa = (x => 550, y => 660);
とも書けるわけです。
でも、この '' 省略方式だと、
空白を含むキーが使えません。
%kg = ('yamada tarou' => 80, 'satou tamao' => 50);
だと
$kg{'yamada tarou'} に 80 が、$kg{'satou tamao'} に 50 が
入りますが、
%kg = (yamada tarou => 80, satou tamao => 50);
だとエラーが出て動きません。
$kg{yamada tarou} も怒られて動きません。

下のプログラムで a, b, c というのは、
ハッシュのキーで「文字列」であることを覚えておいてください。

No. 2242 # mo 2001/11/01 (木) 23:53:58
ふくしさん、 こんにちわ

map の使い方はまだ理解できませんが
★のコードは理解できました。

ありがとうございました。

Prev< No. 2224〜2242> Next  [最新発言に戻る] [過去ログ一覧]