くだすれPython(超初心者用) その40

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/11/22(木) 17:09:34.92ID:JDIt5Mgb
★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答を書くことも禁ず

このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line/OS)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その39
http://mevius.5ch.net/test/read.cgi/tech/1535064635/

◆PythonのHome Page
http://www.python.org/

◆まとめwiki
ttp://python.rdy.jp/

◆ソースコードをそのまま5ちゃんにコピペするとインデントが崩れるので
  こういうところ↓にはってきてください
ttp://ideone.com/      Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−
2019/01/29(火) 01:30:29.10ID:jN/W8QCa
>>870
死ねRupyキチガイ
2019/01/29(火) 01:37:21.84ID:jN/W8QCa
Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察
https://postd.cc/sick-of-ruby-dynamic-typing-side-effects-object-oriented-programming/

古い記事の翻訳だが今読んでもよくまとまってる
2019/01/29(火) 01:52:16.45ID:jN/W8QCa
rugyはクソ言語なので、
表記上ローカル変数の参照とメソッド呼び出しの区別が付きません。
区別するためにはコードの上に向かって(ローカル変数の)初期化があるかを探さなければならない。

次のようなコードがある時、barがローカル変数の参照なのかメソッド呼び出しなのかを知るために、引数にbarがあるか(あればbarは引数のbar)、コードXの部分に bar = の行があるかを調べる必要があります。

def foo(引数)
...コードX...
p bar
end

p bar、この一行だけではbarが変数だかメソッドだか『読み解けない』クソ言語ruqywwwww
可読性()wwwww
2019/01/29(火) 01:59:57.56ID:jN/W8QCa
10/3
=> 3
require "mathn"
=> true
10/3
=> (10/3)

wwwww

Rudy: それはstdlibに搭載されているモジュールをrequireすると、整数割り算の動き方に影響を与えてしまうクソ言語www

10/3、この一行すら結果がどっちになるのか『読み解けない』クソ言語rumywwwww
モンキーバッチが伝統のクソ言語だからしょうがないねwww

可読性()wwwww
2019/01/29(火) 02:18:19.52ID:jN/W8QCa
Rubxは最も一般的な方法で定義した関数(関数じゃないw)が値として取り回せない(第一級関数でない)クソ言語wwwww
def add(a, b)
a + b
end
def opTwo(a, b, func)
func(a, b)
end
p opTwo(1, 2, add)
=> Line 9:in `add': wrong number of arguments (0 for 2) (ArgumentError)
from t.rb:9
プギャーm9(^Д^ )

ちなみにPython:
def add(a, b):
return a + b

def opTwo(a, b, func):
return func(a, b)

print(opTwo(1, 2, add))
=> 3

ちなみにJavascript:
function add(a, b) {
return a + b;
}
function opTwo(a, b, func) {
return func(a, b);
}
console.log(opTwo(1, 2, add))
=> 3
2019/01/29(火) 02:29:20.56ID:jN/W8QCa
>>528
可読性の高い()w Rvbyの特徴。
・前後の文脈を見ないとその部分単体ではローカル変数とメソッド呼び出しの見分けがつかない書き方ができ、しかもその書き方(メソッド呼び出しに()付けない)のほうが主流
・reduce/inject、map/collectのように同じことするメソッドの単なる別名と、Array#delete_if/Array#reject!のようにほとんど同じなくせして削除失敗時だけ挙動が異なるみたいなべつものメソッドが入り乱れててカオス
・Procオブジェクト(手続きオブジェクト)を作る方法が多すぎ。しかも作り方で挙動が異なる。Rubyの書籍を書いた人でさえ頭を抱える始末
・簡単に「見せかける」ために省略記法を行き当たりばったりで導入しまくった副作用で、直感的な記述が逆にエラーとなることが多い(例: p {foo: 1, bar: 2}はエラーwブロックとして解釈されるため)

{foo: 1, bar: 2}で連想配列作れるよ!→ふむ。
メソッド 引数で呼び出せてカッコ要らないよ!→ほう。
p {foo: 1, bar: 2} →エラーw可読性()www
プギャーm9(^Д^ )
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況