Pythonに見られるインデントによる制御構造の是非
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/01/22(月) 22:44:020002デフォルトの名無しさん
2007/01/22(月) 22:46:31∧_∧
( ・ω・)=つ≡つ
(っ ≡つ=つ
/ ) ババババ
( / ̄∪
0003デフォルトの名無しさん
2007/01/23(火) 00:47:090004デフォルトの名無しさん
2007/01/23(火) 02:09:240005デフォルトの名無しさん
2007/01/23(火) 02:09:440006デフォルトの名無しさん
2007/01/23(火) 07:01:340007デフォルトの名無しさん
2007/01/23(火) 18:03:500008デフォルトの名無しさん
2007/01/23(火) 20:52:04切り替えるというか混在OKでしょ
他の言語もブレースとインデント両方サポートしてほしい。
ブレースだから、インデントだから、endがうざいから
とかが言語選択の理由になってしまうのはつまらんと思う。
0009デフォルトの名無しさん
2007/01/23(火) 20:59:390010デフォルトの名無しさん
2007/01/23(火) 23:27:21どっちみちインデントが揃ってないプログラムは読みにくいし。
エディタが完璧に整形してくれるのが一番なんだけど。
>他の言語もブレースとインデント両方サポート
機械的に選択可能ならエディタにでも組み込めばいいじゃないかな。
0011デフォルトの名無しさん
2007/01/24(水) 04:32:33メソッド第一引数 self で(ノ∀`)アチャーだったので
GroovyかPnutsに渋々移行した。
0012デフォルトの名無しさん
2007/01/24(水) 04:45:25言語作者がめんどくさがることは各ユーザーがやればいいというわけですね。なるほど。
0013デフォルトの名無しさん
2007/01/24(水) 04:49:26あそこはself以外の単語入れてボケるのが面白いのに
0014デフォルトの名無しさん
2007/01/24(水) 17:57:01インデントは「制御構造」とは言わないのでは。
制御構造と言ったら普通は順構造(並んでいる順に実行)、分岐構造、反復構造のことを指す。
Python のインデントは「ブロック」を定義するための仕組みだ。
0015デフォルトの名無しさん
2007/01/27(土) 21:58:16ブロックをtry-exceptで囲って、さらにブロックの中のバグを取ったりする。
その差分を後で別のブランチにマージするときに、本当に大丈夫かどうか
不安になる。
>11
僕はあそこにselfを入れてくるのがわかりやすくて好きだなぁ。
まぁ、好みの問題だけど。javaのインスタンス変数への暗黙アクセスは
元々嫌いで、毎回thisって打ってたタイプなので尚更。
0016デフォルトの名無しさん
2007/01/27(土) 22:29:49this. 打つように強制して欲しかったと思う。
もしくはコンパイル時に警告を出すとか。デフォで。
0017デフォルトの名無しさん
2007/02/01(木) 08:05:12java知らないけど、その状況って解釈不能じゃね?w
0018デフォルトの名無しさん
2007/02/25(日) 23:16:18思ったより数少ないね。
0019デフォルトの名無しさん
2007/02/26(月) 04:59:320020デフォルトの名無しさん
2007/03/01(木) 17:11:56:%!perltidy する人なので、pythonは使えないと思った。
0021デフォルトの名無しさん
2007/03/04(日) 21:34:510022デフォルトの名無しさん
2007/03/04(日) 22:09:270023デフォルトの名無しさん
2007/03/04(日) 22:16:350024デフォルトの名無しさん
2007/03/05(月) 01:09:340025デフォルトの名無しさん
2007/03/05(月) 14:25:340026デフォルトの名無しさん
2007/03/05(月) 15:56:370027デフォルトの名無しさん
2007/03/11(日) 06:02:440028デフォルトの名無しさん
2007/03/12(月) 14:39:520029デフォルトの名無しさん
2007/03/13(火) 11:10:020030デフォルトの名無しさん
2007/03/13(火) 14:57:540031デフォルトの名無しさん
2007/03/13(火) 23:15:230032デフォルトの名無しさん
2007/07/18(水) 06:38:05この良さわからんわ
0033デフォルトの名無しさん
2007/07/18(水) 07:45:36俺はブレースを書かなくてもブロックを表現出来るのであれば積極的に省略したい。
0034デフォルトの名無しさん
2007/07/18(水) 08:26:12慣れの問題かもしれん
0035デフォルトの名無しさん
2007/07/18(水) 08:40:100036デフォルトの名無しさん
2007/07/18(水) 09:31:080037デフォルトの名無しさん
2007/07/19(木) 08:09:51エディタがインデントレベルに応じて色分けとか
サポートがあるとさらに良い。
0038デフォルトの名無しさん
2007/07/19(木) 15:08:12> パッと見たときにブレースの方が視認性よくね?
> この良さわからんわ
箇条書きした文章だと思うんだ!!
0039デフォルトの名無しさん
2007/07/19(木) 15:27:08ブレースを使った言語で、みんな視認性を良く書いてくれてるならね
0040デフォルトの名無しさん
2007/07/19(木) 18:12:010041デフォルトの名無しさん
2007/07/19(木) 20:55:08C言語ライクな言語だとEmacsで M-x indent-region 一発で済むだけにPythonは書きづらい言語だ。(ただし読む分にはおk
0042デフォルトの名無しさん
2007/07/19(木) 22:15:050043デフォルトの名無しさん
2007/07/19(木) 22:37:260044デフォルトの名無しさん
2007/07/19(木) 23:57:35Emacs使った事無いのか?
0045デフォルトの名無しさん
2007/07/20(金) 06:02:520046デフォルトの名無しさん
2007/07/20(金) 06:21:04今時のエディタなら当然可能だろう。俺がインデントを削る時はまず手で打って、j. で
行数分繰り返すけどね。
0047デフォルトの名無しさん
2007/07/20(金) 06:57:290048デフォルトの名無しさん
2007/07/20(金) 07:00:380049デフォルトの名無しさん
2007/07/20(金) 13:59:360050デフォルトの名無しさん
2007/07/20(金) 14:22:18python-modeってそんなに不便なの?!
0051デフォルトの名無しさん
2007/07/20(金) 21:34:31一応エディタ無しでも組めないことはないだろ
エディタ前提のLisp系に比べればまだマシな方じゃね?
0052デフォルトの名無しさん
2007/07/20(金) 22:15:520053デフォルトの名無しさん
2007/07/20(金) 22:27:490054デフォルトの名無しさん
2007/07/20(金) 22:34:53問題はその時にどこからどこまでどの程度インデントをずらすのか、修正してる途中で忘れちまうことがあるんだな。
C言語系だとブレースをいじるだけで済む。インデントはエディタが自動で揃えてくれるが、それは必須でもない。
0055デフォルトの名無しさん
2007/07/20(金) 22:47:470056デフォルトの名無しさん
2007/07/20(金) 22:49:310057デフォルトの名無しさん
2007/07/20(金) 23:13:11Python 付属の IDLE なら C-] と C-[
Emacs の python-mode なら C-c > と C-c <
でブロック全体をインデント/デインデントできるんだが、
そういうエディタの支援を利用しないと云々という話?
0058デフォルトの名無しさん
2007/07/21(土) 00:59:27そういう話なんじゃね?
>51 も >53 ができるエディタが必要って話だろ。
メモ帳で組めなきゃダメなのかよ。
005958
2007/07/21(土) 01:03:55普段Emacs使わないから覚えてないな…
0060デフォルトの名無しさん
2007/07/21(土) 02:36:52制御構造を変えるということはブロックの範囲や位置を変えたりとか色々なわけで、
それはエディタの機能じゃなくて人間の脳味噌でする仕事。
Pythonだとそういうエディタの機能ではカバーできない部分が煩わしいなぁ、と。
0061デフォルトの名無しさん
2007/07/21(土) 05:25:39具体例きぼんぬ
0062デフォルトの名無しさん
2007/07/21(土) 07:33:200063自分が勘違いしていることに気づいてなさそうだな…
2007/07/21(土) 09:48:42エディタにアルゴリズムを決めて貰うスレはこちらですか?
0064デフォルトの名無しさん
2007/07/21(土) 18:17:49仮に
if (foo) {
proc1;
proc2;
}
と言うロジックがあったときに、proc2を条件から外したいとする。
その場合、当然proc2の行を次の行を入れ替えて
if (foo) {
proc1;
}
proc2;
とすればいい。しかし、インデント依存言語だとproc2のインデントを変えるだけで済んでしまう。
このように一個の条件式だけなら未だいいが、ループ内の条件式をループ外に出すといった場合には
インデントレベルの把握と操作が煩わしい。
0065なんでこんな奴が来てるんだ?
2007/07/21(土) 21:59:01脳内妄想は日記内でおながいしまつ
0066デフォルトの名無しさん
2007/07/21(土) 22:22:21「ループ内の""文""をループ外に出すといった場合には」
が
カット->ペースト->手作業でインデント揃え
カット->ペースト->コマンド一発で勝手にインデントが揃う
の差って言いたいんじゃないか?
0067デフォルトの名無しさん
2007/07/22(日) 00:16:41{ } を使う言語もどうせ可読性のためにインデントしてるんだから
Pythonの方が表記や操作の無駄がなくてよい
0068デフォルトの名無しさん
2007/07/22(日) 03:52:210069デフォルトの名無しさん
2007/07/22(日) 09:39:23はエディタの支援で "一発でインデントを揃える" ことが出来るのに
>コマンド一発で勝手にインデントが揃う
と何が違うのか意味が分からない
0070デフォルトの名無しさん
2007/07/22(日) 09:43:520071デフォルトの名無しさん
2007/07/22(日) 11:00:29「コマンド一発で勝手にインデントが揃う」
は
{
{
{
なんとか
}
}
}
をコマンド一発で
{
{
{
なんとか
}
}
}
にしてくれる事
0072デフォルトの名無しさん
2007/07/23(月) 11:45:34いい加減飽きたからこの辺で放置しとくけど...
カッコをどこにいれるかと考えている段階&作業に相当するのが
「どのブロックをインデントさせようか」と考えてインデントする作業
なので >71 の「コマンド一発で勝手にインデントが揃う」は
そもそも比較対象が存在しないと言うか
そういう考え方が無意味なんですけどね…
python 使ったことないひとには理解できないかもしれません
0073デフォルトの名無しさん
2007/07/23(月) 12:28:230074デフォルトの名無しさん
2007/07/23(月) 14:14:53例えば Emacs の場合、「コマンド一発」って具体的にどうすんの?
0075デフォルトの名無しさん
2007/07/23(月) 14:50:48>>53
0076デフォルトの名無しさん
2007/07/23(月) 16:42:15python-mode なら↓とかで。
C-c > py-shift-region-right
C-c < py-shift-region-left
C-c C-r py-shift-region-right
C-c C-l py-shift-region-left
インデントの意味もこまんど一発の意味合いも違うけど
0077デフォルトの名無しさん
2007/07/23(月) 22:08:38この場合は、一部を切り出して比較しても意味が無い。
0078デフォルトの名無しさん
2007/09/13(木) 00:17:09ブロックの終端に必ずreturnかpassを付けてから整形する
0079デフォルトの名無しさん
2007/09/13(木) 00:23:140080デフォルトの名無しさん
2007/09/13(木) 00:45:46それは・・・・・・
0081デフォルトの名無しさん
2007/09/13(木) 01:03:470082デフォルトの名無しさん
2007/10/11(木) 11:14:000083デフォルトの名無しさん
2007/10/11(木) 11:39:301〜5桁目
行番号を書く。1カラム目にCを書くとその行はコメント行になる。
6桁目
継続行であるときはここに任意の文字(空白又は0以外)を書く
7〜72桁目
本文を書く
73〜80桁目
シーケンシャル番号を書く(行を識別するための番号、本文には影響しない)
123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-
+---+-+----------------------------------------------------------------+-------+
行番号 コード
DO 10 I = 1, 100
WRITE(6,200) I
200 FORMAT(1H ,I3)
10 CONTINUE
END
0084デフォルトの名無しさん
2007/10/17(水) 23:24:360085デフォルトの名無しさん
2007/10/26(金) 09:46:27def A():
....
return
の行頭空白がなくなったとしてもどうにか復元できるけど
たとえば
for i in range(10):
if data[i]==3:
break
else:
print "NOT FOUND"
で空白がなくなったらもう復元できないよね
それが怖い
for の最後には必ず continue をつけるとか。
0086デフォルトの名無しさん
2007/10/26(金) 20:35:40何をお仰りたいかわかりませんが
つ{}
もしくは
つ他言語
0087デフォルトの名無しさん
2007/10/27(土) 17:22:48というシチュエーションは殆ど無いから無問題かと...
2ch に慌てて貼付けた時くらい?
0088デフォルトの名無しさん
2007/10/27(土) 22:21:360089デフォルトの名無しさん
2007/11/12(月) 07:56:430090デフォルトの名無しさん
2007/11/12(月) 20:13:43if hoge :
hage
fuga
hige
# end if
みたいになってた
0091デフォルトの名無しさん
2007/11/12(月) 20:15:10パンチカードの時代に作られた言語だから
0092デフォルトの名無しさん
2007/11/12(月) 20:20:17for i in range(10):
if data[i]==3:
break
# end if
else:
print "NOT FOUND"
# end for
なんかださいけど
0093デフォルトの名無しさん
2007/11/13(火) 00:58:11とか言い放つPython原理主義者などはいないものか。
0094デフォルトの名無しさん
2007/11/13(火) 02:19:32ノ
endとか書くぐらいならRubyでもやってろと思う
0095デフォルトの名無しさん
2007/11/13(火) 08:41:21for i in range(10): {
if data[i]==3:
break
}else: {
print "NOT FOUND"
}
って書いても動く?
0096デフォルトの名無しさん
2007/11/13(火) 09:12:220097デフォルトの名無しさん
2007/11/17(土) 00:24:01>>78
for i in range(10):
if data[i]==3:
break
pass
else:
print "NOT FOUND"
pass
0098デフォルトの名無しさん
2007/11/18(日) 00:11:00どうせ、一秒でも保守する気のあるコードは必ずインデントして書くわけだから、
どうせだったら、インデントを文法に利用して、不要なブレースだの、endだの
を省けたほうが、合理的だし、無駄がなくて美しい。
0099デフォルトの名無しさん
2007/11/18(日) 00:18:510100デフォルトの名無しさん
2007/11/18(日) 01:11:44selfは不要じゃないよ
0101デフォルトの名無しさん
2007/11/18(日) 02:11:570102デフォルトの名無しさん
2007/11/18(日) 02:21:08あれは何でのこっているんだろう?
0103デフォルトの名無しさん
2007/11/18(日) 03:19:07スコープで文脈ってものを既に導入しているのだから、
selfくらいは省略したときに文脈から判断したっていいんじゃね?
0104デフォルトの名無しさん
2007/11/18(日) 09:49:06インタプリタの判断ミスによる副作用を防ぐために、ピリオドを含めてたった 5 文字の self くらい明示的に指定しても良いんじゃね?
0105デフォルトの名無しさん
2007/11/18(日) 10:11:23selfが常にあるほうがずっと読みやすいコードになるよ。
0106デフォルトの名無しさん
2007/11/18(日) 10:14:23ことだけは、冗長だと感じる
0107デフォルトの名無しさん
2007/11/18(日) 10:28:53コロンは,英語の表記習慣から来てるんだと思う。
PEP8のImportsセクションあたり見てみ。項目を列記する前の行にコロンを使う。
ttp://www.python.org/dev/peps/pep-0008/
たとえばこんなの。
Imports should be grouped in the following order:
1. standard library imports
2. related third party imports
3. local application/library specific imports
0108デフォルトの名無しさん
2007/11/18(日) 12:30:54ミスするのは人間だろう。ミスを防ぐためにselfが
必用だというならインデントをミスった場合の
防波堤としてブレースだって必用だ。
0109デフォルトの名無しさん
2007/11/18(日) 13:33:410110デフォルトの名無しさん
2007/11/18(日) 15:03:160111デフォルトの名無しさん
2007/11/18(日) 15:59:30あると見やすいだろってだけの話で深い理由はない。
0112デフォルトの名無しさん
2007/11/18(日) 16:04:53if pred: body
みたいにさ
0113デフォルトの名無しさん
2007/11/18(日) 16:25:050114デフォルトの名無しさん
2007/11/18(日) 17:03:56んなもん、本当に同じになるわけねーじゃんよ
0115デフォルトの名無しさん
2007/11/18(日) 17:29:58行末の「;」が省略可能なんだから
同様に1行に書く時だけ「:」つけるんで
いいんでないか?
0116デフォルトの名無しさん
2007/11/18(日) 17:31:180117デフォルトの名無しさん
2007/11/18(日) 17:40:570118デフォルトの名無しさん
2007/11/18(日) 18:03:470119デフォルトの名無しさん
2007/11/18(日) 18:23:18可読性もいっしょに考えるんだ。
0120デフォルトの名無しさん
2007/11/18(日) 18:28:150121デフォルトの名無しさん
2007/11/18(日) 18:29:09だからってわざわざ複数の書き方を許すような文法にしなくてもいいじゃん
0122デフォルトの名無しさん
2007/11/18(日) 18:40:080123デフォルトの名無しさん
2007/11/18(日) 18:44:580124デフォルトの名無しさん
2007/11/18(日) 18:57:28selfをいやがる奴に限って「めんどい」とかそういう低レベルなことしか言わないな。
そういうアホはPythonを使わなくて結構。
0125デフォルトの名無しさん
2007/11/18(日) 19:04:50禿同。そういうヤツらって実は Python どころか、きちんと機能するコードを書けるかすら疑問。
0126デフォルトの名無しさん
2007/11/18(日) 19:18:53さっさと利点の方が多いというところをぶっちゃけてみろよ。
単に論破されるのが怖くて隠し玉をださないくせに、出せば勝てる
という根拠の無い自信ででかい態度を取ってるだけに見えるぞ。
0127デフォルトの名無しさん
2007/11/18(日) 19:33:41むしろselfがキーワードでないのは半端に思えるんだが。
呼び出すときには
obj.method(arg)
と書けるのに
定義では
def method(self, arg):
と書かなければならないのも、汚い。selfがキーワードでないために
こう書かなければならないのだとしたら、それこそバカげている。
メンバアクセスを self.member のように書かせること自体は、
可読性のために良いと思えるんだが。
0128デフォルトの名無しさん
2007/11/18(日) 19:44:45class.method(obj,arg)
0129デフォルトの名無しさん
2007/11/18(日) 19:49:32常にそう書かせるのであれば一貫性はある。だが、実際にはそうではない、でしょ。
限定的に
obj.method(arg) にだけ第一引数省略の特権を与える合理的な理由があるとは
思えない。
0130デフォルトの名無しさん
2007/11/18(日) 19:52:57知らないゆとりカワイソス
0131デフォルトの名無しさん
2007/11/18(日) 19:56:34それ、全然関係ないだろ
OCamlでクラスのメソッドを定義する時に、いちいち第一引数の
selfなんて書かせないぞ
Pythonがそうであるのは単に実装都合であり、要は手抜きだ
0132デフォルトの名無しさん
2007/11/18(日) 20:08:480133デフォルトの名無しさん
2007/11/18(日) 20:12:380134デフォルトの名無しさん
2007/11/18(日) 20:12:52定義に明示的にselfを書かせないとしても、レシーバを第一引数にして
クラスメソッドとして呼び出せるようにすることも出来る。
インスタンスメソッドにわざわざ常にselfを明示的に書かせるPythonは
センスが無い。
0135デフォルトの名無しさん
2007/11/18(日) 20:13:47レシーバのselfをわざわざ書かせることも、それが実はキーワードでも
何でもなくて、sと書いてもいいことも、可読性の向上に何ら貢献しないのだが。
0136デフォルトの名無しさん
2007/11/18(日) 20:18:47それは、あなたが賢いからなのでしょうね。私には少なくとも可読性の向上に貢献しています。
0137デフォルトの名無しさん
2007/11/18(日) 20:18:592) 暗黙に第一引数の名前が決まっていた方がみんな便利。
3) だからselfと書く。
これが分からない奴は他の言語使えばいいと思うよ。
ぶっちゃけクラスメソッドの場合の第一引数はclsだぜ。
文盲でない奴はPEP8を読もうな。日本語訳もあることだし。
0138デフォルトの名無しさん
2007/11/18(日) 20:22:52「欠点より利点が多い」理由を説明してくれ。
obj.memfunc()
だけを省略可能にする合理的理由についてもな。
決まっていたほうが便利というのなら、それこそコンベンションでなく
キーワードにしろ、と。
あんたはPythonが現にそうである、という説明をしているだけだ。
それが良いものであるかどうかという説明にはなっていないぞ。
0139デフォルトの名無しさん
2007/11/18(日) 20:27:390140デフォルトの名無しさん
2007/11/18(日) 20:30:15(´-ω-`)
Guidoは疲れ切っていた
煩雑な構文、人によって違うスタイル、そして見えない変数に。
(´-ω-`)Zzz
そして眠ってしまった。しかし……
ヒラメキ━━━━(゚∀゚)━━━━!!
単純な構文!スタイル強制!変数はすべて明示!!
俺言語デキタY⌒Y⌒Y⌒Y⌒Y⌒Y⌒(。A。)!!!
switch...case欲しいだと? (゚Д゚ )ヤダ!!
インデント構文がSM? (*´д`*)ハァハァ
クラスの記述が面倒? ( ´_ゝ`)フーン Javaでもやれよ
変数を暗示で使えるようにだと? (^A^)っPerl
俺言語ヽ(´ー`)ノバンザーイ
0141デフォルトの名無しさん
2007/11/18(日) 20:30:490142デフォルトの名無しさん
2007/11/18(日) 20:32:38ゆとりが理解不可能なこと。
利点:
それ以外全部(wwww
>obj.memfunc()
>だけを省略可能にする合理的理由についてもな。
意味不明。ゆとりなりに頭を使って,丁寧に説明してくれよ。
それが礼儀ってものだろ(wwwwww
>決まっていたほうが便利というのなら、それこそコンベンションでなく
>キーワードにしろ、と。
嫌だね。たまにはselfというローカル変数を作りたくなることもあるし(www
>あんたはPythonが現にそうである、という説明をしているだけだ。
そして,お前はまずPythonの現状をよく調べろ。
作者タソがみずからselfの存在意義について言及している文章がたくさん見つかるよ。
あ,ごめん,日本語もできないゆとりが英語なんて読めるわけないよな(wwwwwwwwwww
0143デフォルトの名無しさん
2007/11/18(日) 20:34:30>決まっていたほうが便利というのなら、それこそコンベンションでなく
>キーワードにしろ、と。
キーワードは主にパーサーのためにあるのであって,ゆとり脳のためにあるのではないのだが。
0144デフォルトの名無しさん
2007/11/18(日) 20:34:470145デフォルトの名無しさん
2007/11/18(日) 20:37:01インスタンスメソッドのレシーバにselfだのthisだの書かせない
大半のオブジェクト指向言語よりPythonの方法のほうが「いいものだ」
と無根拠に主張して、その理由は説明できんらしいな。
0146デフォルトの名無しさん
2007/11/18(日) 20:38:08あまりイジめちゃ可哀想だよ。この議論、ゴールドセイントにスティールセイントが戦いを挑むようなモンなんだから。
0147デフォルトの名無しさん
2007/11/18(日) 20:38:38いやいや信者かどうかは微妙だぞ。
ここぞとばかりに荒そうとしているのかもしらん。
かなり頭悪そうだからなあw
0148デフォルトの名無しさん
2007/11/18(日) 20:38:42Python信者は自分の都合に応じて「可読性」と言い、
時にはselfというローカル変数を作ってコードの読者を罠にはめるわけか。
で、classだのwhileだのforだのinだのというローカル変数を作りたくなることは
ないのかい?
0149デフォルトの名無しさん
2007/11/18(日) 20:41:380150デフォルトの名無しさん
2007/11/18(日) 20:43:320151デフォルトの名無しさん
2007/11/18(日) 20:44:31逆に大半のオブジェクト指向言語の方法のほうが「いいものだ」という、あなたの根拠を聞きたいものだね。
0152デフォルトの名無しさん
2007/11/18(日) 20:44:48selfはウゼーってことで終了しようよ。
0153デフォルトの名無しさん
2007/11/18(日) 20:46:08>で、classだのwhileだのforだのinだのというローカル変数を作りたくなることは
>ないのかい?
ぶっちゃけないよ(wwwwwwwwwwwwwwwwwwwwwwwwwww
0154デフォルトの名無しさん
2007/11/18(日) 20:46:41selfはあるのに?
論理破綻はなはだしい。
0155デフォルトの名無しさん
2007/11/18(日) 20:47:33高々20数個の予約語も覚えられず,予約語と同名の変数を作りたくなることがあるとは!!!
ゆとり脳恐るべし!!!!!!!
0156デフォルトの名無しさん
2007/11/18(日) 20:48:06インスタンスメソッドの第一引数は自明なのだから、その定義において
毎回それを書かせるのは、obj.mem(obj)が冗長であるのと同じ理由で
冗長であり、可読性にも貢献しない。それで十分では?
0157デフォルトの名無しさん
2007/11/18(日) 20:48:09お前は文盲か。
0158デフォルトの名無しさん
2007/11/18(日) 20:49:10155が言っているとおり,予約語と分かっているキーワードを変数名として使いたくなることなんてねえよ(wwwwwwwwwwwwwwwwwwwww
0159デフォルトの名無しさん
2007/11/18(日) 20:49:44全てのselfがウザいと言っているのではない。
インスタンスメソッド定義にわざわざ「常に」selfと書かせるのが
ウザいと言っている。
「常に」書くってどういう意味かわかるか?
場合わけがそもそも存在しないんだから、それは自明なんだ、自動化できるんだ。
それをわざわざ人手でやらせてるんだ。
馬鹿馬鹿しいことこの上ない。
0160デフォルトの名無しさん
2007/11/18(日) 20:50:10文盲がお前とアイツと二人いるってことか
0161デフォルトの名無しさん
2007/11/18(日) 20:51:21つまりselfがもともとキーワードとして設計されていれば、文句を
言わないわけだ。
自分のバカさ加減、論理矛盾に全く気づいていないようだねえ。
0162デフォルトの名無しさん
2007/11/18(日) 20:52:21>インスタンスメソッド定義にわざわざ「常に」selfと書かせるのが
>ウザいと言っている。
self書かない方が逆にまぎらわしくね?(wwwww
0163デフォルトの名無しさん
2007/11/18(日) 20:54:11メソッドのプリフィックスにm_つければおk
0164デフォルトの名無しさん
2007/11/18(日) 20:56:11で抽出すると、バカが浮き彫りになりますな。
0165デフォルトの名無しさん
2007/11/18(日) 20:57:29164が抽出されました(wwwwwwwwwwwwwwwwwwwwwww
0166デフォルトの名無しさん
2007/11/18(日) 20:58:04見る人によって利点でもあり欠点でもあるってことで。
すれ違いのことで喧嘩するとか、まともな大人とは思えませんよ。
0167デフォルトの名無しさん
2007/11/18(日) 20:58:57小学生ですかあなたは。
0168デフォルトの名無しさん
2007/11/18(日) 20:59:140169デフォルトの名無しさん
2007/11/18(日) 21:00:170170デフォルトの名無しさん
2007/11/18(日) 21:01:18selfに対してではなく、ブレースvsインデントの議論に対して
導ければと思ってなのです。ですからスレ違いではありません。
0171デフォルトの名無しさん
2007/11/18(日) 21:01:38そして星の数ほどの人間が、selfをなくす提案をしてきたんだ。
でもそのたびに、self不要論者は論破されて負け続けてきた。
そして誰も、selfなくせと言わなくなりましたとさ。
0172デフォルトの名無しさん
2007/11/18(日) 21:02:050173デフォルトの名無しさん
2007/11/18(日) 21:06:350174デフォルトの名無しさん
2007/11/18(日) 21:08:55ここでselfについて議論しているヤツらはソースが英語だからと言ってチェックを怠ったヤツらの集まりということで終了。
0175デフォルトの名無しさん
2007/11/18(日) 21:17:140176デフォルトの名無しさん
2007/11/18(日) 21:18:24http://www.python.org/doc/faq/general/#why-must-self-be-used-explicitly-in-method-definitions-and-calls
ゆとり脳のためにFAQを翻訳してやるけど,「よくある質問」ってやつだよ。
英語を勉強して5年後くらいに読んでみれば?(wwwwwwwwwwwwwwwwwww
0177デフォルトの名無しさん
2007/11/18(日) 21:21:420178デフォルトの名無しさん
2007/11/18(日) 21:25:140179デフォルトの名無しさん
2007/11/18(日) 21:25:27理由の1および3は、メソッド定義の第一引数のselfが好ましい理由の説明に
なってないな。
常にself.memberと書かせたほうがいい理由にしかなっていない。そしてそれは
別に否定はしない。
理由の2については、clazz.mem(obj, arg)と書けていいよ、と言っているわけだが、
別にメソッド定義でわざわざselfを手で書かせなくとも、そう呼び出せるように
設計することは可能なわけで、理由としては非常に弱いと言わざるを得ない。
0180デフォルトの名無しさん
2007/11/18(日) 21:30:410181デフォルトの名無しさん
2007/11/18(日) 21:31:43バカは大抵暇だから、バカほど声が大きい。バカには仕事をさせない方が組織の能率が上がるから。
それがウザイので、他の言語に行ってくれていいよ。
0182デフォルトの名無しさん
2007/11/18(日) 21:34:53次からは、生半可な自分の知識で煽って壮絶に敗北する前に、そのURLを提示するんだ。
今回の経験を生かせば、お前もようやくゆとり脱出の足がかりが出来たことになるよ。
0183デフォルトの名無しさん
2007/11/18(日) 21:36:31Pythonは第一引数のselfのありなしでインスタンスメソッドかどうかを
判別しているのではない、でしょ。
つまりselfは冗長で余計。
selfをsとか書けたからといって、Python信者が好きな可読性とやらが損なわれるだけ。
0184デフォルトの名無しさん
2007/11/18(日) 21:37:25問題提起する前にFAQを先に読んどけよ(wwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwww
0185デフォルトの名無しさん
2007/11/18(日) 21:38:16>>179に自分で回答できるぐらいの頭はないのか
無いんだろうな
0186デフォルトの名無しさん
2007/11/18(日) 21:38:46今ここに実例がいますしね(あなたのことではありません。念のため)
0187デフォルトの名無しさん
2007/11/18(日) 21:40:470188デフォルトの名無しさん
2007/11/18(日) 21:41:10知ってる?
2chで煽りに使われるwの数は、自身の悔しさ度が反映されるんだよ?
実際どんどん多くなってるでしょ?イライラしすぎでみてらんない。
0189デフォルトの名無しさん
2007/11/18(日) 21:42:09そう、あなたのことです。(念のため)
0190デフォルトの名無しさん
2007/11/18(日) 21:45:440191デフォルトの名無しさん
2007/11/18(日) 21:47:190192デフォルトの名無しさん
2007/11/18(日) 21:48:14Pythonのルールに従えないバカに言われたくないだけ
0193デフォルトの名無しさん
2007/11/18(日) 21:49:31言語設計に疑問を持つのは別の次元の話
Python信者は頭が良すぎて感心するわ
0194デフォルトの名無しさん
2007/11/18(日) 21:51:360195デフォルトの名無しさん
2007/11/18(日) 22:14:000196デフォルトの名無しさん
2007/11/18(日) 22:34:23FAQを読んでるんだよ(wwwwwwwwwwwww
0197デフォルトの名無しさん
2007/11/18(日) 22:37:320198デフォルトの名無しさん
2007/11/18(日) 22:38:320199デフォルトの名無しさん
2007/11/18(日) 22:41:32( ・ω・) んも〜
○={=}〇,
|:::::::::\, ', ´
、、、、し 、、、(((.@)wvwwWWwvwwWwwvwwwwWWWwwWw
0200デフォルトの名無しさん
2007/11/18(日) 23:40:380201デフォルトの名無しさん
2007/11/18(日) 23:48:240202デフォルトの名無しさん
2007/11/19(月) 00:42:350203デフォルトの名無しさん
2007/11/19(月) 00:48:310204デフォルトの名無しさん
2007/11/19(月) 02:52:07obj.method という式は、 class.method の第一引数に obj をbindしている。
なので、
m = obj.method
m()
とするだけで delegate になる。
0205デフォルトの名無しさん
2007/11/19(月) 03:01:04動的言語は、オブジェクトのメンバがコンパイル時に決まらない。
変数の参照で、その変数がローカル変数なのかメンバ変数なのかが
関数の定義を見るだけで区別できないのは非常に危険なので、メンバ
変数への参照はローカル変数への参照から区別しなければならない。
Rubyはメンバ変数を区別するのに専用の記号とルールを用意したが、
それはあまりPythonicでは無いだろう。
0206デフォルトの名無しさん
2007/11/19(月) 10:43:59@classmethodとか書かせるし、チュートリアル等のドキュメントで
しっかり「メソッド」と書いてあるのに、
>Pythonにあるのは関数で、メソッドではない。
というのはどういう意味で言ってるんだ?
0207デフォルトの名無しさん
2007/11/19(月) 11:53:41本当のところは本人に聞いてけろ。
class ClassA:
def __init__(self):
self.x = "hello"
def methodB(self):
print "B:", self.x
def funcC(self):
print "C:", self.x
ClassA.methodC = funcC
funcB = ClassA.methodB
a = ClassA()
a.methodB()
funcB(a)
funcC(a)
a.methodC()
0208デフォルトの名無しさん
2007/11/19(月) 12:18:17JavaScriptでもそのように書けるが、JavaScriptでは引数のthisは書かなくていいな。
0209デフォルトの名無しさん
2007/11/19(月) 15:16:26>それはあまりPythonicでは無いだろう。
オレはこれが嫌いでRubyやる気無くした(ww。
関数っつーか,厳密に言うと「呼び出し可能オブジェクト(callable object)」だと思う。
ゆとり脳に理解不能な話題はやめてさ,そろそろインデントの議論に戻らないか?
0210デフォルトの名無しさん
2007/11/19(月) 19:34:17>それはあまりPythonicでは無いだろう。
privateなメンバはアンダーバーを二つつける、という、割とよく似た性質のルールがPythonにもありますけど。
Pythonicでは無いから、とか意味不明な理由を持ち出すのは止めといたほうが。
0211デフォルトの名無しさん
2007/11/19(月) 19:36:35Python3.0になったら「俺」にする予定
0212デフォルトの名無しさん
2007/11/19(月) 23:18:06そのルール知らなくても、private使わないでプログラム書くのは簡単。
そのルール知らなくても、他の言語のプログラミング経験があれば
そのルールを使ったプログラムを読むことが可能。
それがRubyやPerlの「知らなきゃ読めない」ルールとの差。
Python方式でもRuby方式でも実現できることを、Python方式で
実現しているということに、「Pythonicだから」という以上の理由が
何故必要?
0213デフォルトの名無しさん
2007/11/21(水) 00:26:15あのさぁ、その「知らなきゃ読めない」とかも意味不明だってことに気づいてないでしょ。
例えば、"リストの内包表記"を知らなくて読むことが書くことが出来るか?
出来ないんだよ。
もし「それぐらい推測出来る」とかバカ言うなら、Rubyの@つけるルールだって推測できるだろ。
>Rubyはメンバ変数を区別するのに専用の記号とルールを用意したが、
>それはあまりPythonicでは無いだろう。
第一、210のレスは↑に対するレスだって理解できてる?
Rubyのようにメンバ変数を区別するのに専用の記号とルールを用意するりはPythonicじゃないとかアホ言ってる奴に
Pythonにも既に似たようなルールがあることを教えてやってんだよ。わかる?
お前のレスの意味不明さが。
次はせめて中学校卒業してからレスしてな。
0214デフォルトの名無しさん
2007/11/21(水) 00:31:150215デフォルトの名無しさん
2007/11/21(水) 00:33:40ブレースによる制御構造も混在しててもいいんじゃないかと思う。
0216デフォルトの名無しさん
2007/11/21(水) 00:41:45イタタタタ(wwwwwwwwwwwwww
0217デフォルトの名無しさん
2007/11/21(水) 04:22:380218デフォルトの名無しさん
2007/11/21(水) 07:43:36Java系言語一つでも知ってたら、 self.foo を見て、これは this.foo だと気づく。
@foo を見ても判らんだろ?
self.__foo を見て、private変数だと判らなくてもプログラム読めるだろ?
しかも、なんとなく他人が気軽に触っちゃいけない雰囲気かもしだしてるだろ?
内包表記も、他の言語で内包表記見たことあるなら一瞬で判るし、
そうでなくても後でリストとして利用している部分を見れば雰囲気で判るはずだ。
それでもって、private変数もリストの内包表記も、使わなくても普通に
プログラム書けるだろ?なら特殊ルール導入しても良いのがPythonic
なんだよ。
論点は特殊ルールの存在自体ではなくて、その特殊ルールを知らなくても
プログラムが読める&使わなくても普通に書けるって事。
0219デフォルトの名無しさん
2007/11/21(水) 09:38:000220デフォルトの名無しさん
2007/11/21(水) 10:55:11> Java系言語一つでも知ってたら
メジャーな言語との類似性から来る類推性、分かりやすさ、
習得しやすさおよび学習・移行の容易さを重視するんなら、
現状では好む・好まざるに関わらず、C系のシンタクスがベストだよ。
そういう意味ではself.fooではなくthis.fooのがずっといい。
selfをmeとか書いてもいいなんてのは論外だ。
__init__だの__call__だのが@と大して違いがあるとも思えんな。
単にPerlチックな記法が嫌いなだけじゃないのか。
0221デフォルトの名無しさん
2007/11/21(水) 10:59:04Pythonicという名前の宗教を押し売りするんだよねえ
既存のメジャーな言語に似ているものが多くの人にとって読みやすく
理解しやすいことは、自明なわけだが
0222デフォルトの名無しさん
2007/11/21(水) 11:06:23<main>
<print>Hello, world!</print>
</main>
0223デフォルトの名無しさん
2007/11/21(水) 11:17:36プログラミング言語じゃない言語で一番メジャーなのは英語だろw
0224デフォルトの名無しさん
2007/11/21(水) 11:27:210225デフォルトの名無しさん
2007/11/21(水) 17:26:10_と@が同じとか言う奴はヤバい
0226デフォルトの名無しさん
2007/11/21(水) 18:22:11「ここをこうやって (画面の前でぐっと握り拳を握る) ぐーっといろいろやって
(拳に力を込めてゆっくり動かす) ぱーっと結果を出すだけ (力を抜いて掌を開く)
でいいんだけど、簡単にできるよね」
とやってくれたオヤジを思い出した。
いや思いこみはわかるけど、わからんてばw
0227デフォルトの名無しさん
2007/11/21(水) 20:29:51>__init__だの__call__だのが@と大して違いがあるとも思えんな。
だーかーらー、コンストラクタというものを知っている人なら __init__ を見て
それがコンストラクタだって推測しやすいだろ? @ で何を推測しろと?
0228デフォルトの名無しさん
2007/11/21(水) 20:39:27コンストラクタならクラスと同名のが多くのプログラマにとっては
分かりやすいに決まってるだろうに
__init__()と__new__()という一見似ているが違うものがあって……なんちゅうことを
何にも知らない奴が読んで「推測」できるかw
0229デフォルトの名無しさん
2007/11/21(水) 20:48:21Perl, Python, Ruby が平行して存在している意味がない。
end がイヤならPythonにすれば良いし、self. がイヤなら Ruby にすれば良いし、
どっちもイヤなら自分で新しい言語作ればいい。
0230デフォルトの名無しさん
2007/11/21(水) 21:03:18そこまで細かい部分推測しなくても読めるじゃん。
__new__知らなくてもクラス書けるじゃん。
クラスもオブジェクトな言語でコンストラクタをクラス名と同じにすると、
クラス名が変わったときにコンストラクタで混乱するじゃん。
それに、他の言語のマネルールをいろんな言語から持ってきたら結局
判りにくくなる。それなら最初からC++なりJava使えば良い。
__init__とか__call__とか、言語にとって特殊な意味のある名前は__foo__の
形をしているというメタルールを一つ導入するだけで、覚えないと
いけない予約語を大幅に減らせる。
0231デフォルトの名無しさん
2007/11/21(水) 22:14:35教わらなきゃわからんだろ
@と何の違いがあるんだ?
0232デフォルトの名無しさん
2007/11/21(水) 22:28:05>_と@が同じとか言う奴はヤバい
激しく同意。まったく意味不明。
0233デフォルトの名無しさん
2007/11/21(水) 23:10:33メジャーな言語に似せるつもりならインデントなんてやらねーよ。
0234デフォルトの名無しさん
2007/11/21(水) 23:25:43def class Hage
fuga = 2
def hoge
fuga = 1
end
def hige
p fuga
end
end
h = Hage
h.hige
f = Hage
f.hoge
f.hige
0235デフォルトの名無しさん
2007/11/21(水) 23:41:06まったく初心者向けじゃない
0236デフォルトの名無しさん
2007/11/21(水) 23:48:420237デフォルトの名無しさん
2007/11/25(日) 15:08:570238デフォルトの名無しさん
2007/11/25(日) 19:47:32こういうやつは、マニュアルとかは読まないで全て始めるのか?
分かんないもの出てくりゃ調べればいいじゃん。
自分が最初にPythonの__やRubyの@に馴染めませんでしたって、
過去の恥を晒してるだけじゃん。
0239デフォルトの名無しさん
2007/11/25(日) 20:09:43バカが居なくなったからスレが沈静化した(wwwwwwwwwwwwwwwwwwwwwwww
0240デフォルトの名無しさん
2007/11/25(日) 22:36:440241デフォルトの名無しさん
2007/11/29(木) 23:57:380242デフォルトの名無しさん
2007/12/01(土) 00:09:47インデントについての話じゃなく、selfの是非とか話題がそれると盛り上がるところを見ると、
Pythonのインデントによる制御構造って言うほど悪くないんじゃない?どっかの専門家が
言った意見を素人がそのまま自分の意見として言っているようにしか感じないね。
0243デフォルトの名無しさん
2007/12/01(土) 00:42:40要は構造が示せればいいだけなわけだし
括弧でもインデントでもフローチャートでも
インデント使うと括弧の対応を自動でチェックしたりしてくれない
素のエディタでもさほど問題にならない、程度の事じゃないかな
0244デフォルトの名無しさん
2007/12/01(土) 06:12:37インデント崩れで起こるトラブルよりも
それ以外の原因でいっぱいトラブルからなぁ
0245デフォルトの名無しさん
2007/12/01(土) 08:13:34ウンウン、頭が悪いといろいろ大変だよね。
0246デフォルトの名無しさん
2007/12/01(土) 09:28:340247デフォルトの名無しさん
2007/12/02(日) 01:06:30実際にはどうでもいい
0248デフォルトの名無しさん
2007/12/02(日) 01:17:37代入したものをすぐ次の用途に使うときとかに面倒なのが気になる
0249デフォルトの名無しさん
2007/12/02(日) 09:29:59>代入したものをすぐ次の用途に使うときとか
そんなuglyなコードを書く人とは一緒に仕事したくありませんね。
0250デフォルトの名無しさん
2007/12/02(日) 09:50:370251デフォルトの名無しさん
2007/12/02(日) 10:03:28たとえば、代入と評価は分けて書いた方がいいよね。
0252デフォルトの名無しさん
2007/12/02(日) 10:18:16「ワンライナーを侮辱するなJOJO」
0253デフォルトの名無しさん
2007/12/03(月) 23:37:470254デフォルトの名無しさん
2007/12/04(火) 10:05:16違和感を感じてない初心者です。
でも文法的にインデントをブロックの識別に利用しているのなら、
IF 文の末尾に : (コロン) を付けなくても、次の行がインデントして
るならブロック開始なんだから : はいらない子なんじゃないの?
……という疑問が拭えません。
どうして : があるのか、どなたかすっきりさせてください。
0255デフォルトの名無しさん
2007/12/04(火) 10:11:15みたいな書き方をしたい場合はある。こういう場合はコロンがないと超不便。
0256デフォルトの名無しさん
2007/12/04(火) 10:29:49次の行に回した時にも省略できない理由にはならないし
0257デフォルトの名無しさん
2007/12/04(火) 11:43:00でもこの二元論は、
forいらねwhileだけでいいだろとか、
他の言語いらね真のプログラミング言語Lispが既にあるとか(w
そういうたぐいのものに近い。
コロンが使われている理由を探すとすれば、
ABC言語の影響を受けているというのと、ある方が見やすいだろっていう辺りになる。
ttp://mail.python.org/pipermail/python-list/2000-December/063055.html
0258デフォルトの名無しさん
2007/12/04(火) 21:07:170259デフォルトの名無しさん
2007/12/04(火) 21:07:39else の : はなくてもいいような気がする
0260デフォルトの名無しさん
2007/12/04(火) 21:15:38forにelse使えるなんて、最初何かの間違いかと思ったよ
0261デフォルトの名無しさん
2007/12/04(火) 21:20:26>forいらねwhileだけでいいだろとか、
>他の言語いらね真のプログラミング言語Lispが既にあるとか(w
小さい悩みだなw
そんな事言われて気にしてるなよ…
0262デフォルトの名無しさん
2007/12/04(火) 21:23:27forとかwhileを抜けたあとで
全部の要素ループして抜けたのか
途中で中断して抜けたのか
知りたいときって結構あるんだよね
Pythonは痒いところに手が届きますな
0263デフォルトの名無しさん
2007/12/05(水) 01:18:44>Pythonは痒いところに手が届きますな
細かいところまで練られている感じがするよね。
Pythonの良いところだと思う。
0264254
2007/12/05(水) 09:43:14そういう書き方が出来なくても、Python 的には困らない気がします。
>>257
良いポインタの紹介ありがとうございます。やはり冗長だと思ってる
人はいるのですね。
それにしても、キータイプ数を減らすのではなく、冗長性を減らすの
でもなく、見易さを求めるのが Pythonic ってことなんだと受け取って
よいのでしょうか。
Python を触り始めて、面白いとは思っていますが、そのコンセプトが
まだ掴めなくて……ちょっともどかしいカンジの初心者です。
0265デフォルトの名無しさん
2007/12/05(水) 11:10:260266デフォルトの名無しさん
2007/12/05(水) 13:18:560267デフォルトの名無しさん
2007/12/05(水) 21:51:41手が届く範囲だけ痒いって言ってるだけだろ自己満足だ!
0268デフォルトの名無しさん
2007/12/05(水) 22:10:29elseifはswitchで代用不可能なケースが多い
0269デフォルトの名無しさん
2007/12/05(水) 22:45:56目の玉がかゆいのなら
目の玉を取り出さないと掻けないぞ(wwwwwwwww
0270デフォルトの名無しさん
2007/12/05(水) 22:49:44http://ja.wikipedia.org/wiki/%E9%A0%AD%E7%97%9B
0271デフォルトの名無しさん
2007/12/06(木) 12:32:15次はエディタのフォントも言語仕様になるのかな。
0272デフォルトの名無しさん
2007/12/06(木) 12:42:02代用できるっちゃできるが、
if c == 1:
elif c == 2:
elif c == 3:
とかいうif〜elifの羅列は、switchのほうがずっと綺麗に書けるでしょ。
if〜elifだと、変数名を変えたら分岐の数だけ直さなければならなくなる。
「他で代用できるものは要らない」と言うのなら、Pythonは要らないものだらけだよ。
0273デフォルトの名無しさん
2007/12/06(木) 12:53:00最終的にはGuidoの好みだからなぁ。
まともに反論してると馬鹿を見る
0274デフォルトの名無しさん
2007/12/06(木) 13:47:59それをswitchで書き換えてずっと綺麗になった!と言うのはセンスを疑う
0275デフォルトの名無しさん
2007/12/06(木) 13:48:20>次はエディタのフォントも言語仕様になるのかな。
なるわけないだろバカじゃね???(wwwwwwwwwwwwwwwwww
0276デフォルトの名無しさん
2007/12/06(木) 14:07:44> 変数名を変えたら
そういう状況は、分岐の形式以前の問題になると思う
0277デフォルトの名無しさん
2007/12/06(木) 16:10:05ソースが公開されているんだし、作者の意向に反してこうした方が良いと思える点があるんなら、自分で改良すればいいんじゃないかな?
0278デフォルトの名無しさん
2007/12/06(木) 22:58:53それならPythonベースにする必要はないんじゃないかな?
十分ストレスがない言語が別にあればそれを使えばいいんじゃないかな?
0279デフォルトの名無しさん
2007/12/06(木) 23:06:48まぁ結局センスの問題だわな
0280デフォルトの名無しさん
2007/12/06(木) 23:08:23if c == 1:
elif c >= 2 and c <= 8:
elif c == 9:
みたいな使い方することの方が多いからなぁ
rubyのswitchはそれが出来るけど
0281デフォルトの名無しさん
2007/12/06(木) 23:24:01>Pythonっていろいろ理由付けてるけど、
>最終的にはGuidoの好みだからなぁ。
Guidoの理由付けに反論できるくらいなら、
Pythonを越える言語をデザインできるセンスがあるってことだと思う。
せいぜいがんばって。
0282デフォルトの名無しさん
2007/12/07(金) 00:10:50その後のモチベーションをキープするのが一番面倒なんだよ。
0283デフォルトの名無しさん
2007/12/07(金) 00:23:390284デフォルトの名無しさん
2007/12/07(金) 01:04:58それがswitchでできてもswitchの意味ないわな。
0285デフォルトの名無しさん
2007/12/07(金) 04:14:01elif c == 2:
elif c == 3:
これってかなりダサいプログラムだよ
普通は関数テーブル作ってcでdispatchだろ
0286デフォルトの名無しさん
2007/12/07(金) 08:06:570287デフォルトの名無しさん
2007/12/07(金) 08:53:310288デフォルトの名無しさん
2007/12/07(金) 09:33:09セミコロンキーに改行+アウトデントを割り当てときますね
0289デフォルトの名無しさん
2007/12/07(金) 10:09:41>それくらいは割と誰でも出来そうだな。
がんばって俺言語作れよ。
言いっぱなしは と て も 恥ずかしいぞ(www
0290デフォルトの名無しさん
2007/12/07(金) 12:08:50恥ずかしいのはお前だよ。本当に丸出しだな。
そんなの大抵のプログラマなら一度は通る道だぜ。
0291デフォルトの名無しさん
2007/12/07(金) 12:21:530292デフォルトの名無しさん
2007/12/07(金) 12:43:08まぁ、できなくてもプログラマとして食ってるヤツは嫌というほど見てきたし、そんなムキになるほどのことでもないような気がするんだけど。ボクはできない方だな (自爆)
0293デフォルトの名無しさん
2007/12/07(金) 12:56:52えっ、他の仕事もしてるんじゃないの?
0294デフォルトの名無しさん
2007/12/07(金) 13:13:43ぱいそんをべんきょうしているので
いずれはGoogleにはいって、
いちねんくらいでいっしょうつかいきれないくらいのおカネをかせぐつもりでいます!!!
こんなぼくちんをおうえんしてくださいね!!!!!!
0295デフォルトの名無しさん
2007/12/07(金) 14:05:11「それで食っていける」と「それだけで食っていける」は意味が違うと思います。
0296デフォルトの名無しさん
2007/12/07(金) 16:20:460297デフォルトの名無しさん
2007/12/07(金) 16:30:32この流れでは多くの人に受け入れられるかどうかは話してないだろう。
ユーザ多い=良いとか言ってる奴はPerlあたりの真似しまくって結果Perl以下になって
売りは日本製だけ〜みたいなもん平気でつくりそうだ
あとユーザ数で語るならRubyじゃなくてPerlを出さないとお里が知れちゃうゾ懿」
0298デフォルトの名無しさん
2007/12/07(金) 18:32:330299デフォルトの名無しさん
2007/12/07(金) 19:29:16この場合は、
「それで食っていける」=「それで食えるだけの収入がある」=「それだけで食っていける」
じゃないか?
0300デフォルトの名無しさん
2007/12/07(金) 21:33:16どうやってelseifで書くの?どうせそんな糞プログラム書くなとか
言って正当化されるのがオチだろうけど!
0301デフォルトの名無しさん
2007/12/07(金) 21:34:21「それだけで食っていける」!=「その仕事しかしていない」
じゃないかな?
0302デフォルトの名無しさん
2007/12/07(金) 22:21:28if hoge == 1:
HOGE
elif hoge == 2:
FUGA
elif hoge == 3 OR hoge == 2:
if shine:
SHINE
else:
IKIRO
else:
ORZ
0303デフォルトの名無しさん
2007/12/07(金) 22:29:45if case1:
CASE1
if case2:
CASE2
if case3:
CASE3
...
ということじゃなくて?
0304デフォルトの名無しさん
2007/12/07(金) 23:31:44結局その記法ってバグなのか意図なのかが
分かりにくくなることが多いし
できるようにするメリットが少ないって判断じゃなかったか?
0305デフォルトの名無しさん
2007/12/07(金) 23:34:17いや、いちいち break で脱出するコードにしないと次の case もそのまま
実行される仕様の糞言語があるんだ
0306デフォルトの名無しさん
2007/12/08(土) 01:15:590307デフォルトの名無しさん
2007/12/08(土) 01:30:55それで納得できるのかお前は
0308デフォルトの名無しさん
2007/12/08(土) 03:02:420309デフォルトの名無しさん
2007/12/08(土) 03:36:02きちんとしたドキュメントも書けない上に、生産性がないのが日本のRubyユーザだと思われるんじゃないかな?
0310デフォルトの名無しさん
2007/12/08(土) 08:39:02生産性も糞もないよなぁ
0311デフォルトの名無しさん
2007/12/08(土) 09:40:241年以上経ってからも
保守する気になる言語
ソレがPythonだっただけだ
0312デフォルトの名無しさん
2007/12/08(土) 10:05:220313デフォルトの名無しさん
2007/12/08(土) 10:12:350314デフォルトの名無しさん
2007/12/08(土) 10:25:270315デフォルトの名無しさん
2007/12/08(土) 11:23:17Rubyの生産性がないと言っているんじゃない。日本のRubyユーザの生産性がないと言っている。
0316デフォルトの名無しさん
2007/12/08(土) 11:42:59それも必ず「糞」とか「汚い」とかの言葉が入る。
0317デフォルトの名無しさん
2007/12/08(土) 12:42:48自惚れるなよ
0318デフォルトの名無しさん
2007/12/08(土) 13:14:090319デフォルトの名無しさん
2007/12/08(土) 14:13:590320デフォルトの名無しさん
2007/12/08(土) 14:32:22それと、全角インデントにする野郎は氏んでいいよ^^
0321デフォルトの名無しさん
2007/12/08(土) 14:34:49そういう話だっけw
0322デフォルトの名無しさん
2007/12/08(土) 14:35:52Python と Ruby と Haskell で書いて比較するというお題と
考えてよろしいかな?
↓じゃあ、まず Python から
0323デフォルトの名無しさん
2007/12/08(土) 15:46:070324デフォルトの名無しさん
2007/12/08(土) 15:54:580325デフォルトの名無しさん
2007/12/08(土) 16:39:310326デフォルトの名無しさん
2007/12/08(土) 16:43:54TAB は良いんだっけ?
0327デフォルトの名無しさん
2007/12/08(土) 16:53:37その前にスペース4個でも8個でも1個の になるって問題点が>>324にはあるぞ
0328デフォルトの名無しさん
2007/12/08(土) 16:53:52ソースを追試する側としては迷惑だからやめてくれ
半角空白でも画面に出ないだけでデータは残ってるから
こぴぺするだけで直るんだが
にされると復元操作が必要になる
復元プログラムをセットで提示してもらわにゃ
0329デフォルトの名無しさん
2007/12/08(土) 18:06:470330デフォルトの名無しさん
2007/12/08(土) 21:20:23< → <
> → >
& → &
→ (←何故か変換されない)
0331デフォルトの名無しさん
2007/12/09(日) 03:06:420332デフォルトの名無しさん
2007/12/09(日) 03:08:12あと、キャレット付いてるからgオプション意味ない
0333デフォルトの名無しさん
2007/12/09(日) 03:09:39いろいろ間違ってる
0334デフォルトの名無しさん
2007/12/09(日) 03:22:363.0でバッククオートがなくなる理由は`フォントによっては見づらいから`らしい
0335デフォルトの名無しさん
2007/12/09(日) 03:35:15フォント、マジだったのかwwww
確かにそこは見にくいことがあるw
0336デフォルトの名無しさん
2007/12/09(日) 03:46:38うちの環境のsedで試したところ、インデント消えて一律行頭&nbsp;になったけど?
ただし&をエスケープする必要があったけど
0337デフォルトの名無しさん
2007/12/09(日) 03:52:26sed知らんがな。
結果うp。
0338デフォルトの名無しさん
2007/12/09(日) 12:28:44すまん。酔っぱらって勘違いしてた。
0339デフォルトの名無しさん
2007/12/24(月) 01:15:37Pythonじゃなくて失礼。
Delphi だと、Selfはかけるけど、with Hoge do 内くらいしか使わないんだよね。
Pythonみたいに、宣言が必要ない言語だと、Self相当は必須なんだね。
よくわかった。
とはいえ、Self必須は面倒だな。
スクリプト言語なのに字数が明らかに多くなる・・・。(perlみたいなのも勘弁だが)
わかりやすい点がいいけどさ・・・
:のつけ時は、いっつも、忘れてわからなくなる。
0340デフォルトの名無しさん
2007/12/24(月) 01:31:57($#9737◇$#9737)
0341デフォルトの名無しさん
2007/12/24(月) 01:32:440342デフォルトの名無しさん
2007/12/24(月) 08:54:54とくに、人が書き足したりするようなコードでなければ、好き勝手書けば良いと思う。
0343デフォルトの名無しさん
2007/12/24(月) 22:37:26それじゃあインデントでわざわざ記法を強制するような
Pythonの思想に反するんじゃね??なんでもいいなら
そもそもインデントだっていらなくね?
0344デフォルトの名無しさん
2007/12/24(月) 22:39:380345デフォルトの名無しさん
2007/12/24(月) 23:08:44何か勘違いしてるような…。
使う使わないは兎も角、大概のOOPLにおいて
self や this みたいな「自身」を参照するものは
何らかの形で存在してる。
Pythonの場合の self 議論は
「メソッドの仮引数に self を明示的に書かなければならない」
ってところじゃないかと。
0346デフォルトの名無しさん
2007/12/24(月) 23:12:56.... 終了
0347デフォルトの名無しさん
2007/12/25(火) 01:21:10hoge(hWnd, xxx);
fuga(hWnd, yyy);
0348デフォルトの名無しさん
2007/12/25(火) 01:45:19そしてAPIは言語じゃない
0349デフォルトの名無しさん
2007/12/25(火) 04:45:10ハンドル≒OOPのインスタンス=self という解釈なら正しいが、
そうすると、Python が、C言語レ(ry
0350デフォルトの名無しさん
2007/12/25(火) 05:50:23【糞スレランク:D】
直接的な誹謗中傷:0/349 (0.00%)
間接的な誹謗中傷:19/349 (5.44%)
卑猥な表現:2/349 (0.57%)
差別的表現:16/349 (4.58%)
無駄な改行:0/349 (0.00%)
巨大なAAなど:16/349 (4.58%)
同一文章の反復:1/349 (0.29%)
by 糞スレチェッカー Ver1.12 http://kabu.tm.land.to/kuso/kuso.cgi?ver=112
Dって微妙だな・・
0351デフォルトの名無しさん
2007/12/25(火) 10:38:100352デフォルトの名無しさん
2007/12/25(火) 22:01:58【糞スレランク:E】
直接的な誹謗中傷:0/488 (0.00%)
間接的な誹謗中傷:11/488 (2.25%)
卑猥な表現:8/488 (1.64%)
差別的表現:1/488 (0.20%)
無駄な改行:0/488 (0.00%)
巨大なAAなど:6/488 (1.23%)
同一文章の反復:2/488 (0.41%)
by 糞スレチェッカー Ver1.12 http://kabu.tm.land.to/kuso/kuso.cgi?ver=112
0353デフォルトの名無しさん
2007/12/25(火) 22:07:42またひとつ糞レスをつけおって・・・
0354デフォルトの名無しさん
2007/12/25(火) 22:28:04HOGE
else:
FUGA
if hoge == fuga: HOGE
else: FUGA
if hoge == fuga:
HOGE
elsif hoge == hemi:
FUGA
else:
HEMI
if hoge == fuga: HOGE
elsif hoge == hemi: FUGA
else: HEMI
0355デフォルトの名無しさん
2007/12/27(木) 02:28:13たいして利点は無くて欠点が大きいでOK?
0356デフォルトの名無しさん
2007/12/27(木) 06:10:080357デフォルトの名無しさん
2007/12/27(木) 06:44:110358デフォルトの名無しさん
2007/12/27(木) 09:11:04pythonで書くとコードが綺麗になるのが好き
0359デフォルトの名無しさん
2007/12/27(木) 21:12:060360デフォルトの名無しさん
2007/12/27(木) 23:23:040361デフォルトの名無しさん
2007/12/28(金) 03:39:250362デフォルトの名無しさん
2007/12/28(金) 09:38:20ポリデントみたいな物か?
0363デフォルトの名無しさん
2007/12/28(金) 09:47:070364デフォルトの名無しさん
2007/12/28(金) 10:53:19オフデント
バックデント
モドリデント
0365デフォルトの名無しさん
2007/12/28(金) 10:57:030366デフォルトの名無しさん
2007/12/28(金) 14:44:590367デフォルトの名無しさん
2007/12/28(金) 14:59:26誰が書いてもある程度読みやすくなるようにできているのだよ。つまり、書き手よりも読み手を
重視しているんじゃねぇの? (でも、インデントの階層が深くなると、書いていて分かりづらく
なってくる。それも狙いかもしれんが。)
0368デフォルトの名無しさん
2007/12/28(金) 16:13:28それは他の言語でも基本的には同じ問題で
そうなったら大抵は何か考え直すべきとされてるでそ
0369デフォルトの名無しさん
2007/12/28(金) 16:37:37へぼが書くとやっぱり読みにくい
0370デフォルトの名無しさん
2007/12/28(金) 19:38:58そんなに強制したいなら変数の命名規則も強制しろ。
そして変数の名前から型が決まるようにすればいい。
0371デフォルトの名無しさん
2007/12/28(金) 20:59:40かかっているような言語仕様なんですね。
いくらでも深くネストできるけど、やりすぎちゃダメ!という…
0372デフォルトの名無しさん
2007/12/28(金) 21:00:270373デフォルトの名無しさん
2007/12/28(金) 21:31:40http://www.python.jp/doc/release/ref/indentation.html
この説明ではdedentと言ってる
0374デフォルトの名無しさん
2007/12/28(金) 21:50:465行以内に。
0375デフォルトの名無しさん
2007/12/28(金) 22:27:39「これでアホのゴミネストに付き合わなくてすむぜ」って思うかで
プログラマとしての何かが問われるだろう
0376デフォルトの名無しさん
2007/12/28(金) 22:45:40そんなの強制しなくても命名規則を決めればいいだけ
従わないヤツはチームから除外すれば済むし
それくらいできないヤツはどうせダメなヤツだから
むしろ除外した方がチームのため
0377デフォルトの名無しさん
2007/12/28(金) 23:06:19だよな。インデントだってコーディングルールを強制すればよいだけで
従わないやつは排除すればいい。インデントを言語仕様で強制する必用
全然ねえよな。Pythonのインデントに関する理屈は屁理屈
0378デフォルトの名無しさん
2007/12/28(金) 23:10:52>インデントだってコーディングルールを強制すればよいだけで
そうそう。
インデントを廃止するかわりに,ブラケットやendみたいなキーワードを導入すればいいだけの話だよね。
簡単簡単。
0379デフォルトの名無しさん
2007/12/29(土) 01:18:060380デフォルトの名無しさん
2007/12/29(土) 01:28:23def range(start, end)
..
って書けないのはちょっといやだな
0381デフォルトの名無しさん
2007/12/29(土) 01:30:050382デフォルトの名無しさん
2007/12/29(土) 01:50:36どちらもアホプログラマにしか思えない
0383デフォルトの名無しさん
2007/12/29(土) 02:12:48言語仕様としてインデントでブロックをあらわすということは何の関係も無いわけだけど
>>377と>>378は何を言ってるんだ?完璧に意味不明
0384デフォルトの名無しさん
2007/12/29(土) 07:19:110385デフォルトの名無しさん
2007/12/29(土) 09:31:12・「キーワード」が「ブラケット」と「end」にかかっていると思っちゃうヤツ
どっちもPythonistaとして失格。
Monty Pythonでも見ながら基本からやり直した方がいい。
0386デフォルトの名無しさん
2007/12/29(土) 10:32:26Python でもかけませんがあにか
0387デフォルトの名無しさん
2007/12/29(土) 10:38:33別にPythonistaとやらになりたくはないがな
静的スコープのない言語なんて願い下げ
0388デフォルトの名無しさん
2007/12/29(土) 10:53:070389デフォルトの名無しさん
2007/12/29(土) 14:06:520390デフォルトの名無しさん
2007/12/29(土) 14:12:360391デフォルトの名無しさん
2007/12/29(土) 14:43:480392デフォルトの名無しさん
2007/12/29(土) 20:17:51これできみはしやわせになれると思うよ。
end = 1
0393デフォルトの名無しさん
2007/12/29(土) 20:22:38でもだれもつかわなかった。
0394デフォルトの名無しさん
2007/12/30(日) 00:28:210395デフォルトの名無しさん
2007/12/31(月) 12:26:330396デフォルトの名無しさん
2008/01/01(火) 07:34:260397デフォルトの名無しさん
2008/01/04(金) 23:16:45pythonの方がエディタで眺めたときに、均等に情報が並んでる感じがして気持ちいい
0398デフォルトの名無しさん
2008/01/05(土) 04:29:54その辺、どうやってみわけるの?
0399デフォルトの名無しさん
2008/01/05(土) 07:25:06次の命令のインデントでわかる。
インタラクティブモードの場合は空行を入れることでも可。
0400デフォルトの名無しさん
2008/01/05(土) 16:34:08やっぱそうか・・・
エディタとかブラウザで、どこまでスクロールすればいいんだろとか不安になるもんで
0401デフォルトの名無しさん
2008/01/05(土) 18:18:36kwsk
0402デフォルトの名無しさん
2008/01/05(土) 18:50:31自分もpythonはじめたかなり最初の方はそういう感覚があったような気がする
0403デフォルトの名無しさん
2008/01/05(土) 20:41:45def ふにゃふにゃ
ぴっぽろ
ぱっぽろ
# 以下不要なのでコメントアウト
# ぷんぱか
# ほにゃらら
(20行続く)
# 2008/1/5 追加しました。
return "こんなところにこんなものが!”
0404デフォルトの名無しさん
2008/01/05(土) 20:51:11String ふにゃふにゃ() {
ぴっぽろ;
ぱっぽろ;
// 以下不要なのでコメントアウト
// ぷんぱか;
// ほにゃらら;
(20行続く)
// 2008/1/5 追加しました。
return "こんなところにこんなものが!";
}
0405デフォルトの名無しさん
2008/01/05(土) 21:30:30なんだかとても眠いので寝る。
続きは夢の中で議論しましょう。
0406デフォルトの名無しさん
2008/01/05(土) 22:26:02おやすみなさい。
0407デフォルトの名無しさん
2008/01/06(日) 00:00:560408デフォルトの名無しさん
2008/01/06(日) 01:05:140409デフォルトの名無しさん
2008/01/06(日) 13:23:260410デフォルトの名無しさん
2008/01/06(日) 13:30:560411デフォルトの名無しさん
2008/01/06(日) 15:01:510412デフォルトの名無しさん
2008/01/06(日) 17:03:06必ず自分でインデント調整せないかんの?
自動整形とか出来なさそう…まぁ、そういう機能ないエディタだと普段やってることだけどさ
0413デフォルトの名無しさん
2008/01/06(日) 18:28:560414デフォルトの名無しさん
2008/01/06(日) 19:24:270415デフォルトの名無しさん
2008/01/06(日) 19:30:36>Pythonの場合、ブロックを跨いだ場所にカット&ペーストしたら
>必ず自分でインデント調整せないかんの?
そういう場合、ブロックを関数とかメソッドとかに出来るし
何の関係も無い
カット&ペーストしたら大抵は何か考え直すべき
へぼが書くとやっぱり読みにくい
0416デフォルトの名無しさん
2008/01/07(月) 08:15:190417実際に書いたことあれば疑問に思わないんだけどね
2008/01/07(月) 10:42:03インデントをちょちょいと直せばいいだけ
直すインデントの量は先頭を見れば自明
何か疑問でも?
0418デフォルトの名無しさん
2008/01/07(月) 10:49:100419デフォルトの名無しさん
2008/01/07(月) 10:51:54ペースト後インデント直さないと正しいコードにならないのとの違いの話だな
0420デフォルトの名無しさん
2008/01/07(月) 10:58:260421デフォルトの名無しさん
2008/01/07(月) 11:41:190422デフォルトの名無しさん
2008/01/07(月) 12:27:110423デフォルトの名無しさん
2008/01/07(月) 12:31:500424デフォルトの名無しさん
2008/01/07(月) 12:32:580425デフォルトの名無しさん
2008/01/07(月) 13:18:510426デフォルトの名無しさん
2008/01/07(月) 13:20:16整合性がとれなくなったりコードがおかしくなったりするわけだけど
その際の確認の手間がペーストよりも後ろ側に来てるだけ
面倒もへったくれもないし議論になってねーっつーの
0427デフォルトの名無しさん
2008/01/07(月) 13:28:320428デフォルトの名無しさん
2008/01/07(月) 15:23:17大らかなのはアセンブラぐらいかな
0429デフォルトの名無しさん
2008/01/07(月) 15:43:280430デフォルトの名無しさん
2008/01/07(月) 17:19:08戻す時だけだから他言語での括弧の不整合と同じく
エラーが出るね
0431デフォルトの名無しさん
2008/01/07(月) 17:48:150432デフォルトの名無しさん
2008/01/07(月) 18:23:200433デフォルトの名無しさん
2008/01/07(月) 18:53:070434デフォルトの名無しさん
2008/01/07(月) 21:00:00全く書いたり試したりしないで
脳内でイチャモン生成されても的外れだってことさ
0435デフォルトの名無しさん
2008/01/07(月) 22:00:38なんで「エラーが出る状況ではエラーがでるから同じだなんて」
って話になってるの?
0436デフォルトの名無しさん
2008/01/07(月) 23:38:370437デフォルトの名無しさん
2008/01/08(火) 12:45:190438デフォルトの名無しさん
2008/01/08(火) 15:08:03つまりスレタイ読めという事
0439デフォルトの名無しさん
2008/01/08(火) 16:43:39カッコとかendとかある言語の方がいろいろ手を打てる。
たいていは自動フォーマッタが視覚的にミスに気づかせてくれる。
インデントとブロックを両方プログラマの手にあずけちゃうと、
プログラマがミスしたときの保険が無くなる。
0440デフォルトの名無しさん
2008/01/08(火) 21:11:44Python でもインデントのレベルの辻褄が合わないから同様に気づくと思うが
0441デフォルトの名無しさん
2008/01/08(火) 21:17:25書き出すインデントのレベルを勘違するのがミスだろ。
既に勘違いしてるのにどうやって辻褄が合わないことに気づくんだよ。
0442デフォルトの名無しさん
2008/01/08(火) 22:30:42fuga
fuga
pass
0443デフォルトの名無しさん
2008/01/08(火) 22:32:580444デフォルトの名無しさん
2008/01/08(火) 22:50:150445デフォルトの名無しさん
2008/01/08(火) 23:07:350446デフォルトの名無しさん
2008/01/08(火) 23:28:170447デフォルトの名無しさん
2008/01/08(火) 23:54:46天才
0448デフォルトの名無しさん
2008/01/09(水) 10:28:470449デフォルトの名無しさん
2008/01/09(水) 19:09:42_,,..,,,,_ _,,..,,,,_
_,,..,,,_/ ・ω・ヽ/・ω・ ヽ,..,,,,_
./ ・ω_,,..,,,,_ l _,,..,,,,_/ω・ ヽ
| / ・ヽ /・ ヽ l
`'ー--l ll l---‐´
`'ー---‐´`'ー---‐´
0450デフォルトの名無しさん
2008/01/15(火) 16:56:52話はそれからだ。
0451デフォルトの名無しさん
2008/01/15(火) 22:41:420452デフォルトの名無しさん
2008/01/15(火) 22:49:010453デフォルトの名無しさん
2008/01/26(土) 00:00:07私も昔の >>402 さんのように終了記号が無いのが不安です。
気が緩んでインデントを間違えてしまう
うっかり者は使うな!という言語なんでしょうか…?
前に Python でコード書いてたら、
急に好きなおにゃのこから電話が来て
電話の後インデントしきってないのを忘れて悩みました。
おにゃのこよりインデントを大事にしろ!
おしゃべりしててもインデントを忘れるな!って言語なんでしょうか。
コードを見ていると綺麗だとは思うのですが、
書くときは正しくヘビのように絡み付いて
縛り付けられる感じがして辛いです。
皆さんインデントのミスなんてしないんでしょうか?
ネタじゃなくてホントに。
0454デフォルトの名無しさん
2008/01/26(土) 03:26:47俺は他の言語の出身だが、他でもインデントはキッチリ書くよ。
経験上、そうでないと自分がミスリードするし
インデントをキッチリ書くことは「当たり前のことを当たり前にやってるだけ」と思ってる。
欠点としては、自動整形が効かないってことかな。
場合によってはこれだけが痛い。
0455453
2008/01/26(土) 04:14:51というか書いてないと気がすまないのですが
コードを移動したり、差分をマージする時にドキドキしてしまいます。
マージとか他の言語だと、
ひとまずペーストしてインデント揃えて、ってできるんですが
Python だとペースト〜揃える間を一息でやらないと怖くて緊張します。
0456デフォルトの名無しさん
2008/01/26(土) 11:29:03% cat code01.py >> code00.py
% vi code00.py
0457デフォルトの名無しさん
2008/01/27(日) 13:40:14#}
というインデントのヒントをコードに埋め込めばいいんだよ。
なんという逆転の発想・・・
0458デフォルトの名無しさん
2008/01/28(月) 16:35:23...(Ellipsis)なら、それほど悪くないかなと思った・・・
0459デフォルトの名無しさん
2008/01/28(月) 22:43:30そんなことしたっけ?
もしかして、空ブロックの代わりにpassって書くのと勘違いしてる?
0460デフォルトの名無しさん
2008/01/28(月) 23:22:310461デフォルトの名無しさん
2008/01/29(火) 00:10:41他のエディタはどうなってるか知らんが
0462デフォルトの名無しさん
2008/01/29(火) 06:10:340463デフォルトの名無しさん
2008/01/29(火) 08:46:390464デフォルトの名無しさん
2008/01/29(火) 16:19:170465デフォルトの名無しさん
2008/01/30(水) 03:26:02: - pass
文字数は変わらないね
0466デフォルトの名無しさん
2008/01/30(水) 03:48:01つうか、ブロック毎にいちいち pass pass 書いてる python コードなんて
誰も読む気しない
0467デフォルトの名無しさん
2008/01/30(水) 07:49:500468デフォルトの名無しさん
2008/01/30(水) 09:47:35>>461
設定次第でバックスペースは1回にできそうだな
0469デフォルトの名無しさん
2008/01/30(水) 09:54:520470デフォルトの名無しさん
2008/01/30(水) 15:17:47そうじゃなくて、自動整形するためのtipsの話じゃなかったのか?
0471デフォルトの名無しさん
2008/01/30(水) 17:50:00そもそも他のソースからのコピペをする機会が少ない。その必要があるときも
ブロックを指定してインデントなりデデント(IDLE なら Ctrl-[ と Ctrl-])すれば一瞬で済むし。
ぶっちゃけ、453さんみたいに苦痛を感じる人がいるのが不思議。
経験的に言って、Python のコーディングをきちんとサポートしてくれるツールを使えば
インデントに起因する問題は何も起こらないよ。あとは慣れの問題。
0472471
2008/01/30(水) 17:55:50Python のインデントって自転車みたい。
乗れないうちはバランスとか転んだら痛いとかいろいろ考えちゃうけど、それって無駄。
乗れるようになったら意識しなくても快適に乗りこなせるようになる。
0473デフォルトの名無しさん
2008/01/30(水) 18:01:49いきなり }<改行> を入力すれば、勝手にインデントを1段戻した位置にズレて
次の行ではそのまま書き続けられる位置にカーソルが移るような環境に生きていると、
いちいちインデントを調整しながらコードを書くことが苦痛だと。
そういうことじゃないかと思うわけだけど。
書くコードの種類にもよるとは思うけど。
0474デフォルトの名無しさん
2008/01/30(水) 18:14:510475デフォルトの名無しさん
2008/01/30(水) 19:43:400476デフォルトの名無しさん
2008/01/30(水) 19:52:090477デフォルトの名無しさん
2008/01/30(水) 20:41:120478471
2008/01/30(水) 21:23:09> 勝手にインデントを1段戻した位置にズレて
> 次の行ではそのまま書き続けられる位置にカーソルが移るような環境
すくなくとも IDLE や Emacs の Python モードはそういう環境だよ。
if foo is True: [Enter]
で1段インデントされるし
return [Enter]
で1段デデントされる。return, break, continue, pass 等で終わらないブロックの場合は
Backspace の入力が必要だけど、475さんの言うとおり、C 等で } の入力が必要なのと同じ。
そういえば Emacs の C モードで複数行にわたるマクロを書いてて行末の \ が
あるのとないのとで自動インデントの振舞いが変わって難儀するのを思い出した。
あとで \ をつけてそろえようと思ってても、自動インデントで思わぬ位置までカーソルが飛んでいく。
まあ善し悪しだね。万能じゃない。
0479デフォルトの名無しさん
2008/01/30(水) 22:18:18記号でブロックをあらわすと、プログラマの意図の通りの構造になっているか
ダブルチェックすることができる。
0480デフォルトの名無しさん
2008/01/30(水) 22:23:52見た目と意図が激しく乖離するものが出来上がる現実
0481デフォルトの名無しさん
2008/01/30(水) 23:32:280482デフォルトの名無しさん
2008/01/31(木) 18:50:03確かに、ブロックを正しく書く癖を付けさせるなら、こういう言語かも知れない。
0483デフォルトの名無しさん
2008/01/31(木) 20:48:36if (hoge) break;
とか。
switch (var) {
case A: hoge(); break;
case B: huge(); break;
case C: huga(); break;
}
とか。
0484デフォルトの名無しさん
2008/01/31(木) 23:22:16ってあるよ
0485デフォルトの名無しさん
2008/02/01(金) 00:42:51if var==A:
hoge1()
else if var==B:
hoge2()
else if var==C:
hoge3()
もし A,B,C が 0, 1, 2 というふうに序数になっているなら
(hoge1, hoge2, hoge3)[var]()
だな
0486デフォルトの名無しさん
2008/02/01(金) 00:43:53ペーストするとき、すごくやりにくいよね。
前に、プレゼンのビデオでデモをやってる人がいて、
先頭にスペースが入っちゃったりして、やりにくそうだった。
また、インデントの深いところの複数行をまとめてコピーするのは不可能だよね。
0487デフォルトの名無しさん
2008/02/01(金) 01:24:58とか入れれば、好きな深さのコード実行できる
>>> if 1:
... print 1
... print 2
... print 4
...
1
2
4
0488デフォルトの名無しさん
2008/02/01(金) 06:41:17hoge1(a+b)
else if var==B:
hoge2(c-d)
else if var==C:
hoge3(e/f)
もし A,B,C が 0, 1, 2 というふうに序数になっているなら
(hoge1, hoge2, hoge3)[var]((a+b, c-d, e/f)[var])
ということか
0489デフォルトの名無しさん
2008/02/01(金) 06:41:540490デフォルトの名無しさん
2008/02/01(金) 09:41:51def case_A():
hoge1(a+b)
def case_B():
hoge2(c-d)
def case_C():
hoge3(e/f)
f = (case_A, case_B, case_C)[var]
f()
0491デフォルトの名無しさん
2008/02/01(金) 09:54:55それはPythonじゃなくてエディタの機能の話だろ。
0492デフォルトの名無しさん
2008/02/01(金) 11:00:13> それはPythonじゃなくてエディタの機能の話だろ。
また、インデントの深いところの複数行をまとめて (エディタからインタプリタに)
コピーするのは不可能だよね、という話?
先頭に空白が入っていると、無理。
0493デフォルトの名無しさん
2008/02/01(金) 12:11:32何を無理とか不可能とか言ってるのかよくわからん。
0494デフォルトの名無しさん
2008/02/01(金) 14:25:290495デフォルトの名無しさん
2008/02/01(金) 14:28:310496デフォルトの名無しさん
2008/02/01(金) 16:53:180497デフォルトの名無しさん
2008/02/01(金) 16:55:020498デフォルトの名無しさん
2008/02/01(金) 21:29:48なんだかLispみたいだ。
0499デフォルトの名無しさん
2008/02/01(金) 21:34:17うわあPython読みにくう・・・。
0500デフォルトの名無しさん
2008/02/01(金) 23:35:290501デフォルトの名無しさん
2008/02/02(土) 00:53:56オマエラあるのか。俺は18年のプログラム暦で一度もない。
0502デフォルトの名無しさん
2008/02/02(土) 01:01:47確かに。俺も 20年位インデント関連のバグ書いて悩んだことはないな。
インデントが見栄えだけしか意味持つ言語使ってないから。
0503デフォルトの名無しさん
2008/02/02(土) 01:35:12ペーストしようとするとエラーになるんですけど
どうしたらよいのでしょうか?
0504デフォルトの名無しさん
2008/02/02(土) 01:35:20まともなエディタ使ってたら、インデント起因のバグなんてありえんよ。
むしろコーディングに余計な手間を強いるPythonはクソ。
0505デフォルトの名無しさん
2008/02/02(土) 01:41:42>行単位で範囲選択できるエディター
ってどんなのがあるんでしょうか。
0506デフォルトの名無しさん
2008/02/02(土) 01:45:46Vim
0507デフォルトの名無しさん
2008/02/02(土) 01:58:01「読みやすさのため」という理由は、全然説得力ないのよ。
「インデント起因のバグに悩まされた」ことなんてないし、「インデント
がそろってないために読みづらい」ソースなんて、小学生ならいざ知らず
普通のソースコードで見たことない。
それなのに、これまでエディタで自動で出来ていたインデントを
手動でやる羽目になる手間といったら!Python使いってなに考えてんの?
0508デフォルトの名無しさん
2008/02/02(土) 02:08:49全くそうだよね。
インデントなんか制御構造に使わなけりゃ、
(自分にとっては) pythonほとんど完璧だたったんだか。
これは失敗だったと思うよ。インデントを制御構造に使わないとならない
積極的な理由なんかないんだから。(たぶん)
0509デフォルトの名無しさん
2008/02/02(土) 08:37:44(endうざい、も可)
Python で書いてると、コロンもうざい
0510デフォルトの名無しさん
2008/02/02(土) 11:08:31積極的な理由なんて無いんじゃないの?
問題が無ければ現状維持で良い。問題があるなら、
問題点と改良案を提案すれば良い。むしろ言語がより良い
方向に行くために提案すべきだ。俺的にインデントでブロックを
表現するのが好きだけど、十分に納得できる理由があるなら
他の方法に変更されても全然OK
0511デフォルトの名無しさん
2008/02/02(土) 13:45:18うざいとかいうのは気持ちの問題。
ruby信者にはendがいいんじゃないかと言われるだけ。
慣れれてこういうもんだと思えばなくなる問題。
>>510
インデントで致命的な問題があるわけではないよ。
自分も読むだけならインデントも読みやすいと思うけど。
ただ、自分で書く場合、インデントの自動整形ができないとか、
カットアンドペーストするとき、余計な作業をしないといけないとかは、
作業が増える、これは慣れて解決する問題ではない。
個人的には、ネットでなどで見つけてきたコードサンプルなどをカットアンドペーストして
自分のマシンで動かしてみようとするときに、
他の言語ではいきなりインタラクティブシェルに放り込めば動くこともあるが、
まずはインデントを確認してからなど、めんどうだなと思うこともある。
致命的ではないけどね。作業量の問題。
0512デフォルトの名無しさん
2008/02/02(土) 14:30:08向いてないんだろうね。
0513デフォルトの名無しさん
2008/02/02(土) 15:00:14これなら表現は {} だろうが字下げだろうがエディターの選択に拠るのであって言語の仕様とは分離できるし
0514デフォルトの名無しさん
2008/02/02(土) 15:04:22やってることは完全に正反対のはずなんだが…
0515デフォルトの名無しさん
2008/02/02(土) 15:33:49ソースコードがXMLって言うのはまだ見たことないなぁ・・・
0516デフォルトの名無しさん
2008/02/02(土) 15:49:55SQL埋め込んだりHTML埋め込んだりすると
見た目にインデントが混乱するので嫌
ちゃんとしたエディタならどっちも文字列だから
プログラム自体のインデントには影響しないんだけど
読むのがきつい
そういうときは構造が間違ってるから見直せとか
テンプレ使えって話になるんだろうけど
0517デフォルトの名無しさん
2008/02/02(土) 15:52:27わかってるとは思うが >>513 の言ってるのは
エディタ上では普通のソースと見分けが付かない
保存したときにXMLになってるっていう話だろ
そういうのを実現してるのは強いて言えば
Excel2007 の VBA とかじゃないのか
0518デフォルトの名無しさん
2008/02/02(土) 16:39:32あまり差はなくないか? XMLのほうがむやみに冗長なだけで。
あとはプログラマがプレインテキスト信仰から離れられるか、という
ところだろうけど。
0519デフォルトの名無しさん
2008/02/02(土) 16:46:340520デフォルトの名無しさん
2008/02/02(土) 16:55:23キーワードに非アスキー文字がある言語が絶対に流行らないのと同じように・・w
0521デフォルトの名無しさん
2008/02/02(土) 17:24:24という部分を見落とされちゃった気がしてしょぼーん
0522デフォルトの名無しさん
2008/02/02(土) 17:31:12ボットによる定型レスだから気にしないでオケ。
0523デフォルトの名無しさん
2008/02/02(土) 18:37:17そのまま編集&保存できるエディタってある?
0524デフォルトの名無しさん
2008/02/03(日) 02:09:000525デフォルトの名無しさん
2008/02/03(日) 02:16:30昔のパソコンBASICは処理系依存の中間言語でセーブしてたよ
でもけっこう流行ってたと思う
0526デフォルトの名無しさん
2008/02/03(日) 09:17:27大抵はアスキーセーブもできたはずだが?
0527デフォルトの名無しさん
2008/02/03(日) 15:59:54どんなもんだろうね?
0528デフォルトの名無しさん
2008/02/03(日) 16:15:34俺、3つの職場渡り歩いたけど、IDEのエディタ使ってるやつ見たことない。
0529デフォルトの名無しさん
2008/02/03(日) 21:33:30大抵はアスキーセーブなんてしないし
それにアスキーセーブしなおせるのは「特定のツール」がある環境だよね
0530デフォルトの名無しさん
2008/02/03(日) 21:52:30処理系自体がIDEなんだから関係ないじゃん。
0531デフォルトの名無しさん
2008/02/03(日) 21:54:28だから「絶対流行らない」に対する反論だろ
実際普及してたわけだし
0532デフォルトの名無しさん
2008/02/03(日) 22:08:410533デフォルトの名無しさん
2008/02/03(日) 22:09:170534デフォルトの名無しさん
2008/02/03(日) 23:49:510535デフォルトの名無しさん
2008/02/04(月) 00:07:36あると
どるふぃん
0536デフォルトの名無しさん
2008/02/04(月) 01:12:39つか、パソコンって言葉自体が Smalltalk を OS として動作する Alto や NoteTaker の
ためのもの…って話はスルーですか、そうですか。
0537デフォルトの名無しさん
2008/02/04(月) 01:27:03うん、スルー^^
0538デフォルトの名無しさん
2008/02/04(月) 02:34:260539デフォルトの名無しさん
2008/02/04(月) 03:26:170540デフォルトの名無しさん
2008/02/04(月) 11:07:39IDE のプラグインだと IDE 毎につくらにゃいかんので負担が大きいなぁとか考えて
いたのだが、テキストフィルタとして実装するのはどうだろう。
0541デフォルトの名無しさん
2008/02/05(火) 09:52:02矩形コピペできないエディタは死んでいい
>>509
激しく同意
>>523
関係ないけど、io-languageだと逆コンパイルできるよ。
インタラクティブシェルで、メソッドを定義すると、逆コンパイル?して表示してくれる。
自分の書いたのより、良い書き方で返ってきたりしてウケル
0542デフォルトの名無しさん
2008/02/05(火) 09:56:23Smalltalkも逆コンパイルしてくれる。
時々、最適化した結果を見せてくれるから参考になる。
0543デフォルトの名無しさん
2008/02/05(火) 09:57:45矩形コピペできるエディタを使っていながら
その機能を知らないやつ多すぎ。
とりあえずWindows系のエディタなら
カーソルを選択位置に持っていって、
alt押しながら選択してみるといいよ。
0544デフォルトの名無しさん
2008/02/05(火) 16:20:06Servlet Garden ≫ Unicode and Character Sets (Translation)
http://www.t3.rim.or.jp/~yoko-k-h/java/servlet/2008/01/31/unicode-and-character-sets-translation.html
くだらない文字コード問題を解決しようとしただけで、
もうすでにプレーンテキストなんてなくなっているわけだよ。
しかし、その差異はエディタが吸収した。
ごく一部の人間以外は問題なく扱えている。
そこで次の段階は、構造化テキストですよ。
>>520のような言葉は、10年前にはそうなことも言われていたね、なんてい言われるだろう
0545デフォルトの名無しさん
2008/02/05(火) 18:37:520546デフォルトの名無しさん
2008/02/06(水) 02:26:30時代の問題じゃなくて MS vs UNIX 文化圏の違いという気がする
0547デフォルトの名無しさん
2008/02/06(水) 09:41:07・vi系
・Emacs系
・Eclipse等
に3分するとして、2:7:1 ぐらい?
0548デフォルトの名無しさん
2008/02/06(水) 23:56:47http://www.atmarkit.co.jp/fwcr/rensai/freeauthoring06/freeauthoring06_1.html
0549デフォルトの名無しさん
2008/02/09(土) 03:59:36break時にも書けるけど共通の処理をここで確実にできるからミスがおきにくいし
elseを書くことで普通の言語のendを明示できる。
2重ループを抜ける場合じゃなくても
else:
pass
と書けるし。
for i in range(5):
a = True
for j in range(3):
if j == 2:
break
else:
a = False
if a:
break
コード見るのは>>549で。
それはそうと、selfってelifの書き間違いかと思った。
>>486
>>541
WindIDE無料版使ってるけど、インデントは強制だから絶対間違わないよ。
コピペしても挿入部分については適切にインデントされる。
挿入部分下も、ページの最後まで選択してTABで全部が適切にインデントされる。
コメントは微妙に残るかもしれないが。
0550デフォルトの名無しさん
2008/02/09(土) 07:44:22a = False
for i in range(5):
for j in range(3):
if j == 2:
a = True
break
if a:
break
そういうテクニカルな else は読みにくくなるだけ。
0551デフォルトの名無しさん
2008/02/09(土) 08:15:060552デフォルトの名無しさん
2008/02/09(土) 09:35:34a の定義位置が間違ってるよ。
breakの有無の判定は一つのループにつき一度しかできないから。
複数のbreakがあってもフラグのセット忘れに関係なくループを抜けれるから確実で良いと思った
けど、まあそうかもしれない。
Basicみたいな、単文ならif、複数ならifb〜endifとかになるやつならbreakだけで短く書く意味があるけど。
でもループが長くなるとどーしても分からなくなっちゃうな・・・
どこまで復帰するべきかが。
しかも深くなると、何段のインデントになってるかすら分からない。
タブならタブコードを表示するエディタでいけるけどなぜか半角スペースにされちゃってるし。
そういう意味ではelse:passは書かないとやばい。
普通の言語なら最初と最後の文字があるからそれを強調してくれれば見やすいけど、
pythonの場合はカーソルのある段全体に色をつけてくれないと範囲が分かりにくいな。
0553デフォルトの名無しさん
2008/02/09(土) 10:12:370554デフォルトの名無しさん
2008/02/09(土) 12:19:44俺も例外使う。例外ならforループどころか関数の壁を越えてbreakできる。
0555デフォルトの名無しさん
2008/02/09(土) 12:23:230556デフォルトの名無しさん
2008/02/09(土) 13:55:24Cとかだと普通に使うよ?
0557デフォルトの名無しさん
2008/02/09(土) 14:28:310558デフォルトの名無しさん
2008/02/09(土) 14:35:39そう?ファンクショントレース埋め込むときとか、以下のように
エラーの場合、リソース開放して戻るときとか頻繁に使うなぁ。
{
A *a = NULL; B *b = NULL; C *c = NULL; int result = E_UNKNOWN;
if ((a = A_new()) == NULL) {
result = E_MEM; goto END_FUNC;
}
if ((b = B_new()) == NULL) {
...
END_FUNC:
if (a !=NULL && result != E_SUCCESS) {
A_free(a);
}
...
}
0559デフォルトの名無しさん
2008/02/09(土) 15:58:34アスペクト指向言語だったら、こんなgotoはいらないのだけどさ。
0560デフォルトの名無しさん
2008/02/09(土) 16:00:100561デフォルトの名無しさん
2008/02/09(土) 16:11:47ファンクショントレースしこむには、スコープぬけるときにデストラクタ
よばれるか、アスペクト指向じゃなければ難しいんじゃない。
アーキテクチャに依存しないように仕込むには。
2007/07/11 10:10:10:[TRACE]FuncA IN (args=...)
2007/07/11 10:10:10:[TRACE]FuncA out (result=0)
てな感じに。
0562デフォルトの名無しさん
2008/02/09(土) 16:22:19その程度ならtry:finally:があれば十分じゃん…
0563デフォルトの名無しさん
2008/02/09(土) 16:25:54try:finallyで仕込むのメンドイでしょ。gotoと大して変わらないし。
アスペクト指向が一番楽だけど。
0564デフォルトの名無しさん
2008/02/09(土) 16:30:13try:finally:がgotoと変わらないって…
gotoでは関数内で例外が発生した時の振舞いがまるで違うんだけど…
0565デフォルトの名無しさん
2008/02/09(土) 16:34:17いや議論がごっちゃになってるのだけど。ロギングに例外機構を
使用しようとするところもおかしいし、例外の振る舞いとgoto
をごっちゃにするのもおかしい。
0566デフォルトの名無しさん
2008/02/09(土) 16:37:56> ロギングに例外機構を
> 使用しようとするところもおかしいし、
全然おかしくない。
try:finally:はtry:句から抜ける時を捕まえるという、
まさにトレースにぴったりの機構だろ。
> 例外の振る舞いとgoto
> をごっちゃにするのもおかしい。
例外が発生した時にOUTの記録を残せないトレースなんて
役に立たないと思う。
0567デフォルトの名無しさん
2008/02/09(土) 16:39:39>>558が提示したケースもgoto無しで十分対応できることが示された以上、
もうその時点で議論の結着はついていると思われ。
0568デフォルトの名無しさん
2008/02/09(土) 16:40:280569デフォルトの名無しさん
2008/02/09(土) 16:46:29try finallyは例外を捕まえるための機構であって、ファンクション
トレースのための機構ではない。
デストラクタでロギングするほうがよっぽどスマート。try finally
に依存したロギングよりも。そしてアスペクト指向のほうが
デストラクタロギングよりももっとスマートだといっているのだよ。
0570デフォルトの名無しさん
2008/02/09(土) 16:46:44CとPythonでは言語の抽象度がまるで違うんだから、
coreutilsだのLinux kernelだのは参考にならない。
Cでtry:finally:と同等な機構を仕込むのがどれだけ大変かわかるか?
0571デフォルトの名無しさん
2008/02/09(土) 16:48:29> try finallyは例外を捕まえるための機構であって、
いいえ、全然違います。ひょっとしてtry:except:と勘違いしている?
> デストラクタでロギングするほうがよっぽどスマート。
デストラクタはオブジェクトの解放をする機構であって、
ロギングのための機構ではない。
0572デフォルトの名無しさん
2008/02/09(土) 16:50:24(俺)ルールが決まっていれば混乱することもない。
0573デフォルトの名無しさん
2008/02/09(土) 16:52:32Cの原始的なやり方を押し通そうとしているように見える。
0574デフォルトの名無しさん
2008/02/09(土) 16:56:400575デフォルトの名無しさん
2008/02/09(土) 16:59:350576デフォルトの名無しさん
2008/02/09(土) 17:05:22こういう態度じゃ,友達もいないだろう。
0577デフォルトの名無しさん
2008/02/09(土) 17:07:46たまたま1がPythonしか知らなかったのだと思うわけだが。
しかしオフサイドルールの話題ですらないな。
0578デフォルトの名無しさん
2008/02/09(土) 17:20:17>556 名前:デフォルトの名無しさん [sage]: 2008/02/09(土) 13:55:24
>まぁさ、例外あるような言語ではgotoいらないかもしれないけど、
>Cとかだと普通に使うよ?
>557 名前:デフォルトの名無しさん [sage]: 2008/02/09(土) 14:28:31
>いや,普通には使わないわ(ww
ここから始まった話題なので、
今に限ってはCのgotoの話をしている。pythonは今のトピックにおいて関係なし。
Cは例外ないから>>558がgotoなしで書けるという話も決着がついてない。
ここで例外使えばいいという指摘自体が的外れ。
まあ実際gotoは無くてもいいが、あると遥かリソース開放とかは便利。
むろんGCとか例外とかがあればそっちのが便利だが。
0579デフォルトの名無しさん
2008/02/09(土) 17:43:450580デフォルトの名無しさん
2008/02/09(土) 17:46:28とりあえず
http://pc11.2ch.net/test/read.cgi/tech/1123726695/
にいけ。
0581デフォルトの名無しさん
2008/02/09(土) 17:54:22http://pc11.2ch.net/test/read.cgi/tech/1123726695/199
0582デフォルトの名無しさん
2008/02/09(土) 21:10:21使いたくなければ使わなければいいんだし
0583デフォルトの名無しさん
2008/02/09(土) 21:14:030584デフォルトの名無しさん
2008/02/09(土) 21:14:170585デフォルトの名無しさん
2008/02/09(土) 21:35:540586デフォルトの名無しさん
2008/02/10(日) 10:08:19インデントして見やすいように書くと、
文の終わりが深いインデントで唐突に終わってるんだよね。
Pythonってこんな感じのコードになるのかなーと思った、
Pythonを知らないやつのたわごとでした。
0587デフォルトの名無しさん
2008/02/10(日) 10:09:56つ[null;]
0588デフォルトの名無しさん
2008/02/15(金) 11:30:220589デフォルトの名無しさん
2008/02/23(土) 00:53:36ジードのブレース拒否の態度とMatz のインデント拒否の態度は両方とも
合理的な根拠が感じられない。
0590デフォルトの名無しさん
2008/02/23(土) 01:08:11ソースきぼんぬ
0591デフォルトの名無しさん
2008/02/23(土) 01:48:41>>> from __future__ import braces
File "<stdin>", line 1
SyntaxError: not a chance
python3000の議論が始まったときに、ブレースが入らないことだけは
最初っから完全に決まっていた。そもそもまともに議論・検討しようという態度がない。
PEP3099で、ブレースが入らない理由のところで
何も書かれておらず、「そんなことは明らかだ」
という言い方しかしていない。(議論する気がない
0592デフォルトの名無しさん
2008/02/23(土) 02:52:25いいとか悪いとかじゃない、それを変えてしまったらもはやPythonではない、と。
ぶっちゃけ俺もそう思う。
0593デフォルトの名無しさん
2008/02/23(土) 04:12:480594デフォルトの名無しさん
2008/02/23(土) 05:07:02どっちでもいいという仕様になるのも生理的に嫌
0595デフォルトの名無しさん
2008/02/23(土) 06:12:090596デフォルトの名無しさん
2008/02/23(土) 12:01:58んだんだ
0597デフォルトの名無しさん
2008/02/23(土) 12:31:10パーサー実装するのが面倒。
ブレースつけてもどうせみんなインデントするからいいじゃん。
0598デフォルトの名無しさん
2008/02/23(土) 12:48:04最後に、「Haskellみたいなブレースの使い方を採用する気ない?」と尋ねたら、
「いろんな文法の変更を試している人がいるから、その中のひとつとして考えてみる」
ということであった。これが実現したら大喜びする人も多いように思うけど
(lambdaで複文が使えるようになるし)、それほど乗り気であるようにも見えなかったので
過大な期待は禁物である。
0599デフォルトの名無しさん
2008/02/23(土) 12:51:47> 「いろんな文法の変更を試している人がいるから、その中のひとつとして考えてみる」という ことであった。
日本語訳:
ウザい東洋人、あっちいけヨ。
0600デフォルトの名無しさん
2008/02/23(土) 12:57:53いくつもの分がブレスに所狭しと押し込められたソースなんて汚いだけだよ。
複数の文を書くような場面では、関数定義してオブジェクトにして引き回せばいい。
0601デフォルトの名無しさん
2008/02/23(土) 13:24:21だという事に気づかないんだろうか
Matzは「大喜びする人も多い」ならRubyをそういう風に改造するんだろうけど
Guidoは最初から制約を利用しようとして言語デザインしてるんだから
自分とは考えが違うと理解しないかな
0602デフォルトの名無しさん
2008/02/23(土) 13:27:36> 「いろんな文法の変更を試している人がいるから、その中のひとつとして考えてみる」という ことであった。
日本語訳:
愚問に答えるのは苦労するぜ
0603デフォルトの名無しさん
2008/02/23(土) 13:29:56Guidoはおとな
0604デフォルトの名無しさん
2008/02/23(土) 13:35:24> 「いろんな文法の変更を試している人がいるから、その中のひとつとして考えてみる」という ことであった。
日本語訳:
その質問、あなたで百万回目ですから。
0605デフォルトの名無しさん
2008/02/23(土) 14:01:24俺たちみたいに、匿名掲示板で溜飲を下げている一般ピープルには想像もつかないのだけれど。
0606デフォルトの名無しさん
2008/02/23(土) 14:04:56Guidoから見たmatzとの関係: この手のイベントで握手を求めてくる百万人の1人
0607デフォルトの名無しさん
2008/02/23(土) 14:05:54GuidoとMatzの間違いじゃね?
0608デフォルトの名無しさん
2008/02/23(土) 14:17:29禿
0609デフォルトの名無しさん
2008/02/23(土) 14:53:200610デフォルトの名無しさん
2008/02/23(土) 18:21:18ジード、自分からRuby1.9について質問しまくってたようだから、そういうわけでもないでしょ
にしても、Matz - Guidoの間でこのスレとおんなじ話題が上ってたって言うのは面白いw
0611デフォルトの名無しさん
2008/02/23(土) 18:22:130612デフォルトの名無しさん
2008/02/23(土) 18:22:14君にいい言葉を教えてあげよう。
「社交辞令」
0613デフォルトの名無しさん
2008/02/23(土) 18:24:31guidoってオランダ人だろ?
なら元から(ry
0614デフォルトの名無しさん
2008/02/23(土) 18:26:04これ?
0615デフォルトの名無しさん
2008/02/23(土) 18:29:05ヨーロッパ人はそういう社交辞令的な質問が得意だよね。
0616デフォルトの名無しさん
2008/02/23(土) 18:35:15File "<stdin>", line 1
SyntaxError: not a chance
0617デフォルトの名無しさん
2008/02/23(土) 19:37:48Guido「そういうのを試してる人もいるよ」(それは10年前に通り過ぎた場所だよ)
0618デフォルトの名無しさん
2008/02/24(日) 07:55:370619デフォルトの名無しさん
2008/02/24(日) 08:12:310620デフォルトの名無しさん
2008/02/24(日) 08:16:16無自覚なまま他者を攻撃し続ける人がいるよね。
0621デフォルトの名無しさん
2008/02/24(日) 09:13:090622デフォルトの名無しさん
2008/02/24(日) 11:35:100623デフォルトの名無しさん
2008/02/24(日) 13:37:330624デフォルトの名無しさん
2008/02/24(日) 14:34:060625デフォルトの名無しさん
2008/02/24(日) 22:45:42「なんでも機能をとりいれる」ではなく
「ほどよいバランスで適切な要素だけを適切に配置」
っていうのが一番重要なんだよね…
perl のワケワカメで不要な暗黙機能満載を体験すれば
誰でも気づきそうなものだが
0626デフォルトの名無しさん
2008/02/25(月) 00:03:420627デフォルトの名無しさん
2008/02/25(月) 06:25:460628デフォルトの名無しさん
2008/02/25(月) 07:46:150629デフォルトの名無しさん
2008/02/25(月) 15:13:440630デフォルトの名無しさん
2008/02/25(月) 21:00:530631デフォルトの名無しさん
2008/02/25(月) 22:27:00どうも Perl とっつきにくい。
0632デフォルトの名無しさん
2008/02/27(水) 14:00:29二者で比較するのでなく他の多くの言語を考慮すれば
Rubyも読みにくい方に分類される
0633デフォルトの名無しさん
2008/02/27(水) 14:07:43ttp://foldoc.org/?off-side+rule
0634デフォルトの名無しさん
2008/02/27(水) 15:51:13釣りにもなってない
0635デフォルトの名無しさん
2008/02/27(水) 20:14:44ミクとは違うのだよミクとは
0636デフォルトの名無しさん
2008/02/27(水) 20:53:03スクリプトの中ではPHPが一番読みやすい。
0637デフォルトの名無しさん
2008/02/27(水) 22:24:480638デフォルトの名無しさん
2008/02/28(木) 21:45:570639デフォルトの名無しさん
2008/02/28(木) 21:56:25でもまともに使える実行環境が無いよね
0640デフォルトの名無しさん
2008/02/28(木) 22:01:010641デフォルトの名無しさん
2008/02/29(金) 01:05:46var がいるのかいらないのかわからんかったり、()の省略ができるときと
できない時が混ざってて気持ち悪かったり、足し算で意味わからないcoerceがおこったり
するウンコ的な言語のこと?
0642デフォルトの名無しさん
2008/02/29(金) 04:48:08.| | | | | | | | | | || | |
.| | | レ | | | | | J || | |
∩___∩ | | | J | | | し || | |
| ノ\ ,_ ヽ .| レ | | レ| || J |
/ ●゛ ● | .J し | | || J
| ∪ ( _●_) ミ .| し J|
彡、 |∪| | .J レ
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
\ " / | |
\ / ̄ ̄ ̄ /
 ̄ ̄ ̄ ̄
0643デフォルトの名無しさん
2008/02/29(金) 10:03:58ttp://foldoc.org/?off-side+rule
ECMAScriptはLLスレか?
0644デフォルトの名無しさん
2008/03/24(月) 09:51:15a.sort(lambda x,y: x - y)
return a
このhoge自体をlambdaで定義しようとして
hage = lambda a: a.sort(lambda x,y: x - y)
としてもsort後のaの値は返せないんですよね
hage = lambda a: a.sort(lambda x,y: x - y), return a
みたいに複文にすると怒られるし・・・
0645デフォルトの名無しさん
2008/03/24(月) 10:03:410646デフォルトの名無しさん
2008/03/24(月) 11:43:53sortとsortedの違いは判る?
0647デフォルトの名無しさん
2008/03/24(月) 12:49:23解決しました。
ありがとうございました。
hage = lambda a: sorted(a, lambda x,y: x - y)
0648デフォルトの名無しさん
2008/03/24(月) 14:04:06入門書嫁。
0649デフォルトの名無しさん
2008/03/30(日) 12:23:460650デフォルトの名無しさん
2008/05/22(木) 04:00:430651デフォルトの名無しさん
2008/10/13(月) 17:35:04p i
for i in xrange(4):
p i
それぞれスペースの数が違ってても大丈夫なんですか?
0652デフォルトの名無しさん
2008/10/13(月) 17:39:040653デフォルトの名無しさん
2008/12/31(水) 11:59:020654デフォルトの名無しさん
2009/01/01(木) 00:16:130655デフォルトの名無しさん
2009/02/08(日) 23:15:16後方互換性がなくなると聞いてワクワクしながら見てみたらがっかりだった。
0656デフォルトの名無しさん
2009/02/08(日) 23:41:430657デフォルトの名無しさん
2009/02/09(月) 07:08:19インデントレベルのヒューマンエラーでブロックが変わる
結果作業量増加要因になってる。
(この式は本当はどのブロックに束縛されたいのか?等々・・)
{}でも()でもいいんだけどブロックは明示してくれないと困る。
python3ではちゃんと直すものだと思ってただけにがっかり。
0658デフォルトの名無しさん
2009/02/09(月) 07:20:37エディタの機能でどうにでもなるしな
emacsだと指定範囲のインデントを1段下げるとか上げるとかいうキーバインドがあって
これで俺は不便を感じたことはない
0659デフォルトの名無しさん
2009/02/09(月) 07:31:37次どうぞ。
0660デフォルトの名無しさん
2009/02/09(月) 07:55:06emacsでインデントの調整はできるけど、逆に言えば調整だけの支援機能なんだよね。
人のコードもさることながら、自分のコードでもこれってどっちに束縛なのかと悩まざるを得ないことがある。
mergeする時などは最悪だねえ。
まあ手間のかかる体系だよ。
0661デフォルトの名無しさん
2009/02/09(月) 08:11:230662デフォルトの名無しさん
2009/02/09(月) 08:22:330663デフォルトの名無しさん
2009/02/09(月) 12:32:090664デフォルトの名無しさん
2009/02/09(月) 12:56:430665デフォルトの名無しさん
2009/02/10(火) 01:01:520666デフォルトの名無しさん
2009/02/10(火) 11:28:180667デフォルトの名無しさん
2009/02/10(火) 11:35:51if
処理
//if
//while
こんな表記すればいいんじゃね?
0668デフォルトの名無しさん
2009/02/10(火) 12:56:40ありがとうございました
0669デフォルトの名無しさん
2009/02/10(火) 13:37:210670デフォルトの名無しさん
2009/02/10(火) 14:45:360671デフォルトの名無しさん
2009/02/10(火) 17:53:10否、というか全く、くだらん。
私はProlog。インデントなどすることはない。
0672デフォルトの名無しさん
2009/02/11(水) 05:40:26そういうあなたには、こんなソース
void func(void) {
if (expr1) {
....
if (expr2) {
...
}} else {
printf("バーカ\n");
}
}
0673デフォルトの名無しさん
2009/02/11(水) 10:04:41問題はそういうソースは、エディタやlintみたいなのでインデントを自動的に修正できる。
だが、Pythonはできない(意味がかわってしまうから)
0674デフォルトの名無しさん
2009/02/11(水) 14:02:520675デフォルトの名無しさん
2009/02/13(金) 04:30:58開発環境が自動的に修正する機能を持っていたとしても、
そんな機能「ウザ」と言ってOFFにしちゃう奴が大多数。
0676デフォルトの名無しさん
2009/02/13(金) 07:59:33スニペットの自動補完みたいなのとか慣れると便利だよ
if 書いてENTERで endおぎなったり、{ ENTER で } 書いてくれたりする奴
多分、emacsとかvimとかは昔からあるんだろうけどさ
0677デフォルトの名無しさん
2009/02/13(金) 20:03:400678デフォルトの名無しさん
2009/02/13(金) 22:54:08というか勝手にソースに手をつけるようなエディタ機能は全般的に嫌い
0679デフォルトの名無しさん
2009/02/14(土) 13:05:180680デフォルトの名無しさん
2009/02/14(土) 13:35:08問題というか「恥ずかしい」ことなのではないかな。
0681デフォルトの名無しさん
2009/02/14(土) 16:07:27まったくインデントしないでCやJavaを書く人。
0682デフォルトの名無しさん
2009/02/15(日) 06:57:440683デフォルトの名無しさん
2009/02/15(日) 09:27:070684デフォルトの名無しさん
2009/02/15(日) 11:44:22今どきのシェルだと、catよりecho(つーか、"")のほうが多機能だぞ。
0685デフォルトの名無しさん
2009/02/17(火) 22:06:000686デフォルトの名無しさん
2009/03/17(火) 23:31:53まさかFORTRANみたいなインデントを強制される言語が使われるようになるとは思わなかった。
Pythonに慣れると変な癖が付きそうなので触る気はない。OOPやるならRubyで十分。
0687デフォルトの名無しさん
2009/03/17(火) 23:38:04表現するんだけどね(オフサイドルールって奴)
ぶっちゃけPythonのインデント如きにガタガタ言ってる人は認識が古いんで
改めたほうがいいよ
0688デフォルトの名無しさん
2009/03/17(火) 23:43:420689デフォルトの名無しさん
2009/03/17(火) 23:45:18老害って哀れだね
0690デフォルトの名無しさん
2009/03/17(火) 23:50:24Fortranを馬鹿にすんな
0691デフォルトの名無しさん
2009/03/18(水) 02:01:550692デフォルトの名無しさん
2009/03/18(水) 02:56:43コメントで}とかendとか書いておけばいいことだけど、どうせ強制するならインデントの終わりも
きちんと書かないといけないように強制するなら許せる。
とにかくソースが美しくないから使いたくないし見たくない。
0693デフォルトの名無しさん
2009/03/18(水) 03:18:35Lispで超カッコ作った人の気持ちが半分だけわかるというか。
まあendないとパンツ履いてないような心もとなさがあるのもわかるけどね。
0694デフォルトの名無しさん
2009/03/18(水) 11:04:40>>691 の言う通り COBOL や Fortran とは別物。
てかひさしぶりにこのスレが伸びたのを見た気がする。
0695デフォルトの名無しさん
2009/03/18(水) 11:14:04それの中で一番メジャーなのPythonなのに、Pythonごときでっていいかたわないかとw
0696デフォルトの名無しさん
2009/03/18(水) 11:15:38endマンセーでオフサイドルールに我慢できないという
RubyユーザはYAMLを使わないのだろうか
0697デフォルトの名無しさん
2009/03/18(水) 11:16:26Python「のインデント」如き
とPython「如き」では日本語として意味が違うよ
0698デフォルトの名無しさん
2009/03/18(水) 11:37:120699デフォルトの名無しさん
2009/03/18(水) 12:54:55ヤメテクレー
0700デフォルトの名無しさん
2009/03/18(水) 13:19:390701デフォルトの名無しさん
2009/03/18(水) 15:17:54一刻も早く滅んでほしい。
0702デフォルトの名無しさん
2009/03/18(水) 16:07:210703デフォルトの名無しさん
2009/03/18(水) 18:19:390704デフォルトの名無しさん
2009/03/19(木) 04:25:09俺はC系から入ってLispに行ってからPython、Rubyと覚えたからどっちの気持ちも解るw
C→Lispの時は驚いたよ。「括弧は最後の行に纏めるのが良いスタイル」なんだもん。
だが慣れてしまうとRubyのendendendendに辟易。
…でも結局、そのendendendendにも慣れ始めている俺が居る。
0705デフォルトの名無しさん
2009/03/19(木) 07:10:03つ、つられてやるぞ!
元々XMLはRubyにもまして、end臭くて、冗長すぎるからああなったという経緯がある
>>701
そうか?HashとArrayしかないと考えたら全然難しくないよ
0706デフォルトの名無しさん
2009/03/19(木) 07:32:340707デフォルトの名無しさん
2009/03/19(木) 10:33:190708デフォルトの名無しさん
2009/03/19(木) 19:24:41692だけど、確かに今のLISPのソースはカッコを最後にまとめてるね。
大昔LISPを勉強したとき、これでえらく苦労したのを覚えてる。
当時はソースを紙に打ち出して赤ペンでカッコの対応をチェックしてた時代で、
目視でカッコの対応をチェックするのはとても大変だった。
今はエディタでカッコ対応チェックしてくれるから楽だけどね。
PythonをRubyの親戚と見ると違和感あるけど、LISPに似てると思って見ればアレルギーも少しはおさまるのかな。
でも、Cで関数の最後に}が並んでたらやっぱり嫌だな。
0709デフォルトの名無しさん
2009/03/19(木) 19:57:55インデントだけ見る
EmacsなしでLispのコードを書く気はしない
かな
そういう意味ではオフサイドルールはそれなりに合理的だ
見ないものは最初から無いし書く必要が無い
高機能エディタのサポート無しでも書くのに困らない
逆に自動整形が効かない弱みがあるが
まあLispの場合は全てがS式であることが言語の力だから、あれは仕方が無い
0710デフォルトの名無しさん
2009/03/20(金) 00:08:20演算子の優先順位も、構文解析の結合度も、全て自分で書くんだから
人間がパーザやってる感じがするが、それ故に優先順位の間違いは無い
0711デフォルトの名無しさん
2009/03/20(金) 14:49:41pass文があるんですね
0712デフォルトの名無しさん
2009/03/20(金) 14:51:54hash と array しかないんだったら JSON で充分
0713デフォルトの名無しさん
2009/04/17(金) 07:08:09空白だと一見気付かないから
なぜか上手く動かない
で対策も遅れる
0714デフォルトの名無しさん
2009/04/17(金) 07:29:420715デフォルトの名無しさん
2009/04/17(金) 07:38:550716デフォルトの名無しさん
2009/04/17(金) 07:54:550717デフォルトの名無しさん
2009/04/19(日) 14:52:520718デフォルトの名無しさん
2009/04/21(火) 20:04:000719デフォルトの名無しさん
2009/07/27(月) 11:51:100720デフォルトの名無しさん
2009/07/27(月) 12:20:530721デフォルトの名無しさん
2009/08/04(火) 16:17:400722デフォルトの名無しさん
2009/08/04(火) 16:45:34そういうときはモジュールか関数に吐き出す時期
0723デフォルトの名無しさん
2009/08/05(水) 14:18:130724デフォルトの名無しさん
2009/08/05(水) 17:25:510725デフォルトの名無しさん
2009/08/05(水) 20:14:03最初に出てくるエラーはS式として括弧が足りない、多いというもの。
まず括弧の数を合わせないと構文が正しいかのチェックすらできない。
つまり修正に2工程掛かる。
Cはセミコロンが抜けたらその付近で構文エラーになり止まる。
これは文と式を分けている効果であり、良く考えて作られていると言える。
Pythonも文と式に分かれている以上、ある範囲内で何かおかしい、
ぐらいは判るんじゃないかと。
0726デフォルトの名無しさん
2009/08/05(水) 20:16:48セミコロン抜けは抜けた行じゃなくて、次の行のエラーになるからね
0727デフォルトの名無しさん
2009/08/05(水) 20:19:310728デフォルトの名無しさん
2009/08/06(木) 01:19:49複数スペースを解釈しないんだから、pythonは不幸なんじゃないか。
python説明するWebページ作るのって苦労しない?
0729デフォルトの名無しさん
2009/08/06(木) 01:23:000730デフォルトの名無しさん
2009/08/06(木) 01:25:170731デフォルトの名無しさん
2009/08/06(木) 06:42:002chのPythonスレでは や全角スペース、専ブラのレス参照を活用してることが多いね。
俺はスペース2つ→ で置換してから投稿することにしてる。
0732デフォルトの名無しさん
2009/08/06(木) 12:16:45PRE要素使えよ。
0733デフォルトの名無しさん
2009/08/06(木) 22:05:24宿題厨が沸かないのがいいな。
0734デフォルトの名無しさん
2009/08/06(木) 23:04:09>>732
>>732
0735デフォルトの名無しさん
2009/08/08(土) 20:59:59だだブログで記事を編集しなおしたら勝手に行頭スペースが詰められて焦ったことがある
0736デフォルトの名無しさん
2009/08/09(日) 05:22:510737デフォルトの名無しさん
2009/08/09(日) 12:03:110738デフォルトの名無しさん
2009/08/09(日) 12:47:14必要な情報だけ書けば問題ないだろ。
0739デフォルトの名無しさん
2009/08/09(日) 14:49:34どうしようもないんだけど、そういう場合にもPREって言うのか?と
0740デフォルトの名無しさん
2009/08/09(日) 18:10:000741デフォルトの名無しさん
2009/09/19(土) 00:23:27ヒット
0742デフォルトの名無しさん
2009/10/17(土) 15:54:55http://coreblog.org/ats/translation-of-why-explicit-self-has-to-stay
foo = C()
のとき、
foo.meth(arg) == C.meth(foo, arg)
である。
0743デフォルトの名無しさん
2009/12/19(土) 12:07:220744デフォルトの名無しさん
2010/04/07(水) 09:07:590745デフォルトの名無しさん
2010/04/08(木) 14:49:14> ただ、変に書きすぎると右にずれてきて見辛くなる
そんな初心者カスコードを書けないように抑制する仕様だから。
0746デフォルトの名無しさん
2010/04/08(木) 15:22:360747デフォルトの名無しさん
2010/04/08(木) 16:35:090748デフォルトの名無しさん
2010/04/09(金) 00:06:05処理自体が不自然だから見直せって意味だろ。
0749デフォルトの名無しさん
2010/04/09(金) 11:55:13文法にあわせるためにいじる必要のある Python の方。
IF の後ろにひとつしか文が書けなかった昔の BASIC でプログラムを
書くために条件をひっくりかえしたりしていたのと同じこと。
0750デフォルトの名無しさん
2010/04/09(金) 12:02:02ひっくり返しても正しく動くなら正しい処理だろ
0751デフォルトの名無しさん
2010/04/09(金) 20:42:52ばか?
0752デフォルトの名無しさん
2010/04/10(土) 05:58:150753デフォルトの名無しさん
2010/04/10(土) 14:05:30合ってる間違ってるの話じゃない。
それに、pythonに限らずほとんどのメジャーな言語ではネストが深くなると分かり辛くなる。
0754デフォルトの名無しさん
2010/04/10(土) 14:14:57ブロック外の多くの変数を参照せざるを
得ないコード。
関数化したら引数の設定に一苦労。
0755デフォルトの名無しさん
2010/04/10(土) 14:15:46馬鹿なの?
死ぬの?
0756デフォルトの名無しさん
2010/04/10(土) 14:52:52正常系をネストするか、逆転してエラーに落としていくか。
そういうことじゃないかと
0757デフォルトの名無しさん
2010/04/10(土) 17:34:24ハンガリアンとかも狂気の沙汰だし
0758デフォルトの名無しさん
2010/04/10(土) 18:34:03classの他にも、ブロック内に関数作る方法もある。
0759デフォルトの名無しさん
2010/04/10(土) 19:22:05正しい設計だとどうなるの?
0760デフォルトの名無しさん
2010/04/10(土) 21:25:04正しい設計を求め続けて、しかし商品としては売れない。
0761デフォルトの名無しさん
2010/04/10(土) 22:34:180762デフォルトの名無しさん
2010/04/11(日) 00:12:01fork, open, creat, brkみたいな最低限なシステムコールしか作らない。
システムコールだけではウィンドウ作ったりはサポートしない。
その結果、サーバクライアントモデルを採用した複雑奇っ怪なウィンドウシステムが出来上がり、
Win32APIでGUIアプリ作るよりもずっと悲惨な事になる
0763デフォルトの名無しさん
2010/04/11(日) 14:12:14python 使ったことが無い人はそう言うね
だけど python 使ってる人はそんなことは言わない
なぜだかわかるね?
0764デフォルトの名無しさん
2010/04/11(日) 14:45:010765デフォルトの名無しさん
2010/04/11(日) 18:11:20うーん、宗教だからか?
入信者が学習すべき教義の文献は多いみたいだしね。
0766デフォルトの名無しさん
2010/04/11(日) 21:28:19信者多すぎ
0767デフォルトの名無しさん
2010/04/11(日) 21:46:39もともとインデント教とブレース教両方の信者だったのなら、Pythonに移行するときに新しい宗教に入信する必要はない。
0768デフォルトの名無しさん
2010/04/11(日) 22:13:420769デフォルトの名無しさん
2010/04/11(日) 22:21:260770デフォルトの名無しさん
2010/04/13(火) 20:28:050771デフォルトの名無しさん
2010/04/13(火) 23:22:19っていつも思う
0772デフォルトの名無しさん
2010/04/14(水) 10:13:250773デフォルトの名無しさん
2010/04/25(日) 23:42:25debug 中にインデントのレベルを変えて実行してまた戻すとかするのは珍しくない
ちょっとその辺は煩わしいと思うけどPythonメインに使ってる人は
その辺は気にならないって感じなのかな
0774デフォルトの名無しさん
2010/04/25(日) 23:51:58初めて聞いた
0775デフォルトの名無しさん
2010/04/25(日) 23:54:06デバグや実験目的で一時的なコードを挟んだり除去したりするときには
インデントとかどうでもいいので、整えるのがうざいということだろう
0776デフォルトの名無しさん
2010/04/25(日) 23:58:120777デフォルトの名無しさん
2010/04/26(月) 07:27:140778デフォルトの名無しさん
2010/04/26(月) 09:41:28コード
でいいじゃん同じレベルは同じインデントが必要なだけで
レベルが違ったらインデント深すぎな分には大丈夫だよ
ハードタブはソフトタブx4でカウントされてるみたいだけど
0779デフォルトの名無しさん
2010/04/26(月) 09:56:530780デフォルトの名無しさん
2010/04/26(月) 12:54:448だよ
0781デフォルトの名無しさん
2010/04/26(月) 13:04:56ハードタブを計るのはふつー空白の個数だと思うけど。
0782デフォルトの名無しさん
2010/04/26(月) 21:46:02debug 中にテストするの一々新しい関数作れっていうのはもっとウザいな
0783デフォルトの名無しさん
2010/09/11(土) 16:09:37食わず嫌い
0784デフォルトの名無しさん
2010/10/10(日) 11:52:42python使ってる。
じゃなきゃ使わない。
0785デフォルトの名無しさん
2010/10/10(日) 13:17:08主に++, --, ?:, *, &などだが、{ }もその中に含まれていた。
begin endじゃまずいのかと…
0786デフォルトの名無しさん
2010/10/10(日) 14:19:170787デフォルトの名無しさん
2010/10/10(日) 14:22:050788デフォルトの名無しさん
2010/10/10(日) 14:24:27慣習から色々言われるんだけど、最終的には割とどうでもいい
0789デフォルトの名無しさん
2010/10/10(日) 20:43:23やっぱり、if-elseや、for/whileとかで、ブロックが長くなると、構造が把握しづらい。
そうならないように書くのが理想だけど、仕事のプログラムとかになるとやっぱり
そうもいかないってところも散見されるわけで。
あとからソースを整理、なんてときに、インデント間違って、エンバグしちゃうとか
ってしばしばあるw
0790デフォルトの名無しさん
2010/10/10(日) 20:54:110791デフォルトの名無しさん
2010/10/13(水) 00:00:48>ってしばしばあるw
引退しろ
同じプロジェクトに居たら首にする
0792デフォルトの名無しさん
2010/10/13(水) 09:02:09それくらいのミスでクビにしてたら、
すぐに誰もいなくなる。w
自分もちゃんとクビにするようにな。
0793デフォルトの名無しさん
2010/11/01(月) 14:42:58yukihiro_matz: 英語圏でRubyとPythonを比較する記事を見ることが少なくなってきた
のは、RubyとPythonでクラスタが分離してきたからか。逆に日本語でRubyとPythonを
比較 する記事を見かけるのは国内でのPythonの地位が向上したからか。
∩_
〈〈〈 ヽ
____ 〈⊃ }
/⌒ ⌒\ | |
/( ●) (●)\ ! !
/ :::::⌒(__人__)⌒:::::\| l
| |r┬-| | / <こいつ最高にアホだお
\ ` ー'´ //
/ __ /
(___) /
0794デフォルトの名無しさん
2010/11/01(月) 15:08:54∩_
〈〈〈 ヽ
____ 〈⊃ }
/⌒ ⌒\ | |
/( ●) (●)\ ! !
/ :::::⌒(__人__)⌒:::::\| l
| |r┬-| | / <こいつ最高にアホだお
\ ` ー'´ //
/ __ /
(___) /
0795デフォルトの名無しさん
2010/11/11(木) 21:26:31やってみたらSyntax Errorになった
0796デフォルトの名無しさん
2010/11/12(金) 01:24:45こうしたら動いたお!
result = []
indent = 0
for c in """
for i in range(10): {
if data[i]==3:
break
}else: {
print "NOT FOUND"
}
""":
if c == '\n':
continue
elif c == '{':
indent += 1
result.append('\n' + '\t' * indent)
elif c == '}':
indent -= 1
result.append('\n' + '\t' * indent)
else:
result.append(c)
exec(''.join(result))
0797デフォルトの名無しさん
2010/11/12(金) 20:03:280798デフォルトの名無しさん
2011/01/24(月) 09:08:14> for a in b:
> while a < 100:
> print '''なんとかかんとか
> ああだこうだ
> どうしたこうした
> '''
> このインデントの掻痒感はどうにかならないの?
こんな話題があったよオだが
0799デフォルトの名無しさん
2011/01/24(月) 22:16:57その部分だけインデントが崩れるから、下記のように書きたいってことだろ?
俺も同じ理由でトリプルクォートは使わずに、文字列を1行ずつリストに入れて"\n".join(ls)してる
> for a in b:
> while a < 100:
> print '''なんとかかんとか
> ああだこうだ
> どうしたこうした
> '''
0800デフォルトの名無しさん
2011/01/24(月) 22:26:170801デフォルトの名無しさん
2011/01/25(火) 23:36:55ただ、それだけのために1こ関数書くのもなんだかなあって思うから
リストにしてjoinするって形のがよく使うかな
0802デフォルトの名無しさん
2011/01/26(水) 06:53:11必要なスペースとそうじゃないスペースの区別はどうやって?
0803デフォルトの名無しさん
2011/01/26(水) 10:08:17u'''なんとかかんとか
ああだこうだ
どうしたこうした
''')
0804デフォルトの名無しさん
2011/01/26(水) 11:47:53'', """|
|そんなもの
| どうとでも
| """)
0805デフォルトの名無しさん
2011/01/26(水) 16:25:34while a < 100:
print('''なんとかかんとか\n'''
'''ああだこうだ\n'''
'''どうしたこうした\n''')
0806デフォルトの名無しさん
2011/01/26(水) 18:03:28while a < 100:
print 'なんとかかんとか'
print 'ああだこうだ'
print 'どうしたこうした'
てかソースを綺麗に見せるためにreモジュールを使うなんて愚の骨頂
うとぅくすぃソースのためにパホーマンスを犠牲にしてんじゃねぇよw
0807デフォルトの名無しさん
2011/01/26(水) 18:04:41やっちまったなw
こういうことになるからインデントに反対 ならちょっと納得
0808デフォルトの名無しさん
2011/01/26(水) 18:05:420809デフォルトの名無しさん
2011/01/26(水) 18:10:48みんな、気を遣って全角スペースを入れていたのに…
0810デフォルトの名無しさん
2011/01/26(水) 18:11:39エレガントな書き方だとは思えない
>>798がpythonに特有の問題みたいになってるけど
どの言語で書いても暗黙的にインデントを使うわけだから
大概そうなるわな
0811デフォルトの名無しさん
2011/01/26(水) 18:15:270812デフォルトの名無しさん
2011/01/26(水) 19:35:00あなたが使っている表示用ソフトウェアの仕様の問題だ。
0813デフォルトの名無しさん
2011/01/26(水) 19:47:26それは知らんかった
ところでちゃんと に置き換わってるレスもあるけどどういう仕組み?
0814デフォルトの名無しさん
2011/01/26(水) 19:55:38foo
0815デフォルトの名無しさん
2011/01/26(水) 20:06:520816デフォルトの名無しさん
2011/01/26(水) 20:08:53↑使えたんだこれ
ねらー歴10年目の衝撃
0817デフォルトの名無しさん
2011/01/26(水) 21:07:25このへんは板の設定による。
0818デフォルトの名無しさん
2011/01/26(水) 22:39:29|そんなもの
| どうとでも
| '''.replace('^\s*\|', '')
0819デフォルトの名無しさん
2011/01/26(水) 22:57:030820デフォルトの名無しさん
2011/01/27(木) 00:35:16Cで書かれたオープンソースのコードを読んでみると
printfをゴリゴリ書き連ねてるのが割と多いよ
オレはこの書き方が一番読みやすいと思う。ソースと実際の
表示が視覚的に同じようになるから↓
>>804あたりのはネタとしても実際にどんな表示になるのか
わかりにくいのがよろしゅくない
print "ドラえもん"
print " ・2112年9月3日生まれ"
print " ・ドラ焼きが好き"
0821デフォルトの名無しさん
2011/01/27(木) 00:37:54print " ・2112年9月3日生まれ"
print " ・ドラ焼きが好き"
0822デフォルトの名無しさん
2011/01/27(木) 01:40:26ここを見ると、2ちゃんねるの悪い面が凝縮していて
気分が悪くなってくるよ・・・
前はたまに見てたけど、今はこのスレ見るのやめたよ。
0823デフォルトの名無しさん
2011/01/27(木) 02:15:00> 394 :名無しがお伝えします:2011/01/26(水) 22:36:40 ID:1RQz8hyq0
> ラウンジなんて無い方がいいと思うんだけどね。
> あそこを見ると、2ちゃんねるの悪い面が凝縮していて
> 気分が悪くなってくるよ・・・
> 前はたまに見てたけど、今はあのスレ見るのやめたよ。
0824デフォルトの名無しさん
2011/01/27(木) 03:43:320825デフォルトの名無しさん
2011/01/27(木) 06:58:16インデントのためだけに print たくさん書く奴は DRY とか知らんのか。
0826デフォルトの名無しさん
2011/01/27(木) 07:05:260827デフォルトの名無しさん
2011/01/27(木) 11:18:00printを書き連ねるのがDRYに反するという主張なら
嘲笑を超えて爆笑だなwww
0828デフォルトの名無しさん
2011/01/27(木) 11:23:05頭の悪い奴って覚え立ての言葉を盾にする傾向があるよね
0829デフォルトの名無しさん
2011/01/27(木) 13:50:38やたらとprintを書き連ねる層はほぼ一致する
0830829
2011/01/27(木) 13:56:590831デフォルトの名無しさん
2011/01/27(木) 13:58:14〈〈〈 ヽ
____ 〈⊃ }
/⌒ ⌒\ | |
/( ●) (●)\ ! !
/ :::::⌒(__人__)⌒:::::\| l
| |r┬-| | / <こいつ最高にアホだお
\ ` ー'´ //
/ __ /
(___) /
0832デフォルトの名無しさん
2011/01/27(木) 14:01:170833デフォルトの名無しさん
2011/01/27(木) 14:05:340834デフォルトの名無しさん
2011/01/27(木) 14:06:54>あってじゃねーよ
>あってじゃねーよ
>あってじゃねーよ
>あってじゃねーよ
www
0835デフォルトの名無しさん
2011/01/27(木) 14:07:16琴線に触れたの?
0836デフォルトの名無しさん
2011/01/27(木) 14:08:53ならその誤字レスをageればぁ?w
0837デフォルトの名無しさん
2011/01/27(木) 14:09:19そっちでやってね。
0838デフォルトの名無しさん
2011/01/27(木) 14:10:010839デフォルトの名無しさん
2011/01/27(木) 14:10:53なにこれ?
キーボードからnのキーが外れたの?
0840デフォルトの名無しさん
2011/01/27(木) 14:16:00print("abc\n"
"def\n"
"ghi\n")
の方がよくないかと思ったが、
既に出てたな。
0841デフォルトの名無しさん
2011/01/27(木) 14:34:3136 print colorize('first line', fg='red', opts=('noreset',))
37 print 'this should be red too'
38 print colorize('and so should this')
39 print 'this should not be red'
./django/contrib/gis/utils/ogrinfo.py
25 print "data source : %s" % data_source.name
26 print "==== layer %s" % i
27 print " shape type: %s" % GEO_CLASSES[layer.geom_type.num].__name__
28 print " # features: %s" % len(layer)
29 print " srs: %s" % layer.srs
./django/core/servers/fastcgi.py
106 print >> sys.stderr, " Unable to load the flup package. In order to run django"
107 print >> sys.stderr, " as a FastCGI application, you will need to get flup from"
108 print >> sys.stderr, " http://www.saddi.com/software/flup/ If you've already"
109 print >> sys.stderr, " installed flup, then make sure you have it in your PYTHONPATH."
reを使う奴は正規表現を覚えたての初心者だろw
どうしてもprint1個ですませたいなら変数を使って文字列を連結して
最後にprintすればよろし
0842デフォルトの名無しさん
2011/01/27(木) 20:49:51print u"""
111
222
333
"""[1:]
とか。
0843デフォルトの名無しさん
2011/01/28(金) 18:22:15せめてモジュールグローバル変数で定義しとけ。
ソース中に直値で埋め込んだりするから、そういう姑息な手が要るんだYO!
BLAME_MESSAGE="""アホ
こうやってグローバルで書けば
インデント気にせずに済むだろが"""
class Trash:
def say():
print BLAME_MESSAGE
0844デフォルトの名無しさん
2011/01/28(金) 20:03:460845デフォルトの名無しさん
2011/01/29(土) 09:05:06MESSAGE = ["おはよう",
"こんにちは",
"こんばんは"]
for i in MESSAGE:
print i
0846デフォルトの名無しさん
2011/01/29(土) 15:58:30せめて、こうしろ。
MESSAGE = '\n'.join([
"こうすりゃ",
"joinは一度だけしか",
"評価しなくてすむ"])
if you.dontUnderstand(this.way):
print MESSAGE
0847デフォルトの名無しさん
2011/01/29(土) 21:13:350848デフォルトの名無しさん
2011/01/29(土) 21:15:21神扱いしてるひとってなんなの?
0849デフォルトの名無しさん
2011/01/29(土) 22:13:02神扱いしてる人は、見たことないが、いたら俺もなんなの?って思うだろうなぁ。
けれど、あれは、書かない方が不自然だよ。 そしてこのスレはインデントのスレだからスレ違いだよ。
0850デフォルトの名無しさん
2011/01/29(土) 22:19:07メソッド内でインスタンス変数を使うときにself.付けてるうちに
ソースがself.だらけになって気持ち悪くなることがある
インスタンス変数にしなくてよい変数にまでself.付けてしまったり
特にGUIのフレームワーク使ってるときにその症状が出る傾向が強い
0851デフォルトの名無しさん
2011/01/29(土) 22:45:48これ書き込んだすぐに、思いついたんだが、
こういう最適化っていちいち気にしながら
みんな書いてるの?
とりあえず、ざっとつくって必要そうなとこだけC言語で作り直すんだが。
パフォーマンスとか気にするなら最初からC言語で書くな。
0852デフォルトの名無しさん
2011/01/29(土) 22:46:24おかげでメソッドと関数を相互変換できる。
0853デフォルトの名無しさん
2011/01/30(日) 00:45:02そうすることでコンマ何ミリ秒遅くなるとか、そういうことは考えてないし、何度も呼び出される処理でもない限り、考えるのは不毛だと思う。
パフォーマンスの低下ってより、明らかに無駄なものがコード中に転がってたら気持ち悪いから排除したいだけ。
0854デフォルトの名無しさん
2011/01/30(日) 00:54:49よほどデータが多くなければ,()を使うタプルより[]を使うリストをよく使う
同じ理由でジェネレータ式よりリストの内包表記
0855デフォルトの名無しさん
2011/01/30(日) 01:38:17self明示しない言語の方が手間がかからない分、
無駄にインスタンス変数作ってしまいがちのような気がするんだが
0856デフォルトの名無しさん
2011/01/30(日) 02:05:140857デフォルトの名無しさん
2011/01/30(日) 09:23:340858デフォルトの名無しさん
2011/01/30(日) 15:12:02コマンドラインだけで簡単な処理を行いたい場合ってどうするわけ?
0859デフォルトの名無しさん
2011/01/30(日) 16:02:53出来る
http://wiki.python.org/moin/Powerful%20Python%20One-Liners
0860デフォルトの名無しさん
2011/01/30(日) 21:58:32execとエスケープシーケンスがある限り、Pythonでできることは全部、一行でもできるが。
0861デフォルトの名無しさん
2011/01/31(月) 20:48:20今さらかもしれないけど、inspect.cleandoc()使えば楽だよね、これ
>>> from inspect import cleandoc
>>> cleandoc("""abc
... def
... ghi
... """)
'abc\ndef\nghi'
先頭行もインデントするならtextwrap.dedent()も使える
(こっちは先頭と末尾の改行を保持する)
>>> dedent("""
... abc
... def
... ghi
... """)
'\nabc\ndef\nghi\n'
0862デフォルトの名無しさん
2011/01/31(月) 22:32:070863デフォルトの名無しさん
2011/02/05(土) 14:00:550864デフォルトの名無しさん
2011/02/05(土) 18:40:090865デフォルトの名無しさん
2011/02/07(月) 05:11:22数箇所くらいじゃimportしてまで使う気にならないので、あんまり使う機会はないけど
インデントが気になっても、ほとんどの場合>>840か>>843で間に合う
0866デフォルトの名無しさん
2011/04/30(土) 16:59:13.080867デフォルトの名無しさん
2011/05/02(月) 16:03:00.410868デフォルトの名無しさん
2011/05/02(月) 19:13:05.070869デフォルトの名無しさん
2011/05/03(火) 04:19:33.630870デフォルトの名無しさん
2011/05/03(火) 05:02:35.25そんなのエディタの工夫でどうにでもなる。
emacsのpython-mode楽だぞ。
0871デフォルトの名無しさん
2011/05/03(火) 09:35:03.360872デフォルトの名無しさん
2011/05/06(金) 00:18:45.64Pythonの場合、どうすればいいの? vim使うのやめるとかそういうのなしで。
0873デフォルトの名無しさん
2011/06/03(金) 08:35:53.980874デフォルトの名無しさん
2011/06/20(月) 01:52:18.19・ワンライナーと相性が悪い
・ウェブページのテンプレートライブラリと相性が悪い
・プログラムサイズの圧縮ツールと相性が悪い
・プログラムの難読化ツールと相性が悪い
・プログラムの自動整形ツールを頼る事が出来ない
・老眼と相性が悪い
0875デフォルトの名無しさん
2011/06/20(月) 01:58:00.89・後から大外にブロックを追加するのが面倒
・エディタを選ぶ
0876デフォルトの名無しさん
2011/06/20(月) 16:59:35.33・BNF 用のパーサーが利用できない
0877デフォルトの名無しさん
2011/06/21(火) 21:19:53.17・言語利用者の頭も悪い
実際PythonってOOP理解できない低能の逃げ道に使われてるんだよな
おまえらの書いたゴミと一緒に氏んでくれって思うわ
0878デフォルトの名無しさん
2011/06/21(火) 21:44:21.38これ困るのって限られるだろw
0879デフォルトの名無しさん
2011/06/21(火) 22:44:18.15Rubyなんとかと違ってむしろモジュール化とかクラス化とか後からリファクタリングし易い言語なんだぜ
0880デフォルトの名無しさん
2011/06/21(火) 23:06:17.74世の中もっと沢山言語があるのに...
0881デフォルトの名無しさん
2011/06/21(火) 23:10:13.14世の中もっと沢山言語があるのに...
0882デフォルトの名無しさん
2011/06/21(火) 23:13:12.24皮肉は筋が通ってないと意味無いんだぜ
0883デフォルトの名無しさん
2011/06/21(火) 23:18:58.33バカに、バカでも使えるものが作れるとは思えないし、
スレタイも読めない奴に、人がバカか否か見抜けるとは思えない。
0884デフォルトの名無しさん
2011/06/21(火) 23:21:10.400885883
2011/06/21(火) 23:25:34.11もし、僕のことを言いたいのであれば。
「頭が悪い」と「低能」を使い分ける意義が分からなかったし、めんどくさいので「バカ」に統一しただけだよ。
言葉尻だけ捉えてどうこう言うようなバカにはなりたくないものだ。
0886デフォルトの名無しさん
2011/06/21(火) 23:28:34.440887デフォルトの名無しさん
2011/06/21(火) 23:30:23.650888デフォルトの名無しさん
2011/06/21(火) 23:30:48.010889デフォルトの名無しさん
2011/06/21(火) 23:34:02.210890デフォルトの名無しさん
2011/06/22(水) 02:37:41.340891デフォルトの名無しさん
2011/06/22(水) 06:31:37.810892デフォルトの名無しさん
2011/06/22(水) 08:50:28.69そしてそういう馬鹿ほど >>887 みたいに思ってるが、実際のところ馬鹿だ。
0893デフォルトの名無しさん
2011/06/22(水) 09:17:42.450894デフォルトの名無しさん
2011/06/22(水) 20:57:05.20しかも直接的な言葉を使った罵倒は、大人になると自分へのダメージの方が大きい
0895uy ◆KOAgYBL/Xg
2011/06/23(木) 03:06:54.280896デフォルトの名無しさん
2011/06/23(木) 05:12:06.760897デフォルトの名無しさん
2011/06/23(木) 19:41:14.760898デフォルトの名無しさん
2011/06/23(木) 20:31:52.650899デフォルトの名無しさん
2011/06/23(木) 21:26:33.120900デフォルトの名無しさん
2011/06/23(木) 21:34:49.780901デフォルトの名無しさん
2011/06/23(木) 21:39:36.160902デフォルトの名無しさん
2011/06/23(木) 22:11:25.730903900
2011/06/23(木) 22:32:13.450904デフォルトの名無しさん
2011/06/23(木) 22:49:52.46みんな全画面表示で書いてるの?
0905デフォルトの名無しさん
2011/06/23(木) 23:17:16.410906デフォルトの名無しさん
2011/06/23(木) 23:51:15.740907デフォルトの名無しさん
2011/06/24(金) 02:47:43.49適切に処理を分けて、モジュールを分けて、としてれば
たまーにしか出てこないと思うんだが
0908デフォルトの名無しさん
2011/06/24(金) 21:56:02.48と
print("スライムがなかまにはいりたそうに\
こちらをみているけどどうするよ...")
と
msg0 = "スライムがなかまにはいりたそうにこちらをみているけどどうするよ..."
print(msg0)
のどれが良いですか?
0909デフォルトの名無しさん
2011/06/24(金) 22:26:22.69スライムがなかまにはいりたそうに
こちらをみているけどどうするよ...
'''.replace('\n', ''))
0910デフォルトの名無しさん
2011/06/24(金) 23:04:00.69______スライムがなかまにはいりたそうに
______こちらをみているけどどうするよ...
______'''.replace('\n', ''))
のようにすることは出来ますか?
0911デフォルトの名無しさん
2011/06/24(金) 23:15:03.72"こちらをみているけどどうするよ...")
0912デフォルトの名無しさん
2011/06/25(土) 01:49:01.690913デフォルトの名無しさん
2011/06/25(土) 07:49:02.740914デフォルトの名無しさん
2011/06/25(土) 11:54:21.430915デフォルトの名無しさん
2011/06/25(土) 13:02:53.13それをインデックスで参照するようにすればいいのかな?
0916デフォルトの名無しさん
2011/06/25(土) 15:28:48.390917デフォルトの名無しさん
2011/06/25(土) 16:00:35.85>>874-876
0918デフォルトの名無しさん
2011/06/25(土) 19:10:32.62一番下
0919デフォルトの名無しさん
2011/06/25(土) 20:20:04.47シフトキーを押すの面倒じゃないのかな
0920デフォルトの名無しさん
2011/06/26(日) 00:51:43.310921デフォルトの名無しさん
2011/06/26(日) 01:37:27.640922デフォルトの名無しさん
2011/06/26(日) 01:41:53.490923デフォルトの名無しさん
2011/06/26(日) 01:41:55.770924デフォルトの名無しさん
2011/06/26(日) 01:55:55.790925デフォルトの名無しさん
2011/06/26(日) 02:05:11.670926デフォルトの名無しさん
2011/06/26(日) 02:50:18.71else: print 'false'
みたいに書くときもコロン無しを許可したらインデントと混在出来なくなったってことじゃないのかな
0927デフォルトの名無しさん
2011/06/26(日) 08:04:25.680928デフォルトの名無しさん
2011/06/26(日) 09:14:11.25print 'true' if a == b else 'false'
0929デフォルトの名無しさん
2011/06/26(日) 11:45:07.500930デフォルトの名無しさん
2011/06/26(日) 14:28:42.20つまりコロンなんて無くても良かったって事か
0931デフォルトの名無しさん
2011/06/26(日) 14:40:43.09結論を先に書くのは英語っぽいけど
0932デフォルトの名無しさん
2011/06/26(日) 21:10:04.10print a == b
で良くね?
0933デフォルトの名無しさん
2011/06/28(火) 19:02:22.20b = 1
if a == b:
print("フラグが勃った")
else:
print("バッドエンド")
print("フラグが勃った") if a == b else print("バッドエンド")
print(a == b)
↑これだといつまで経っても「フラグが勃った」と表示されないよ。
0934デフォルトの名無しさん
2011/06/28(火) 21:59:56.610935デフォルトの名無しさん
2011/06/29(水) 18:07:50.51e
s
t
0936デフォルトの名無しさん
2011/06/29(水) 20:46:49.290937デフォルトの名無しさん
2011/06/30(木) 05:46:11.470938デフォルトの名無しさん
2011/06/30(木) 06:05:36.010939デフォルトの名無しさん
2011/06/30(木) 06:07:30.380940デフォルトの名無しさん
2011/06/30(木) 17:35:26.750941デフォルトの名無しさん
2011/06/30(木) 18:31:01.700942デフォルトの名無しさん
2011/06/30(木) 20:25:17.580943デフォルトの名無しさん
2011/06/30(木) 22:05:34.560944デフォルトの名無しさん
2011/07/01(金) 00:54:20.320945デフォルトの名無しさん
2011/07/01(金) 01:09:59.800946デフォルトの名無しさん
2011/07/01(金) 09:57:28.930947デフォルトの名無しさん
2011/07/01(金) 12:31:19.28きのこスレとか再利用すればいいよ
0948デフォルトの名無しさん
2011/07/01(金) 12:35:21.020949デフォルトの名無しさん
2011/07/01(金) 19:08:28.460950デフォルトの名無しさん
2011/07/01(金) 19:17:52.28多分長すぎで無理。
【Python】オフサイドルール【Haskell】
ぐらいでいいんじゃね?
0951デフォルトの名無しさん
2011/07/01(金) 21:08:16.15このまえ全員の忍法帖焼かれたでよ
継続スレだとわかるようにする方が良いと思います。
【Python】オフサイドルール Part2【Haskell】
オフサイドルール(字下げによってブロックを示す規則)について議論するスレです。
http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%95%E3%82%B5%E3%82%A4%E3%83%89%E3%83%AB%E3%83%BC%E3%83%AB
前スレ
Pythonに見られるインデントによる制御構造の是非
http://hibari.2ch.net/test/read.cgi/tech/1169473442/
>>951
●持ちならテストスレでLv=10にレベルアップするのに30分しかかかりません。
0953デフォルトの名無しさん
2011/07/02(土) 04:01:36.53普通に毎日カキコしてたらこのくらいにはなってるよ
0956デフォルトの名無しさん
2011/07/02(土) 13:18:38.52【Python】オフサイドルール 2桁【Haskell】
のが短くて良くね?
0957デフォルトの名無しさん
2011/07/02(土) 17:22:42.85Occam なんだが……
Occam は Python とちがって、文の途中でも演算子などのあとで改行していいし、
ここでしょっちゅう話題になっている複数行にわたる文字列もインデント可能。
オフサイドルールに関しては Python よりよく考えられていると思う。
0958デフォルトの名無しさん
2011/07/02(土) 20:40:23.13このスレではじめて知ったものですから。
0959デフォルトの名無しさん
2011/07/02(土) 20:44:21.64自分で調べる事が出来る内容ですから。
0960デフォルトの名無しさん
2011/07/02(土) 21:03:31.050961天使 ◆uL5esZLBSE
2011/07/03(日) 05:34:28.76Rubyだとつけなくてよくなるんだけど
土方が何をいっても
0962デフォルトの名無しさん
2011/07/03(日) 07:01:10.950963デフォルトの名無しさん
2011/07/03(日) 08:18:55.87しかし、ここではPythonやHaskellのが有名だからスレタイとしては入れにくい
別に、PythonやHaskellに限ったスレじゃないから、一言入れればその言語の話をしたっていいのよ
0964デフォルトの名無しさん
2011/07/03(日) 15:22:55.540965デフォルトの名無しさん
2011/07/05(火) 18:29:04.600966デフォルトの名無しさん
2011/07/05(火) 20:41:34.21Haskell はインデントに縛られている訳じゃないから
0967デフォルトの名無しさん
2011/07/08(金) 12:34:27.300968デフォルトの名無しさん
2011/07/10(日) 20:00:19.390969デフォルトの名無しさん
2011/07/11(月) 01:10:10.070971デフォルトの名無しさん
2011/07/11(月) 06:46:10.12他の人からすればどうでも良いこと
0972デフォルトの名無しさん
2011/07/12(火) 20:15:29.460973デフォルトの名無しさん
2011/07/13(水) 00:24:05.140974デフォルトの名無しさん
2011/07/13(水) 19:32:29.170975デフォルトの名無しさん
2011/07/13(水) 21:14:37.220976デフォルトの名無しさん
2011/07/13(水) 23:04:34.810977デフォルトの名無しさん
2011/07/14(木) 05:25:27.640978デフォルトの名無しさん
2011/07/14(木) 09:39:16.110979デフォルトの名無しさん
2011/07/14(木) 09:40:02.430980デフォルトの名無しさん
2011/07/14(木) 09:40:44.610981デフォルトの名無しさん
2011/07/14(木) 09:43:20.710982デフォルトの名無しさん
2011/07/14(木) 11:32:33.770983デフォルトの名無しさん
2011/07/14(木) 14:46:20.960984デフォルトの名無しさん
2011/07/14(木) 15:51:32.540985デフォルトの名無しさん
2011/07/14(木) 16:38:02.490986デフォルトの名無しさん
2011/07/14(木) 18:24:06.510987デフォルトの名無しさん
2011/07/14(木) 19:02:14.87【Python】オフサイドルール 2桁【Haskell】
で異議ありませんか?
0988デフォルトの名無しさん
2011/07/14(木) 19:05:37.180989デフォルトの名無しさん
2011/07/14(木) 20:38:41.870990デフォルトの名無しさん
2011/07/14(木) 22:23:59.670991デフォルトの名無しさん
2011/07/14(木) 22:27:52.180992デフォルトの名無しさん
2011/07/14(木) 22:46:10.97この問題って Python 特有なんでしょ?
0993デフォルトの名無しさん
2011/07/14(木) 22:49:31.580994デフォルトの名無しさん
2011/07/14(木) 23:42:35.69http://hibari.2ch.net/test/read.cgi/tech/1310654456/
0995デフォルトの名無しさん
2011/07/15(金) 08:49:55.66実際使ってみると気にならないレベルだとわかる
いらんと言う香具師は素人
0996デフォルトの名無しさん
2011/07/15(金) 08:50:31.990997デフォルトの名無しさん
2011/07/15(金) 08:50:55.580999デフォルトの名無しさん
2011/07/15(金) 09:43:56.591000デフォルトの名無しさん
2011/07/15(金) 09:45:20.13http://hibari.2ch.net/test/read.cgi/tech/1310654456/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。