[過去ログ]
Perlについての質問箱 64箱目 (1002レス)
Perlについての質問箱 64箱目 http://mevius.5ch.net/test/read.cgi/tech/1548981877/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
308: デフォルトの名無しさん [sage] 2020/03/10(火) 03:17:19.61 ID:8QcyJ6p0 そもそもファイル属性はWindowsの方が高機能で Linuxは、いろいろ拡張入れたら別だが 基本のファイル属性はUNIX初期の頃から変わって無くてかなり貧弱。 Windowsの高機能なファイル属性をそのLinuxにマッピングすることは出来ない。 逆にLinuxのファイル属性を全てWindows側に持たせることは可能 こうすることで全てのWindowsのファイルをLinuxで正しく扱えるようになった。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/308
309: デフォルトの名無しさん [sage] 2020/03/10(火) 04:18:19.87 ID:/bE8vLVb 漏れは、Ruby のバージョンマネージャー、rbenv をWSL, Ubuntu 18.04 に入れた。 これで、Linux 側に、好きなバージョンのRubyを入れられる Windows 10 側には、VSCode を入れて、拡張機能のRemote WSL を入れる これが基本! http://mevius.5ch.net/test/read.cgi/tech/1548981877/309
310: デフォルトの名無しさん [sage] 2020/03/10(火) 04:23:54.01 ID:qHN38Ccx windowsでも開発できそうだなー http://mevius.5ch.net/test/read.cgi/tech/1548981877/310
311: デフォルトの名無しさん [sage] 2020/03/10(火) 12:00:40.16 ID:tTiB+rjP DBIの動作についてお聞きしたいことがあります。 my $dbh = DBI->connect(接続情報); my $sql = 'パラメータ付きクエリ'; my $ret1 = $dbh->selectrow_arrayref($sql, undef, 'A'); my $ret2 = $dbh->selectrow_arrayref($sql, undef, 'B'); my $sth = $dbh->prepare($sql); my $ret3 = $dbh->selectrow_arrayref($sth, undef, 'A'); my $ret4 = $dbh->selectrow_arrayref($sth, undef, 'B'); このようなコードで$ret1と$ret2には'A', 'B'それぞれのパラメータを使用した結果が入るのですが、$ret3は$ret4と同じ'B'を使用した結果になってしまいます。 selectrow_arrayrefに同じステートメントハンドラを渡して複数回実行すると、リファレンス実体が最後に実行した結果で上書きされてしまうような雰囲気でした。 Perl 5.10.1 & DBI 1.609の環境と、Perl 5.16.3 & DBI 1.642の環境で試してどちらも同じ結果になったのですが、こういうものなのでしょうか…。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/311
312: デフォルトの名無しさん [sage] 2020/03/10(火) 13:47:10.63 ID:nryxofxk >>305 アホか? バッチファイルでwsl起動してその中で実行してるだけじゃん レジストリ編集の方もパワーシェルに引数渡してwsl起動してるだけだ これじゃあcygwin使ってやるのとなんら変わっとらん http://mevius.5ch.net/test/read.cgi/tech/1548981877/312
313: デフォルトの名無しさん [sage] 2020/03/10(火) 14:03:39.54 ID:0m+9gBGV >>312 あのさ、おまえ頭悪いよ? 目的を一番ラクに実現する方法が 目の前にあるというのにそれを使わないのはアホだろ ネイティブのPerlを使えばいい 今更PerlのWindows移植版なんかいらんよ。 Windows移植版なんてcygwinと何も変わらん http://mevius.5ch.net/test/read.cgi/tech/1548981877/313
314: デフォルトの名無しさん [sage] 2020/03/10(火) 15:17:13.04 ID:qHN38Ccx >>311 試してみたけど確かに同じ配列が変えるね オライリーのDBI本見たらそう書いてあった selectrow_arrayって方を使ってリストコンテキストで受けるといいみたい http://mevius.5ch.net/test/read.cgi/tech/1548981877/314
315: デフォルトの名無しさん [sage] 2020/03/10(火) 15:22:16.39 ID:tTiB+rjP >>314 やはりそうですか… selectrow_hashrefを使うと$sqlでも$sthでも'A', 'B'それぞれの結果が返るので、selectrow_arrayrefだけ期待と違う動作をしている気がします。(バグ?) http://mevius.5ch.net/test/read.cgi/tech/1548981877/315
316: デフォルトの名無しさん [sage] 2020/03/10(火) 15:28:19.27 ID:qHN38Ccx >>315 バグというか仕様だと思う 作者の書いたオライリー本にも書いてあったから意図的なはず 今更変更できないからこのままになってるんだろうね http://mevius.5ch.net/test/read.cgi/tech/1548981877/316
317: デフォルトの名無しさん [sage] 2020/03/10(火) 15:39:16.84 ID:tTiB+rjP >>316 なるほど。 それでは今後、selectrow_arrayrefは注意して使うようにしたいと思います。 ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/317
318: デフォルトの名無しさん [sage] 2020/03/10(火) 15:58:50.16 ID:SCW8qISh >>313 へー バッチファイル作ったりトリッキーな関連付けまでしないと動かないのが一番楽な方法ねー cygwinで全く同じことができるしwin移植版perlならそのまま実行できちゃうんだけどね ところでエクスプローラからどうやったらwsl内のファイルが見えるんだい? http://mevius.5ch.net/test/read.cgi/tech/1548981877/318
319: デフォルトの名無しさん [] 2020/03/10(火) 16:50:47.58 ID:lAAHr9o2 >>311 selectrow_arrayref は最初の1行しか返さないからということはない? http://mevius.5ch.net/test/read.cgi/tech/1548981877/319
320: デフォルトの名無しさん [] 2020/03/10(火) 16:52:18.68 ID:lAAHr9o2 ぐえ。リロード忘れたらとっくに話が終わっていて間に沢山の書き込みが http://mevius.5ch.net/test/read.cgi/tech/1548981877/320
321: デフォルトの名無しさん [sage] 2020/03/10(火) 20:10:42.81 ID:UzsfbeET BOOKOFFに100円で売っていたPerl/CGI辞典によると、 selectrow_array:先頭行 selectcol_arrayref:最初のフィールド selectall_arrayref:すべて http://mevius.5ch.net/test/read.cgi/tech/1548981877/321
322: デフォルトの名無しさん [sage] 2020/03/10(火) 23:18:16.01 ID:gGR9Cwad >>318 Windows版Perl使って Windowsで動かないーってやるより、 安心して使えるバッチファイルを使ったほうがシンプル http://mevius.5ch.net/test/read.cgi/tech/1548981877/322
323: デフォルトの名無しさん [sage] 2020/03/10(火) 23:32:00.36 ID:Z32YaYnf いやいやw WSLならバッチファイルなんか使わなくてもエクスプローラーからダブルクリックでWSL上のスクリプトを直接実行できるんでしょ? やり方教えてよ windows版perlならバッチファイルなんか使わなくてももちろん出来るからねw それとwindows版perlだと何が動かないのかな〜? http://mevius.5ch.net/test/read.cgi/tech/1548981877/323
324: デフォルトの名無しさん [sage] 2020/03/10(火) 23:37:16.41 ID:9jB6JpZx バッチファイルとかっていったい何歳の爺さんなんだよ http://mevius.5ch.net/test/read.cgi/tech/1548981877/324
325: デフォルトの名無しさん [sage] 2020/03/10(火) 23:42:56.03 ID:tP5E2IWo >>323 普通に、wsl.exe+スクリプトファイルのショートカットを作るだけ http://mevius.5ch.net/test/read.cgi/tech/1548981877/325
326: デフォルトの名無しさん [sage] 2020/03/10(火) 23:51:09.20 ID:Z32YaYnf >>325 やってることはバッチファイルと同じじゃん http://mevius.5ch.net/test/read.cgi/tech/1548981877/326
327: デフォルトの名無しさん [] 2020/03/11(水) 00:05:26.96 ID:5FVYO8f6 Ruby でも、MSYS2/MINGW は、日本語でバグル・日本語入力できない。 一方、WSL は、日本語でバグらない! WSL が出たから、次第に、Windows 版のRuby Installer は、使われなくなっていく それに、VSCode の拡張機能、Remote WSL が出たから、 Windows 10 では、Ubuntu 18.04 が標準になる プロジェクトも、Windows 側のC: ドライブじゃなくても、 Linux 側に置いて、Remote WSL でアクセスできるので、本番環境に近い Windows/Linux のファイルのアクセス権限の違いに、困らない! http://mevius.5ch.net/test/read.cgi/tech/1548981877/327
328: デフォルトの名無しさん [sage] 2020/03/11(水) 00:38:23.60 ID:3jaBr8Hp ルビーならそうだろうねw http://mevius.5ch.net/test/read.cgi/tech/1548981877/328
329: デフォルトの名無しさん [sage] 2020/03/11(水) 00:53:43.36 ID:FWSDJbu9 >>326 それで実現できるだろ しかも完全にちゃんと動くPerlで http://mevius.5ch.net/test/read.cgi/tech/1548981877/329
330: デフォルトの名無しさん [sage] 2020/03/11(水) 01:05:10.04 ID:zcf0ykb5 ハア? WSLはwindows版perlより楽できるんじゃないの? なんでわざわざそんな面倒なことすんの? それとエクスプローラからWSLのファイルが見えてそれをダブルクリックで実行できるって話はどうなったの? http://mevius.5ch.net/test/read.cgi/tech/1548981877/330
331: デフォルトの名無しさん [sage] 2020/03/11(水) 01:17:13.67 ID:M00P+dL8 WSLはあくまでLinux的システムなアプリであって、Windows側とはやっぱり高い壁がある、と思っとくほうが安全やろ。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/331
332: 327 [sage] 2020/03/11(水) 01:47:27.51 ID:EKM5ywjJ Ruby なら、WSL から、1-liner で、 Rubyで作られた遅いウェブサーバー、WEBrick が起動する index.html が、Windows 側のC: ドライブにあるとすると、 cd /mnt/c/〜 で、Windows側へ移動して、 または、index.html が、linux 側のドライブにあるとすると、cd で、そこへ移動して、 ruby -run -e httpd . -p 8080 これで、Windows側のブラウザで見れる http://localhost:8080 つまり、プロジェクトが、Windows/Linux側のどちらにあっても、Windows側のブラウザで見れる http://mevius.5ch.net/test/read.cgi/tech/1548981877/332
333: デフォルトの名無しさん [sage] 2020/03/11(水) 02:27:57.69 ID:M00P+dL8 Webサーバーを経由すれば、ファイルが地球の裏側にあってもふつうに見れるなー。w http://mevius.5ch.net/test/read.cgi/tech/1548981877/333
334: 327 [sage] 2020/03/11(水) 04:58:50.64 ID:EKM5ywjJ Linux 側のフォルダ内を公開した、Linux側のサーバーに対して、 Windows 側のブラウザのlocalhost で見れるんだよ!! http://mevius.5ch.net/test/read.cgi/tech/1548981877/334
335: デフォルトの名無しさん [sage] 2020/03/11(水) 09:27:01.95 ID:AZbrV/6V >>319 >>321 返信ありがとうございます。 すみませんが、selectrow_arrayrefが最初の1行しか返さないということは知っています。 そうではなく、結果(リファレンス)を変数に入れてから再度同じステートメントハンドラでselectrow_arrayrefを使用すると、リファレンス実体の方が書き換わってしまうので、1回目の結果が失われてしまうということを言いたかったのですが…。 サンプルとして'パラメータ付きクエリ'と書きましたが、複数行を返さない単純な「SELECT ?」でも再現します。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/335
336: デフォルトの名無しさん [] 2020/03/11(水) 09:44:35.82 ID:LRW51TqV なるほど。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/336
337: デフォルトの名無しさん [sage] 2020/03/11(水) 20:46:52.86 ID:M00P+dL8 >>335 同じ変数を使い回しまくって、パフォーマンスを落とさないためやないの? GCのないPerlならたいしてかわらんやろけど。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/337
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 665 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s