[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/09 21:04 / Filesize : 152 KB / Number-of Response : 743
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonに見られるインデントによる制御構造の是非



1 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:44:02 ]
議論よろしく。

683 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 09:27:07 ]
echoで書くよりマシ。

684 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 11:44:22 ]
>>683
今どきのシェルだと、catよりecho(つーか、"")のほうが多機能だぞ。

685 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 22:06:00 ]
コード投稿しようとしたらサイズ制限に引っかかって泣く泣く先頭のスペース消しました

686 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 23:31:53 ]
C以来、プログラムは自由構文が当たり前だと思っていたが、
まさかFORTRANみたいなインデントを強制される言語が使われるようになるとは思わなかった。
Pythonに慣れると変な癖が付きそうなので触る気はない。OOPやるならRubyで十分。

687 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 23:38:04 ]
Haskell、Clean、F#(の#lightモード)あたりもインデントでブロックを
表現するんだけどね(オフサイドルールって奴)

ぶっちゃけPythonのインデント如きにガタガタ言ってる人は認識が古いんで
改めたほうがいいよ


688 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 23:43:42 ]
COBOLでもやっとけ

689 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 23:45:18 ]
関数型のかの字も知らずに出てくるのはFORTRANやCOBOLか
老害って哀れだね

690 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 23:50:24 ]
numpy/scipyでblasには大変世話になってるので、
Fortranを馬鹿にすんな

691 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 02:01:55 ]
FORTRANやCOBOLの桁強制とPythonやHaskellのインデントはちと性質が違うと思うなぁ



692 名前:デフォルトの名無しさん [2009/03/18(水) 02:56:43 ]
インデントは強制されてもいいけど、尻切れトンボみたいにインデントがついた形のまま終わるのがとにかく嫌いだ。
コメントで}とかendとか書いておけばいいことだけど、どうせ強制するならインデントの終わりも
きちんと書かないといけないように強制するなら許せる。
とにかくソースが美しくないから使いたくないし見たくない。

693 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 03:18:35 ]
>>692 あー俺逆。馬鹿みたいにendendendendendendendendって書くのだめ。
Lispで超カッコ作った人の気持ちが半分だけわかるというか。
まあendないとパンツ履いてないような心もとなさがあるのもわかるけどね。

694 名前:デフォルトの名無しさん [2009/03/18(水) 11:04:40 ]
オフサイドルールは、数学の記法から ISWIM で取り入れられたもので、
>>691 の言う通り COBOL や Fortran とは別物。
てかひさしぶりにこのスレが伸びたのを見た気がする。

695 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 11:14:04 ]
>>687
それの中で一番メジャーなのPythonなのに、Pythonごときでっていいかたわないかとw

696 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 11:15:38 ]
YAMLはオフサイドルールでブロックを表現するんだが
endマンセーでオフサイドルールに我慢できないという
RubyユーザはYAMLを使わないのだろうか


697 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 11:16:26 ]
>>695
Python「のインデント」如き
とPython「如き」では日本語として意味が違うよ

698 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 11:37:12 ]
RubyだとYAMLにするよりも直接書いてしまうほうが多いような気もする。

699 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 12:54:55 ]
それはRubyのリテラル表記で書くってこと?
ヤメテクレー

700 名前:デフォルトの名無しさん [2009/03/18(水) 13:19:39 ]
読む分には是、書く場合は非


701 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 15:17:54 ]
YAML は一見すると簡単そうなのに構文規則が複雑すぎる。
一刻も早く滅んでほしい。





702 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 16:07:21 ]
生きのこるのはJSONか?

703 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 18:19:39 ]
JRubyです

704 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 04:25:09 ]
>692-693
俺はC系から入ってLispに行ってからPython、Rubyと覚えたからどっちの気持ちも解るw
C→Lispの時は驚いたよ。「括弧は最後の行に纏めるのが良いスタイル」なんだもん。
だが慣れてしまうとRubyのendendendendに辟易。
…でも結局、そのendendendendにも慣れ始めている俺が居る。

705 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 07:10:03 ]
>>696
つ、つられてやるぞ!
元々XMLはRubyにもまして、end臭くて、冗長すぎるからああなったという経緯がある

>>701
そうか?HashとArrayしかないと考えたら全然難しくないよ

706 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 07:32:34 ]
妙なエスケープが多いってことじゃね?

707 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 10:33:19 ]
スルー推奨

708 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 19:24:41 ]
>>704
692だけど、確かに今のLISPのソースはカッコを最後にまとめてるね。
大昔LISPを勉強したとき、これでえらく苦労したのを覚えてる。
当時はソースを紙に打ち出して赤ペンでカッコの対応をチェックしてた時代で、
目視でカッコの対応をチェックするのはとても大変だった。
今はエディタでカッコ対応チェックしてくれるから楽だけどね。
PythonをRubyの親戚と見ると違和感あるけど、LISPに似てると思って見ればアレルギーも少しはおさまるのかな。
でも、Cで関数の最後に}が並んでたらやっぱり嫌だな。

709 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 19:57:55 ]
Lispのコードを読むときはカッコなんて見ない(特に閉じカッコは)
インデントだけ見る
EmacsなしでLispのコードを書く気はしない
かな

そういう意味ではオフサイドルールはそれなりに合理的だ
見ないものは最初から無いし書く必要が無い
高機能エディタのサポート無しでも書くのに困らない
逆に自動整形が効かない弱みがあるが

まあLispの場合は全てがS式であることが言語の力だから、あれは仕方が無い

710 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 00:08:20 ]
Lisp系はある意味清々しいよな
演算子の優先順位も、構文解析の結合度も、全て自分で書くんだから
人間がパーザやってる感じがするが、それ故に優先順位の間違いは無い

711 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 14:49:41 ]
スルーパス出すために
pass文があるんですね



712 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 14:51:54 ]
>>705
hash と array しかないんだったら JSON で充分

713 名前:デフォルトの名無しさん mailto:sage [2009/04/17(金) 07:08:09 ]
結局pythonのコードはインデント狂わすウィルス出てきたら終りだね
空白だと一見気付かないから
なぜか上手く動かない
で対策も遅れる


714 名前:デフォルトの名無しさん mailto:sage [2009/04/17(金) 07:29:42 ]
空白文字部分を表示するエディタ使ってますが何か?

715 名前:デフォルトの名無しさん mailto:sage [2009/04/17(金) 07:38:55 ]
じゃあインデント狂わすウィルスが出てくるまでPython最強だね。

716 名前:デフォルトの名無しさん mailto:sage [2009/04/17(金) 07:54:55 ]
それなら、かっこ、コンマ、改行とかを狂わすウィルス作る方が効果的だろ

717 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 14:52:52 ]
知らぬ間に意味が変わってるのがいいんじゃないか

718 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 20:04:00 ]
そういうバグが一番たちが悪い。自分で間違ってるはずがないと思い込んでるところが一番発見しにくいからね。

719 名前:デフォルトの名無しさん [2009/07/27(月) 11:51:10 ]
メソッド内でself強制なのはわかるが、引数にselfは要らない

720 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 12:20:53 ]
スレタイ

721 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 16:17:40 ]
ただ、変に書きすぎると右にずれてきて見辛くなる



722 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 16:45:34 ]

そういうときはモジュールか関数に吐き出す時期

723 名前:デフォルトの名無しさん [2009/08/05(水) 14:18:13 ]
改行抜けただけで崩壊w

724 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 17:25:51 ]
その危うさが楽しいw

725 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:14:03 ]
Lispは括弧1個間違えると読み込み終了時に初めてエラーだとわかる。
最初に出てくるエラーはS式として括弧が足りない、多いというもの。
まず括弧の数を合わせないと構文が正しいかのチェックすらできない。
つまり修正に2工程掛かる。

Cはセミコロンが抜けたらその付近で構文エラーになり止まる。
これは文と式を分けている効果であり、良く考えて作られていると言える。

Pythonも文と式に分かれている以上、ある範囲内で何かおかしい、
ぐらいは判るんじゃないかと。

726 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:16:48 ]
Lispには及ばないが、むしろC言語のセミコロン抜けは解りにくい部類
セミコロン抜けは抜けた行じゃなくて、次の行のエラーになるからね

727 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:19:31 ]
次の行というか、文の終端記号ごとだよ。

728 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 01:19:49 ]
HTMLから脈々と続くネットデファクトとも言えるデータ形式で
複数スペースを解釈しないんだから、pythonは不幸なんじゃないか。
python説明するWebページ作るのって苦労しない?

729 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 01:23:00 ]


730 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 01:25:17 ]
python.rdy.jp/

731 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 06:42:00 ]
>728
2chのPythonスレでは や全角スペース、専ブラのレス参照を活用してることが多いね。
俺はスペース2つ→ で置換してから投稿することにしてる。



732 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 12:16:45 ]
ネットデファクト(笑)

PRE要素使えよ。

733 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 22:05:24 ]
インデントのせいで2chにソース貼りにくいから、
宿題厨が沸かないのがいいな。

734 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 23:04:09 ]
>>732
>>732
>>732


735 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 20:59:59 ]
Web 頁作る件なら PRE でいいだろうし、python に限った話でもない
だだブログで記事を編集しなおしたら勝手に行頭スペースが詰められて焦ったことがある

736 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 05:22:51 ]
掲示板とかでタグ認識しないところは<PRE>じゃどうしようもないんだけど…

737 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 12:03:11 ]
だけど何

738 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 12:47:14 ]
だからpython世界では、宿題のコードください(^q^)はいあげます(^p^)みたいなやりとりはNGってこった。

必要な情報だけ書けば問題ないだろ。

739 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 14:49:34 ]
>737
どうしようもないんだけど、そういう場合にもPREって言うのか?と

740 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 18:10:00 ]
んなことでいちいち思考停止してたら、AA職人の足下にも及ばねぇだろ。

741 名前:デフォルトの名無しさん mailto:な [2009/09/19(土) 00:23:27 ]
>>738
ヒット




742 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 15:54:55 ]
というか、self強制の件については我らが偉大なるGuidoパパ自ら回答してくれているので、まずこれを読め。
coreblog.org/ats/translation-of-why-explicit-self-has-to-stay

foo = C()
のとき、
foo.meth(arg) == C.meth(foo, arg)

である。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<152KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef