アカウント名:
パスワード:
配列がとても使いやすいです。bash で書いて、あとで c で書き直しましたが、ポインタを意識して配列を扱いましたのでとてもよかったです。
変数が文字と数がゴッチャなところは、良し悪しがありますけど、いい意味でいい加減なところが使いやすいです。
初心者にはコマンドを並べるだけでプログラムできるってところがいいんじゃないでしょうか。あとは制御できるように条件分岐などを覚えればいいだけですし、初心者向けには悪くない言語だと思います。
でも、なんで今?とは思います。
ただ、変数のスコープに気をつけないといけないんだよね。何かというと、パイプラインの途中で設定したのは余所から見えないってところ。これ、実は自分も一度引っ掛かって結構悩んだ。
> 何かというと、パイプラインの途中で設定したのは余所から見えないってところ。
http://shellscript.sunone.me/tips.html#tips-8 [sunone.me]この手の話ですね。たまにこの手の問題に引っかかる事ありますよね。
それと、do...doneループの中は子プロセスだから、内部で設定した変数は引き継げないと言う事。# もちろん、ループ内でreturnすると、ループ脱出。
do...doneループの中は子プロセスだから
えっ違うと思うけど…
失礼、whileループですね。# forを忘れていた。
自己レス。> 失礼、whileループですね。> # forを忘れていた。取り消します。
#2342653のリンク先の情報が正解です。
ぐぐったらこんなのが出てきました。ナンダコレhttp://www.usptomo.com/PAGE=20120425SCOPE [usptomo.com]
リンク先にある実験を自分でもやってみた。1つ目のwhileの実験は、別コメで指摘されているように、9行目でechoからパイプでつないでいるのが問題みたいですね。echoからのパイプをはずして、whileの条件を別の方法で設定するとforと同じ結果になりました。
いやそこでreturnは使えない。まあ別のコメントで答えは出てるけど、パイプラインにするとそれは別プロセス起動だから。単にforやwhileなら大丈夫。他にも、{}と()の違いに注意しないといけない、とかあるかな。
http://image02.wiki.livedoor.jp/e/7/ebatan7/b6ac0b977de4ce6c.jpg [livedoor.jp]
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲを呼ぶ -- ある傍観者
配列が使いやすい (スコア:2, 興味深い)
配列がとても使いやすいです。
bash で書いて、あとで c で書き直しましたが、ポインタを意識して配列を扱いましたのでとてもよかったです。
変数が文字と数がゴッチャなところは、良し悪しがありますけど、いい意味でいい加減なところが使いやすいです。
初心者にはコマンドを並べるだけでプログラムできるってところがいいんじゃないでしょうか。あとは制御できるように条件分岐などを覚えればいいだけですし、初心者向けには悪くない言語だと思います。
でも、なんで今?とは思います。
Re:配列が使いやすい (スコア:2, 参考になる)
ただ、変数のスコープに気をつけないといけないんだよね。
何かというと、パイプラインの途中で設定したのは余所から見えないってところ。
これ、実は自分も一度引っ掛かって結構悩んだ。
Re:配列が使いやすい (スコア:2)
> 何かというと、パイプラインの途中で設定したのは余所から見えないってところ。
http://shellscript.sunone.me/tips.html#tips-8 [sunone.me]
この手の話ですね。
たまにこの手の問題に引っかかる事ありますよね。
Re: (スコア:0)
それと、do...doneループの中は子プロセスだから、内部で設定した変数は引き継げないと言う事。
# もちろん、ループ内でreturnすると、ループ脱出。
Re:配列が使いやすい (スコア:1)
do...doneループの中は子プロセスだから
えっ
違うと思うけど…
# mishimaは本田透先生を熱烈に応援しています
Re: (スコア:0)
失礼、whileループですね。
# forを忘れていた。
Re: (スコア:0)
自己レス。
> 失礼、whileループですね。
> # forを忘れていた。
取り消します。
#2342653のリンク先の情報が正解です。
Re: (スコア:0)
=0=
=1=
=2=
3
はて…
Re:配列が使いやすい (スコア:1)
ぐぐったらこんなのが出てきました。ナンダコレ
http://www.usptomo.com/PAGE=20120425SCOPE [usptomo.com]
Re: (スコア:0)
リンク先にある実験を自分でもやってみた。
1つ目のwhileの実験は、別コメで指摘されているように、9行目でechoからパイプでつないでいるのが問題みたいですね。
echoからのパイプをはずして、whileの条件を別の方法で設定するとforと同じ結果になりました。
Re:配列が使いやすい (スコア:2)
Re:配列が使いやすい (スコア:1)
いやそこでreturnは使えない。
まあ別のコメントで答えは出てるけど、パイプラインにするとそれは別プロセス起動だから。単にforやwhileなら大丈夫。
他にも、{}と()の違いに注意しないといけない、とかあるかな。
Re: (スコア:0)
http://image02.wiki.livedoor.jp/e/7/ebatan7/b6ac0b977de4ce6c.jpg [livedoor.jp]