Pythonのお勉強 Part71

■ このスレッドは過去ログ倉庫に格納されています
2023/09/20(水) 09:13:41.41ID:u6xixiUt0
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
※前スレ
Pythonのお勉強 Part70
https://mevius.5ch.net/test/read.cgi/tech/1677856680/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2023/11/28(火) 06:44:20.72ID:tbHgY5Ye0
>>785
ごめんなんでクソなの?
変数名とキー名を合わせることにも繋がるし可読性高まってよいと思ってた
2023/11/28(火) 07:17:14.41ID:khx6ZkglH
Javaは厳格すぎるしJavaScriptは緩すぎる
Pythonが一番バランスがいい
2023/11/28(火) 07:45:02.70ID:Qmk7LgpZ0
それsetを使うべきなのでは
789デフォルトの名無しさん (ワッチョイ c781-1+JT)
垢版 |
2023/11/28(火) 07:55:42.57ID:fKkgRK0i0
>>786
a = (1,2,3)
b = (1,2,3)
d = {a, b}

仮に、{a, b}がsetにならないならこういう事?
2023/11/28(火) 08:10:19.81ID:kRkdmaFgd
変数名とか関数名とか
動的に取得されたりすると
難読化で不具合出るんよな。。。
2023/11/28(火) 08:12:46.13ID:iKFapkLZ0
難読化するつもりがあるのなら
Pythonなんて真っ先に除外する対象じゃね?
792デフォルトの名無しさん (ワッチョイ 7f2a-xL6i)
垢版 |
2023/11/28(火) 08:16:25.22ID:VInsuioq0
>>786
え?
dic1 = {"a":"abc", "b":"bc", "c":"c"}
と、キーバリューの同じ場合があるのでなく、
dic1 = {"a":"a", "b":"b", "c":"c"}
と、常に同じという意味なの?
2023/11/28(火) 08:20:01.05ID:VgOmfrQ10
>>788
キーと変数名が同じで中の値自体は別
794デフォルトの名無しさん (アウアウウー Sa0b-6V65)
垢版 |
2023/11/28(火) 08:35:12.55ID:t7+ip2Xga
>>784 Rust には(dictではないが)あるよ
>>788 set とは用途が違うんだよ
795デフォルトの名無しさん (アウアウウー Sa0b-6V65)
垢版 |
2023/11/28(火) 08:37:37.91ID:t7+ip2Xga
>>792
そうじゃなくて
a = "abc"
b = "bc"
c = "c"
ってのがあるときに
dic1 = {"a":a, "b":b, "c":c}
は面倒だろ
dic1 = {a, b, c}
って描けるんだよ
2023/11/28(火) 08:42:59.96ID:Qmk7LgpZ0
確かに、keyと変数名が同じことはよくあるな
クラスのメンバ名と変数名もよく揃ってる
def __init__ (self, なんやら):
self.なんやら = なんやら
なんで同じこと3回も言うねん
797デフォルトの名無しさん (アウアウウー Sa0b-6V65)
垢版 |
2023/11/28(火) 09:26:56.20ID:t7+ip2Xga
def __init__ (self, **kwargs):
self.kwargs = kwargs
これでもまだ冗長に観える
2023/11/28(火) 11:52:54.06ID:rFxrbgTI0
それだとキーワード引数が複数個ある場合の使い方とアンパックして中の値を使いたいかの目的が多重化している
2023/11/28(火) 11:55:42.65ID:rFxrbgTI0
具体的にわかりやすく書いてくれたから容易に、思いつく。
2023/11/28(火) 12:01:56.55ID:Qmk7LgpZ0
print(f'なんやら={なんやら}')

print(f'なんやら=')
に省略可能なのと同じ規則で、
self.なんやら =
だけで終わると補完される

危険すぎる
801デフォルトの名無しさん (アウアウウー Sa0b-6V65)
垢版 |
2023/11/28(火) 20:50:42.09ID:HOP5xTToa
技術的選択というのは最終的には必ずトレードオフになるので
ある選択のプラス面だけしか見ない/考えない/認識できないやつは何やらせてもダメ
2023/11/28(火) 21:24:12.74ID:hiFSE4Z1M
欲しい理由が書くのが面倒とかって時点でな
803デフォルトの名無しさん (ワッチョイ 7f5d-AnfR)
垢版 |
2023/11/28(火) 21:27:35.30ID:1nBQ24fZ0
やはりmojoの時代来るか
2023/11/29(水) 04:15:28.77ID:MwCCIaBL0
プログラミング言語覚えるなんて必要な努力が知れてるでしょ。特にパラダイムが変わらない場合。
Pythonがある程度書けるようになったらプログラマー目指してるなら他の言語やったほうがいいし、そうでないなら機械学習みたいな明らかに別のドメイン知識の勉強が必要なものやるかした方がいいでしょ。
Pythonだけ極めてる人なんてほとんど居ないのでは。
2023/11/29(水) 06:25:40.88ID:n75oaT1ga
Pythonだけチョットデキルようになって
極めたつもりになってる人なら沢山いるね
806デフォルトの名無しさん (ワッチョイ 8701-4JCo)
垢版 |
2023/11/29(水) 06:28:25.87ID:rNDCOHEd0
O'REILLY本は何を読んでます?
2023/11/29(水) 10:37:01.51ID:CDmlmqgH0
>>760とかまさに
808デフォルトの名無しさん (ワッチョイ a675-w+dO)
垢版 |
2023/12/02(土) 10:07:20.71ID:ltiFkw6s0
macのpythonでpip installしたパッケージが
インポート出来ないのどうしたらいいの?

import pip
pip.main([“list”])

するとちゃんと一覧出てくるんだけど
じゃあそのパッケージimportってすると
ModuleNotFoundErrorになる
809デフォルトの名無しさん (ワッチョイ 6d46-MHAP)
垢版 |
2023/12/02(土) 11:13:47.87ID:6G8OKUYC0
うちのは Python 2、3両系入っていて、2系に誤インストールしたライブラリが3系で見つからず、よく大騒ぎする。
2023/12/02(土) 15:54:14.39ID:5vdThGAW0
>>805
そういう"誤解"は人間にはとても重要
必要もないのに変に実力を知らせたがるのが多いけれど無意味
レベルアップするときに知ればいいだけ
客観的真実というのは人間には害になることのほうが多い
2023/12/03(日) 01:33:52.43ID:l1Ri8dMm0
Python3エンジニア試験に合格したぜよ
これでエンジニア名乗っていいな
2023/12/03(日) 02:44:06.55ID:hEIQYuRL0
最低コンピュータサイエンスの学士じゃないとエンジニアとは呼べないな。
2023/12/03(日) 03:11:29.20ID:IsmlQ0Hp0
↑こういうやつが好きな単語
アルゴリズムとデータ構造
自社開発
後何があるかな
2023/12/03(日) 03:50:52.85ID:Pw30HPy40
>>808
pip installする時とimportする時で
違う呼び名のモジュールっていくつかあったなあ

それともモジュールがバージョン違いだったって奴だろうか
やっぱりanacondaじゃないとダメかなあ
2023/12/03(日) 11:18:15.19ID:QTewqrs7a
>>813
馬鹿には無理
2023/12/03(日) 12:07:46.29ID:CywJMuft0
csvを読んで加工してテキストで出力する
csvファイルを開くwithと出力用のwithの二重になるのがなんか嫌なので、
csvを読んだ時点で一旦閉じたい
どうやったら全体をメモリに取り込めるだろう
2023/12/03(日) 13:29:53.87ID:l9F3rDC0M
import pipってなに
2023/12/03(日) 14:10:05.75ID:vkjAQods0
>>811
書かない方が良いぞ
「資格持ってるからエンジニア名乗れると思ってるやつ」と思われるから
2023/12/03(日) 14:11:17.90ID:vkjAQods0
>>813
思いつかなくて草
2023/12/03(日) 15:13:20.38ID:A1Jz2HtB0
>>816
withのブロックを抜けたタイミングでファイルは閉じられるが内容を読み込んだ変数はブロック抜けても生きてる
ブロックスコープのある言語に慣れてるとちょっと気持ち悪いけど
2023/12/03(日) 15:41:03.50ID:XzZP3JPh0
客の前に出すときは、入社3週間でもエンジニアを連れてきましたと言って紹介する
2023/12/03(日) 19:32:26.44ID:6s2zsrgs0
>>816
ネストが深くなるのが嫌と言う意味ならwith ()で2つ同時にwithればいい
823デフォルトの名無しさん (ワッチョイ 350e-QDDZ)
垢版 |
2023/12/04(月) 01:35:16.40ID:W3mu4L/A0
>>816
with open(filename, 'r') as f:
text = f.read()

# textを使った処理

と書けば普通にreadしてメモリに読み込んでファイルは閉じられる。
CとかC++とか、JavaとかC#でも一緒じゃない?
824デフォルトの名無しさん (ワッチョイ 6d46-wNAC)
垢版 |
2023/12/04(月) 07:23:54.73ID:MHjmHZBI0
>>823
別に気持ち悪くないね。
>>820 曰くの気持ち悪い変数はどれぢゃ。'f' か?
2023/12/04(月) 08:25:28.28ID:L1Td53yR0
いつもはそうしてる
f.read()が全部をメモリに読み込む処理だから

with open(CSV_FILE) as f:
  csv = csv.DictReader(f)

これでもうfと縁が切れるかというと、csvから読む時にまだfを使うので閉じられない
全部読み込むオプションとかあればいいのに
826デフォルトの名無しさん (ワッチョイ 2aa6-3ha7)
垢版 |
2023/12/04(月) 08:45:12.95ID:0tblxJUD0
csv.reader の第一引数はファイル以外も可、csv.DictReader も同じく

https://docs.python.org/ja/3/library/csv.html#csv.reader
> イテレータ プロトコルをサポートし、 __next__() メソッドが呼ばれた際に常に文字列を返すような任意のオブジェクトにすることができます

with open("a.csv", newline="") as f:
    reader = csv.DictReader(f.readlines())
2023/12/04(月) 08:52:03.37ID:L1Td53yR0
おお、イテレータなら何でもいいんだ
じゃあ解決
2023/12/04(月) 08:57:42.70ID:L1Td53yR0
マニュアルを調べてそう書いてあるから、ではなくて、
こんなもんファイルじゃなくてもリスト突っ込んでもいけるだろ、と試してたら即解決してた
そういう想像が働くかどうかがセンスなんだろうな
829デフォルトの名無しさん (アウアウウー Sa21-wVFe)
垢版 |
2023/12/04(月) 09:23:09.09ID:vGycO/bSa
想像働かせてもcsv.DictReaderがサポートしていないと意味無い
結局マニュアル嫁が正解
2023/12/04(月) 09:34:09.32ID:L1Td53yR0
サポートっていうか
わざわざそうしてくれてるというよりは、普通に作ったらそうなったというだけで
自分で作る場合でも受け取ったものをforで順に見ていけば勝手にそうなる

だから、サンプルにfと書いてあっても、他のものでもいける筈だとセンスがあれば直感できる
2023/12/04(月) 10:11:28.23ID:kngv0jx8d
センス無く、マニュアル読まない、出来ない子が>>825
センス不明、マニュアル読む、出来る子が>>826

初歩的な部分は
センス磨くより、確実なマニュアル読んだほうが良くね?
頭にマニュアル入ってた方がセンスも光ると思うし
2023/12/04(月) 10:12:47.70ID:vGycO/bSa
センスの善し悪しは否定していないよ
だけどマニュアル嫁が正解
2023/12/04(月) 10:14:29.29ID:f3mcZ5dk0
作法に則って作られたものは直感的に扱えるというだけの話
ただしそれが作法に則っているかどうかは自明ではないから
センスがあればマニュアル不要ということにはならない
2023/12/04(月) 10:16:09.07ID:L1Td53yR0
マニュアルは全てが書いてあるからな
もしかして、イテレータ全部いけるのでは、という想定があって読まないと必要な場所が判らない
で、そんな想定が持てるなら読まなくても解決できる
全部読み込むオプションは無いかな、という観点でマニュアル見ても素通りする
2023/12/04(月) 11:06:46.65ID:zZiGuUQkd
言ってることが支離滅裂で意味不明
どうしてもマニュアル不要に持っていきたいのは伝わってくるが
2023/12/04(月) 11:21:42.25ID:L1Td53yR0
マニュアルで解決するならチュートリアルも解説書も要らん
ぐるっと回ってきて最後に、ああマニュアルにあったのか、となるのがいつものパターン
2023/12/04(月) 11:31:56.68ID:dR/JDXQy0
さらに支離滅裂だな。自分で言ってる事がわからなくなってるんじゃないか?
838デフォルトの名無しさん (ワッチョイ 1ebf-zrcD)
垢版 |
2023/12/04(月) 11:49:50.89ID:cL5NOEP90
初心者のクレクレで申し訳ないのですが…
pythonに挫折しかかってます。

a = 1
print ("if文テスト")
a = input ("1を入力してください")
if a == 1:
print ("成功")
else:
print ("失敗")

これがどうしても成功に行かない…
行開けるとかnotにしてみるとかしたのだけれど。

教えて頂けると幸い。
839デフォルトの名無しさん (ワッチョイ 6d46-wNAC)
垢版 |
2023/12/04(月) 11:58:54.27ID:MHjmHZBI0
input() の返り値の型を調べてみては。

a = input ("1を入力してください")
print(type(a))

とか。
2023/12/04(月) 12:09:40.21ID:vGycO/bSa
>>836
>ああマニュアルにあったのか

結局マニュアル読まない無能を自白しちゃったね
自己紹介乙
2023/12/04(月) 12:17:03.22ID:HYznMI51a
>>813
一般的にエンジニアと名乗りたいなら
コンピュータサイエンスの学士 + 国家試験 + 経験年数5年は必要かな。
2023/12/04(月) 12:20:42.17ID:HYznMI51a
>>813
プログラマを名乗りたいなら国家試験 + ベンダー試験 + ドメイン知識でなれるだろう。
843デフォルトの名無しさん (ワッチョイ 1eda-zrcD)
垢版 |
2023/12/04(月) 13:11:21.69ID:cL5NOEP90
>>839
レスthanks

最後の行に「print(type(a))」貼ってみたら
<class 'str'>が出てきた。

一番上で整数宣言してると思うんだが
なぜに?
2023/12/04(月) 13:38:44.25ID:dR/JDXQy0
整数宣言とは1行目のa=1?
a = input ("1を入力してください”)でaの値を自分で変更してる
845デフォルトの名無しさん (ワッチョイ 1eda-zrcD)
垢版 |
2023/12/04(月) 13:55:48.74ID:cL5NOEP90
いや…

a = int
print ("if文テスト")
a = input ("整数を入力してください")
if a == int:
print ("成功")
else:
print ("失敗")

print(type(a))

これでも失敗にしかならないんだが…
ウチのpythonぶっ壊れてるのかな?
2023/12/04(月) 14:16:02.37ID:dR/JDXQy0
下実行してもわからんかったら理解が足りない

a = int
print(type(a))
a = input ("整数を入力してください")
print(type(a))
2023/12/04(月) 14:31:25.94ID:UR+VnO+A0
a = 1
a = "2"
としたら
代入時か比較時にキャストが走って a == 2 になる言語がどこかにあるってことか
2023/12/04(月) 14:33:03.89ID:L1Td53yR0
= の左側は必ず新しいオブジェクトになる
というのはそうでない言語知ってると飛躍があるな

入れ物を用意して、中身を入れ替えていく変数観とは全然違う
2023/12/04(月) 14:47:47.19ID:apNvJw2Gd
>>836
マニュアル、チュートリアル、解説書にはそれぞれ役割がある
それが理解できないのかな
2023/12/04(月) 14:58:26.57ID:cL5NOEP90
理解が足りてないようです…
(別に皮肉じゃないです)

もう少し勉強してから出直してきます。
2023/12/04(月) 15:10:15.88ID:X18HmWgG0
a = 1
の時点でaはint型かもしれないけどその後でinput文では数字入れてもstr型、つまり文字としての"1"が代入される
やりたいならinput文のあとでa=int(a)でint型に型変換するか、条件文で数字の1ではなく文字の"1"と比較すればいい
int型に型変換する場合はinput文で"A"とか数字に変換できない文字が入力されるとエラーになるのでそれを回避する条件文とか書くことになって面倒だけど・・・

pythonには型宣言は基本的に無いから後に代入された型で染められる

他の人も言ってるけど一行ごとにprint(type(a))とかで何の型になっているかチェックしてみたら?
2023/12/04(月) 15:14:10.25ID:03ItZlbx0
>>845
動的型付けというのは変数に入ってる”値”によって変数の型が実行時に(動的に)決まること
変数の型がコンパイル時に(静的に)一つに決められるの静的型付けとは根本的に違う
853デフォルトの名無しさん (ワッチョイ 6d46-wNAC)
垢版 |
2023/12/04(月) 15:16:05.57ID:MHjmHZBI0
>>847
/bin/sh は a = "2" が a == 2 になるね。
文意は皮肉かもしれないが、一応マジレス。

$ a='2'
$ test ${a} -eq 2; echo $? # 数値比較→真
0
$ test ${a} = '2'; echo $? # 文字比較→真
0
$ test ${a} -eq 1; echo $? # 数値比較(異値)→偽
1
$ test ${a} = '1'; echo $? # 文字比較(異値)→偽
1
$
2023/12/04(月) 15:25:20.99ID:L1Td53yR0
a = '1'
if a == 1:
は何のエラーにもならずfalseだけど、それが嬉しい局面って何かあるんだろうか
普通にエラーになってくれた方が助かるのに
855845 (ワッチョイ 1eda-zrcD)
垢版 |
2023/12/04(月) 15:35:02.50ID:cL5NOEP90
ifのあと"1"
にすれば>>838のコードでも成功に行くのはわかっているのですが

整数の1をif文で判定したくて四苦八苦しております。


親切な人多くて嬉しいです。
2023/12/04(月) 15:41:24.31ID:dR/JDXQy0
そもそもinput使う時点で文字列にしかならんからな
2023/12/04(月) 15:43:42.86ID:apNvJw2Gd
>>854
値を比較しただけで実行時エラーになるような言語とか正気か?
もう黙ってなよ
2023/12/04(月) 15:48:46.40ID:cL5NOEP90
>>856
マジっすか!?
2023/12/04(月) 15:53:55.42ID:hskMlW3m0
>>858
>>851をちゃんと読もう
2023/12/04(月) 15:59:02.03ID:D7B41PS90
Python2のinput()はPython3のeval(input())
Python2のraw_input()はPython3のinput()
2023/12/04(月) 16:10:06.06ID:cL5NOEP90
とりあえず納得できました
皆さまのおかげです

また詰まったらクレクレしに来ます(苦笑)

ありがとうございました
2023/12/04(月) 16:42:52.46ID:f5vq9b6L0
ユーザー入力が文字列以外で解釈される言語は見たことないけどな
あるのかな?
2023/12/04(月) 16:59:52.75ID:L1Td53yR0
python2がそうだったのでは
2023/12/04(月) 17:20:13.89ID:UR+VnO+A0
>>857
べつに設計上おかしかなくない?
Pythonは__eq__で解決できなくてもフォールバックあるけど一長一短
2023/12/04(月) 17:53:17.77ID:jOpGWHbYd
>>864
等価演算子に実行時エラーを出させるのが妥当とは思えんよ
そういう機能が欲しければ独自のチェック関数を作るべきだろう
2023/12/04(月) 21:14:40.89ID:UR+VnO+A0
>>865
静的言語やTSならそもそも実行できないケースだよ?
Pythonをそうせよって意味ではなく
そういう設計の動的言語があってもぜんぜん不思議ではない
2023/12/04(月) 21:39:54.56ID:XU6NDivrd
比較演算子は、
・真
・偽
・比較出来ない
・例外
の4値を返すべきだな

とっても面倒くさくなりそう
2023/12/04(月) 22:24:07.98ID:jOpGWHbYd
>>866
俺はその設計が妥当だと思わないって意見表明をしてるんだよ
2023/12/04(月) 22:28:33.13ID:L1Td53yR0
コンパイルできないくらい間違ったコードに警告するのは親切でありこそすれスルーするメリットは無いのでは
2023/12/04(月) 23:03:05.60ID:GzgqXY0ad
>>869
静的型付け言語では型のチェックに関して静的解析の恩恵が受けられる
動的型付け言語では実行時に自前でチェックする必要がある
そしてそれを比較演算子に例外生成させることで実現しようというのは比較演算子の守備範囲を逸脱していると考える、という話

スルー云々という話ではない
2023/12/04(月) 23:20:04.47ID:L1Td53yR0
なるほど、判らん(酔ってるから)
2023/12/04(月) 23:44:56.40ID:NLHKgHYS0
1 > ‘1’が実行時エラーになるように
1 == ‘1’を実行時エラーにする方針の言語があっても別にいいと思う

大小比較も等値比較もCPyrhonでは同じ一つの関数で処理されるんだけど
左辺の型からも右辺の型からも比較演算をサポートしてないとなったら等値比較の場合だけオブジェクトID比較を返すフォールバックを使うことになってる

言語設計者がエラーで弾いた場合のメリットよりフォールバックした場合のメリットを優先したというだけで比較演算子の守備範囲とかはあまり関係ないと思う
2023/12/05(火) 02:10:11.77ID:9BlMohwu0
Ruby では以下は、両方ともfalse になる。
エラーにはならない。
型が違うから、問答無用でfalse

p 1 == "1"
p "1" == 1

true の条件は同じ型で、値も同じ時

Rubyは静的言語ではないから、コンパイルエラーにはならない。
テストでバグを見つけないといけないから、
その点、動的言語は面倒くさい

だから、TypeScript が流行った
2023/12/05(火) 10:20:00.26ID:5ZWKk5tJd
>>871
どうせ酔ってなくても大して変わらん
>>834とか見れば分かる
875デフォルトの名無しさん (ワッチョイ 35d1-QDDZ)
垢版 |
2023/12/05(火) 18:52:32.32ID:d/HKFAig0
>>830
pandasのread_json関数は直接文字列を渡したりファイルオブジェクトを渡せるけど、read_csvは直接文字列を渡せないんだけど
普通に作ったらとかいうけど、普通とは?って思うけどなあ
876デフォルトの名無しさん (ワッチョイ 35d1-QDDZ)
垢版 |
2023/12/05(火) 19:01:32.87ID:d/HKFAig0
>>869
例えばJavaで((Object) 1) == "a"という式はエラーにならないし場合によるとしか言えないと思うけど。
「コンパイルできないくらい間違ったコード」っていうけど、「普通」と一緒で、どこからが間違ったコードなのよって話になる。
動的型付け言語ならなおさら。
877デフォルトの名無しさん (スフッ Sd0a-nvfk)
垢版 |
2023/12/06(水) 10:09:21.73ID:OIX9QIK5d
>>875
ほんそれ++
2023/12/06(水) 11:53:32.45ID:e50gn0BB0
javaのイコールとpythonのイコールは異なるからなあ
isinstanceかisかtypeかなぁ
2023/12/06(水) 23:20:52.35ID:1hCR5TUW0
麻雀の点数計算できるライブラリみつけた
仕様が書いてあるページどっかにない?
2023/12/06(水) 23:38:12.91ID:1hCR5TUW0
仕様は見つけたけどすっげー読みづらい‥
2023/12/06(水) 23:41:21.41ID:TvfjVsdx0
AIチャットボット向きの課題かも
ローカルルールを箇条書きで渡してコード書いてもらったら?
2023/12/06(水) 23:50:23.95ID:1hCR5TUW0
>>881
いやライブラリ見つけて仕様書もあったんだけどいかんせん読みづらくて…
2023/12/07(木) 03:59:22.29ID:kyWDdJFq0
>>875
Ruby のCSV なら、ファイルや文字列から、
1行ずつ、または全てを読み込める

CSV.foreach : ファイルから一行ずつ読み込む
CSV.read : ファイルから全てを読み込む

CSV.parse : 文字列から一行ずつ、または全てを読み込む
2023/12/07(木) 06:22:39.87ID:tyKSl/WnH
>>882
仕様書読んで何をしたいの
ライブラリって労力を省くためのものなのに
中身を知ろうとして苦労するのって本末転倒っしょ
885デフォルトの名無しさん (ワッチョイ 9e90-WD8q)
垢版 |
2023/12/07(木) 07:57:00.99ID:BRWWjO5+0
Pythonのお勉強スレでRubyを紹介するって、やっぱRuby使いは頭がおかしい。
2023/12/07(木) 08:22:37.28ID:qvan2CQu0
awk -> perl -> python と流れてきたけど、
途中でrubyに立ち寄らなくて本当に良かった
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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