質問する前にGoogleで検索しましょう。 http://www.google.com/
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
ワッチョイは住人が離れスレが寂れます導入禁止。
前スレ
スレ立てるまでもない質問はここで 148匹目 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1495618637/
スレ立てるまでもない質問はここで 149匹目
レス数が900を超えています。1000を超えると表示できなくなるよ。
2018/06/17(日) 10:31:28.00
827デフォルトの名無しさん
2019/10/13(日) 18:03:24.69ID:qg/TNtNV ウニコード浸透するまでマルチバイトネームをキーにするんじゃない!
828デフォルトの名無しさん
2019/10/13(日) 18:31:48.06ID:5y3mzviq >>823
配布有りなのかぁ
記述の容易さを考えるとRubyが良いと思うが配布有りだとそこの部分の手間はかかる
RubyでもPythonでもちょっと気の利いたことをやろうと思えば
外部のパッケージをダウンロードして使うことになるんだけど
その場合ソース以外に依存パッケージを記述したファイルも必要。
でユーザーがスクリプト実行する時にそれらの依存パッケージがダウンロードされる
RubyやPython自体の環境の管理やアップデートも必要
だいたい1ヶ月~3ヶ月に1回は更新がある
あとはRubyやPythonの環境含めて1つのexeにしてくれるようなツールもあるけど
それやるとソースと実行ファイルの二重管理と同じことが必要になるから
環境管理の手間と実行ファイル管理の手間とのバランス次第
配布有りなのかぁ
記述の容易さを考えるとRubyが良いと思うが配布有りだとそこの部分の手間はかかる
RubyでもPythonでもちょっと気の利いたことをやろうと思えば
外部のパッケージをダウンロードして使うことになるんだけど
その場合ソース以外に依存パッケージを記述したファイルも必要。
でユーザーがスクリプト実行する時にそれらの依存パッケージがダウンロードされる
RubyやPython自体の環境の管理やアップデートも必要
だいたい1ヶ月~3ヶ月に1回は更新がある
あとはRubyやPythonの環境含めて1つのexeにしてくれるようなツールもあるけど
それやるとソースと実行ファイルの二重管理と同じことが必要になるから
環境管理の手間と実行ファイル管理の手間とのバランス次第
2019/10/13(日) 18:32:12.13ID:5AXSetjs
>>826
VBAは今までもちょくちょく使って来ましたが、最近RubyでWIN32OLEを使うようになって、特にRubyでやってもかなり同様のことが出来るなと感じています。
SQLってADOとかで接続する時にこれまでも使ってきましたが、単独で使うイメージが有りません。
VBAは今までもちょくちょく使って来ましたが、最近RubyでWIN32OLEを使うようになって、特にRubyでやってもかなり同様のことが出来るなと感じています。
SQLってADOとかで接続する時にこれまでも使ってきましたが、単独で使うイメージが有りません。
830デフォルトの名無しさん
2019/10/13(日) 18:38:12.75ID:NI2mjh97831デフォルトの名無しさん
2019/10/13(日) 18:38:53.61ID:NI2mjh97 TypeScriptでもライブコーディングできるのにな。
832デフォルトの名無しさん
2019/10/13(日) 19:01:29.79ID:5AXSetjs833デフォルトの名無しさん
2019/10/13(日) 19:05:32.14ID:j3fG3YC6 ユーザーにスクリプトをいじらせる必要がなくてダブルクリックで実行できればいいなら
配布はC#が一番楽だな。
配布はC#が一番楽だな。
834デフォルトの名無しさん
2019/10/13(日) 19:40:27.57ID:qg/TNtNV スキル上げしてたら、極悪扱いされた。。。
ペット虐待ではあるが・・・。
ペット虐待ではあるが・・・。
835デフォルトの名無しさん
2019/10/13(日) 19:42:02.53ID:qg/TNtNV ゴバーク!すまぬ。
836デフォルトの名無しさん
2019/10/13(日) 21:12:34.96ID:5y3mzviq837デフォルトの名無しさん
2019/10/13(日) 23:47:02.71ID:Gu1oNPJo >>817
例えば、Ruby で、以下のコードを、script.rb に書く
そして、ダブルクリックで起動できるように、
script.bat ファイルに、ruby .\script.rb と書く。
または、script.vbs ファイルに、CreateObject("WScript.Shell").Run "ruby .\script.rb", 0
(各ファイルが、同じフォルダ内にある場合)
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
他にも、FileUtils::DryRun も便利。
ファイル操作を実際にしないで、どういう処理が行われるかだけを確かめる。
PowerShell の、-WhatIf と同じ
他には、VSCode, Node.js もインストールしておけばよい
例えば、Ruby で、以下のコードを、script.rb に書く
そして、ダブルクリックで起動できるように、
script.bat ファイルに、ruby .\script.rb と書く。
または、script.vbs ファイルに、CreateObject("WScript.Shell").Run "ruby .\script.rb", 0
(各ファイルが、同じフォルダ内にある場合)
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
他にも、FileUtils::DryRun も便利。
ファイル操作を実際にしないで、どういう処理が行われるかだけを確かめる。
PowerShell の、-WhatIf と同じ
他には、VSCode, Node.js もインストールしておけばよい
838837
2019/10/14(月) 00:00:45.66ID:qXl8FtHN >>817
PowerShell スクリプトも、同様に、bat, vbs から、ダブルクリックで起動できるだろ
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
例えば、script.vbs ファイルに、
CreateObject("WScript.Shell").Run "powershell ""gcb | % trim | scb""", 0
同様に、script.bat ファイルにも、
powershell .\script.ps1 と書けば、ダブルクリックで起動できるだろ
PowerShell スクリプトも、同様に、bat, vbs から、ダブルクリックで起動できるだろ
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
例えば、script.vbs ファイルに、
CreateObject("WScript.Shell").Run "powershell ""gcb | % trim | scb""", 0
同様に、script.bat ファイルにも、
powershell .\script.ps1 と書けば、ダブルクリックで起動できるだろ
839デフォルトの名無しさん
2019/10/14(月) 01:17:48.63ID:+IIeKy6A840デフォルトの名無しさん
2019/10/14(月) 02:31:49.80ID:NXmV97Dm operatorを大量に使う時、
+ A
+ B
+ C
と、、
A +
B +
C +
のどっちが普通でしょうか?A/B/Cは変数名が入るので結構長かったりもします。
+ A
+ B
+ C
と、、
A +
B +
C +
のどっちが普通でしょうか?A/B/Cは変数名が入るので結構長かったりもします。
841デフォルトの名無しさん
2019/10/14(月) 02:53:21.64ID:CmkGXuzV >>840
operatorを大量に使う時とは?
operatorを大量に使う時とは?
842デフォルトの名無しさん
2019/10/14(月) 03:59:56.33ID:NXmV97Dm843837
2019/10/14(月) 04:43:58.44ID:qXl8FtHN >>817
@echo off
@ruby -x "%~f0" 2>%~n0.err
@for %%i in ("%~n0.err") do if %%~zi == 0 (del /s /q "%~n0.err") >NUL
@exit /b
こういうのは、Perl 並みに、可読性が悪くて、意味がわからないw
こんな暗号みたいなコードを、誰も保守できないだろ
VBS, PowerShell でも、Ruby よりは可読性が悪いから、保守しづらい
やっぱり、Rubyで、script.rb に、コードを書いたら、
端末から、ruby script.rb で実行もできるし、
それをダブルクリックで起動したいのなら、
script.bat, script.vbs ファイルに、起動部分だけを書く方がよい
まさに、アプリのショートカットも、同じ仕組み。
アプリと起動部分を分けてる
それと名前欄に、811 と入れて投稿してください。
投稿者が、誰か分からないので
@echo off
@ruby -x "%~f0" 2>%~n0.err
@for %%i in ("%~n0.err") do if %%~zi == 0 (del /s /q "%~n0.err") >NUL
@exit /b
こういうのは、Perl 並みに、可読性が悪くて、意味がわからないw
こんな暗号みたいなコードを、誰も保守できないだろ
VBS, PowerShell でも、Ruby よりは可読性が悪いから、保守しづらい
やっぱり、Rubyで、script.rb に、コードを書いたら、
端末から、ruby script.rb で実行もできるし、
それをダブルクリックで起動したいのなら、
script.bat, script.vbs ファイルに、起動部分だけを書く方がよい
まさに、アプリのショートカットも、同じ仕組み。
アプリと起動部分を分けてる
それと名前欄に、811 と入れて投稿してください。
投稿者が、誰か分からないので
844デフォルトの名無しさん
2019/10/14(月) 09:41:04.02ID:CmkGXuzV >>843
.rbの拡張子をrubyに関連付けすればscript.rbのダブルクリックでスクリプト実行できるよ
-xオプション付きにしたければそういう関連付けも可能
そのバッチは引数で渡されたrubyのコードを含むファイルを-xオプション付きで実行して
標準エラーをファイルに書いてサイズが0なら削除するっていう内容だけど
rubyでエラーハンドリングしてログファイルに書き出せば基本的にいらないと思う
.rbの拡張子をrubyに関連付けすればscript.rbのダブルクリックでスクリプト実行できるよ
-xオプション付きにしたければそういう関連付けも可能
そのバッチは引数で渡されたrubyのコードを含むファイルを-xオプション付きで実行して
標準エラーをファイルに書いてサイズが0なら削除するっていう内容だけど
rubyでエラーハンドリングしてログファイルに書き出せば基本的にいらないと思う
845デフォルトの名無しさん
2019/10/14(月) 09:55:03.21ID:CmkGXuzV >>842
処理の目的は理解できたんだけど
オペランドが1つの"+"オペレータってどういうものなの?
改行が式や文の区切りではなくて
A + B + C + と +A + B + C ?
いずれにしろ使ってる言語のスタイルガイドを参考にして決めればいいと思う
処理的にはループやコレクションで抽象化して
オペレータを大量に書かなくてもいい仕組みを考えたほうが良さげ
処理の目的は理解できたんだけど
オペランドが1つの"+"オペレータってどういうものなの?
改行が式や文の区切りではなくて
A + B + C + と +A + B + C ?
いずれにしろ使ってる言語のスタイルガイドを参考にして決めればいいと思う
処理的にはループやコレクションで抽象化して
オペレータを大量に書かなくてもいい仕組みを考えたほうが良さげ
846デフォルトの名無しさん
2019/10/14(月) 10:40:43.00ID:6AvUVRYN847デフォルトの名無しさん
2019/10/14(月) 11:34:21.28ID:8JOFa0rX848蟻人間 ◆T6xkBnTXz7B0
2019/10/14(月) 12:11:48.32ID:/dRG0sEv 画面に似たようなオブジェクトが100個もあるなら普通は配列かstd::vectorなどを使うだろ。
849840
2019/10/14(月) 12:27:01.83ID:NXmV97Dm みあんさんありがとうございます。
仰る通りコレクション化してしまえば、
2Dゲームの「衝突判定 → 判定結果によって移動させる」やり方がほぼそのまま使えそうです。
くだらない質問ですみませんでした。
仰る通りコレクション化してしまえば、
2Dゲームの「衝突判定 → 判定結果によって移動させる」やり方がほぼそのまま使えそうです。
くだらない質問ですみませんでした。
850デフォルトの名無しさん
2019/10/14(月) 13:21:26.11ID:CmkGXuzV 昔「弾幕」って本買ったけど積読したまま押入れの肥やしにしてるのを思い出した
851デフォルトの名無しさん
2019/10/14(月) 13:35:04.58ID:z/6QW2Tk 読もうとしたが、日がZUNZUN沈む とか?
852デフォルトの名無しさん
2019/10/14(月) 14:31:07.73ID:/43KYLEN ここ3日間くらいの「RubyとPythonどっち」っていうやりとりに便乗させてください。
だいぶ前ですが、質問者さんと同様に自分もスクリプト言語を習得したくなって、
ネット上で調べたり聞いたりしたことがありました。
「WindowsでRubyを使うと罠にハマることが多い。地雷原を歩くようなもの」
といったご意見が複数あり、Rubyは候補から外しました。
今回のやりとりでRubyを勧められてる方が多いので少し驚きました。
テキスト処理程度ならWindowsで利用するのも問題ないのでしょうか。
自分は結局、どのWindows PCにも入っていてるという利点に惹かれてPowerShellを
使うようになったのですが、入門書/入門サイトで少しだけ触った好感度でいうと
Ruby>Python≧PowerShell でした。
すぐにPowerShellから乗り換えようとまでは思わないのですが、今後の参考のために
教えてください。
だいぶ前ですが、質問者さんと同様に自分もスクリプト言語を習得したくなって、
ネット上で調べたり聞いたりしたことがありました。
「WindowsでRubyを使うと罠にハマることが多い。地雷原を歩くようなもの」
といったご意見が複数あり、Rubyは候補から外しました。
今回のやりとりでRubyを勧められてる方が多いので少し驚きました。
テキスト処理程度ならWindowsで利用するのも問題ないのでしょうか。
自分は結局、どのWindows PCにも入っていてるという利点に惹かれてPowerShellを
使うようになったのですが、入門書/入門サイトで少しだけ触った好感度でいうと
Ruby>Python≧PowerShell でした。
すぐにPowerShellから乗り換えようとまでは思わないのですが、今後の参考のために
教えてください。
853デフォルトの名無しさん
2019/10/14(月) 14:42:08.78ID:FdPLXAab これだけ長文で質問がかかれてなくて句点付きか…
なかなかの才能の持ち主だと思った
なかなかの才能の持ち主だと思った
854デフォルトの名無しさん
2019/10/14(月) 14:49:13.33ID:/43KYLEN855デフォルトの名無しさん
2019/10/14(月) 18:07:12.04ID:CmkGXuzV856811
2019/10/14(月) 19:03:22.84ID:+IIeKy6A 皆さんの意見を総合するとRubyが一番良さげですね。
加えて、C#&EXE化も検討します。
ありがとうございました。
加えて、C#&EXE化も検討します。
ありがとうございました。
857デフォルトの名無しさん
2019/10/14(月) 19:26:46.03ID:4TEIFyWY テキスト処理はPerlが最強なんだがな
858デフォルトの名無しさん
2019/10/14(月) 20:05:06.37ID:ZHVtioYP 正直テキスト処理程度で最強を争ってもしょうがない
テキスト処理はソフトウェア開発に置いて
一分野でしか無い
テキスト処理はソフトウェア開発に置いて
一分野でしか無い
859デフォルトの名無しさん
2019/10/14(月) 20:42:48.24ID:/43KYLEN860デフォルトの名無しさん
2019/10/14(月) 21:20:06.03ID:/43KYLEN >>857
Perlは私には難しかったです・・・。
PowerShellをやるまえにPerlの入門書を読んで、
簡単なスクリプトを書いて使うことはできたのですが
1〜2年プログラミングから離れたあと書こうとするとすっかり忘れてしまって
3回入門しなおして、あきらめました。
VBAやPowerShellでもある程度忘れるのですが
Perlのほうが記号のたぐいが多くて、暗記力のない私にとっては忘却度が深刻でした。
Perlは私には難しかったです・・・。
PowerShellをやるまえにPerlの入門書を読んで、
簡単なスクリプトを書いて使うことはできたのですが
1〜2年プログラミングから離れたあと書こうとするとすっかり忘れてしまって
3回入門しなおして、あきらめました。
VBAやPowerShellでもある程度忘れるのですが
Perlのほうが記号のたぐいが多くて、暗記力のない私にとっては忘却度が深刻でした。
861デフォルトの名無しさん
2019/10/14(月) 21:25:34.34ID:z/6QW2Tk テキスト処理でこまったらまたperl初めるといいよ
等分はrubyで
等分はrubyで
862デフォルトの名無しさん
2019/10/14(月) 21:47:41.49ID:/43KYLEN ありがとうございます。
863デフォルトの名無しさん
2019/10/14(月) 23:59:55.85ID:WJh+E3aI Perlがやっぱりかんたんだな
864837
2019/10/15(火) 00:12:09.35ID:2TGG4eyN >>852
>>813-814
に書いてある。
Windows でも、CSV・テキスト処理程度なら問題ない
1つ前のバージョンを使えばよい。
Mac/Linux ならRuby 2.6 で、WindowsならRuby2.5
Windowsでは、irb, pry のようなREPL は、日本語でバグるから、ダメ!
漏れは、ユーザー環境変数、RUBYOPT に、--encoding=UTF-8 を設定しているから、irb は使えない。
Windows とのやり取りを、UTF-8だけに限定しているから、CP932 では動かない
代わりに、VSCode で、Code Runner という拡張機能で、
右クリックメニューから、選択したコードを実行する
他には、1-liner で、クォーテーションの解釈でバグるから、%Q( ) で、囲む必要がある。
-p オプションにバグがあるから、代わりに、-n を使う
Linux では、
ls | ruby -ne 'puts $_.center(20, "-")'
Windows では、
ls -name | ruby -ne 'puts $_.center(20, %Q("-"))'
>>813-814
に書いてある。
Windows でも、CSV・テキスト処理程度なら問題ない
1つ前のバージョンを使えばよい。
Mac/Linux ならRuby 2.6 で、WindowsならRuby2.5
Windowsでは、irb, pry のようなREPL は、日本語でバグるから、ダメ!
漏れは、ユーザー環境変数、RUBYOPT に、--encoding=UTF-8 を設定しているから、irb は使えない。
Windows とのやり取りを、UTF-8だけに限定しているから、CP932 では動かない
代わりに、VSCode で、Code Runner という拡張機能で、
右クリックメニューから、選択したコードを実行する
他には、1-liner で、クォーテーションの解釈でバグるから、%Q( ) で、囲む必要がある。
-p オプションにバグがあるから、代わりに、-n を使う
Linux では、
ls | ruby -ne 'puts $_.center(20, "-")'
Windows では、
ls -name | ruby -ne 'puts $_.center(20, %Q("-"))'
865837
2019/10/15(火) 00:19:51.79ID:2TGG4eyN Perl は、暗号みたいで可読性が低い。
PowerShell, VBS は、あまり複雑なものは無理
結局、CSV・テキスト処理は、Ruby になる
PowerShell, VBS は、あまり複雑なものは無理
結局、CSV・テキスト処理は、Ruby になる
866デフォルトの名無しさん
2019/10/15(火) 00:29:40.66ID:6JoAHvL2 こういう時のRubyくんは頼もしいなw
867デフォルトの名無しさん
2019/10/15(火) 01:03:55.75ID:QM8G0kj4 最初Perlを覚えようとして数分でギブアップしてRubyにしたな
必要があればPythonやLua、JScriptも書くが基本Rubyだわ。コード効率が全然違う
そういやRubyってWindowsのコマンドライン引数をUnicodeで取れるようになったのか?
ちょっと前のバージョンだとダメだった記憶があるが
必要があればPythonやLua、JScriptも書くが基本Rubyだわ。コード効率が全然違う
そういやRubyってWindowsのコマンドライン引数をUnicodeで取れるようになったのか?
ちょっと前のバージョンだとダメだった記憶があるが
868837
2019/10/15(火) 02:17:50.48ID:2TGG4eyN Windowsでは、irb, pry のようなREPL は、日本語でバグるから、ダメ!
漏れはWindowsで、ユーザー環境変数、RUBYOPT に、--encoding=UTF-8 を設定しているから、
irb, pry のような、CP932 でやり取りする、REPL は使えない。
Windows とのやり取りを、UTF-8だけに限定しているから、CP932 では動かない
VSCode で作って、PowerShell から実行する
「ruby オプション script.rb 引数」の形
それをダブルクリックで起動したいのなら、
script.bat, script.vbs ファイルに、起動部分だけを書く
.rb の拡張子を、ダブルクリックに紐づけると、不注意で起動されてしまうので危険!
漏れはWindowsで、ユーザー環境変数、RUBYOPT に、--encoding=UTF-8 を設定しているから、
irb, pry のような、CP932 でやり取りする、REPL は使えない。
Windows とのやり取りを、UTF-8だけに限定しているから、CP932 では動かない
VSCode で作って、PowerShell から実行する
「ruby オプション script.rb 引数」の形
それをダブルクリックで起動したいのなら、
script.bat, script.vbs ファイルに、起動部分だけを書く
.rb の拡張子を、ダブルクリックに紐づけると、不注意で起動されてしまうので危険!
869デフォルトの名無しさん
2019/10/15(火) 07:29:26.08ID:PDkOr6WD870デフォルトの名無しさん
2019/10/15(火) 08:26:42.36ID:f1lycctY >>866
いやいやRubyくんは知識が中途半端だから
問題の本質がわかってないだけだよw
話は単純で、RubyやPerlなどUnixやLinuxに最適化されてるものは
ファイルの文字コードにはUTF-8を使うようにしましょうと言うだけの話。
(ファイルの文字コードは元からUnicodeなので問題は起きない)
Windowsもコマンドプロンプトはデフォルトこそ(日本語設定では)ShiftJISだが
UTF-8対応してるし、WSLはUTF-8が基本。
スクリプトファイルをUTF-8で記述するようにし(メモ帳ですらUTF-8対応してる)、
そこから読み込むデータファイルをUTF-8にすることで、LinuxでもWindowsでも
文字コードの問題は一切発生しなくなる。
UTF-8を使うだけで文字コードの問題はすべて解決するというわけ
もしスクリプトファイルからShiftJISのファイルを扱いたければ、
スクリプト外のiconvやnkfを使って変換すればよい。もうUTF-8に統一しよう。
いやいやRubyくんは知識が中途半端だから
問題の本質がわかってないだけだよw
話は単純で、RubyやPerlなどUnixやLinuxに最適化されてるものは
ファイルの文字コードにはUTF-8を使うようにしましょうと言うだけの話。
(ファイルの文字コードは元からUnicodeなので問題は起きない)
Windowsもコマンドプロンプトはデフォルトこそ(日本語設定では)ShiftJISだが
UTF-8対応してるし、WSLはUTF-8が基本。
スクリプトファイルをUTF-8で記述するようにし(メモ帳ですらUTF-8対応してる)、
そこから読み込むデータファイルをUTF-8にすることで、LinuxでもWindowsでも
文字コードの問題は一切発生しなくなる。
UTF-8を使うだけで文字コードの問題はすべて解決するというわけ
もしスクリプトファイルからShiftJISのファイルを扱いたければ、
スクリプト外のiconvやnkfを使って変換すればよい。もうUTF-8に統一しよう。
871867
2019/10/15(火) 10:57:31.55ID:Nw/k9czi 2.5に--encoding=UTF-8を付けるとARGVはUnicode対応になるようだ
>>870
昔のWindows版RubyはARGVがCP932決め打ちだったと記憶している
そのためCP932に含まれない文字列を含む引数の扱いに難があった
>>870
昔のWindows版RubyはARGVがCP932決め打ちだったと記憶している
そのためCP932に含まれない文字列を含む引数の扱いに難があった
872デフォルトの名無しさん
2019/10/15(火) 12:41:30.07ID:qvzCc57+ _ismbsleadや_ismbstrailって、Shift-JISのような2バイト文字のときはわかるけど、
UTF-8のような3バイト以上の文字のときは、どのような動作になるのでしょうか。
それとも、2バイト文字専用の関数ですか?
UTF-8のような3バイト以上の文字のときは、どのような動作になるのでしょうか。
それとも、2バイト文字専用の関数ですか?
873デフォルトの名無しさん
2019/10/15(火) 12:48:31.55ID:MIRz+4X1 javascriptのデータ型の質問です
var num = [10,20,30,];
var num2 =num;
num[1] =50;
console.log(num2);//結果10,50,30
配列は参照型なのでこの結果には納得できますが
var num = [10,20,30,];
var num2 =num;
num =[40,50,60];
console.log(num2);//結果10,20,30
console.log(num)//結果40,50,60
この場合なぜnum2の値は変わらないのですか?
配列を全て入れ替えると、num2に入れたnumとは別物(参照先が別)扱いになるのですか?
var num = [10,20,30,];
var num2 =num;
num[1] =50;
console.log(num2);//結果10,50,30
配列は参照型なのでこの結果には納得できますが
var num = [10,20,30,];
var num2 =num;
num =[40,50,60];
console.log(num2);//結果10,20,30
console.log(num)//結果40,50,60
この場合なぜnum2の値は変わらないのですか?
配列を全て入れ替えると、num2に入れたnumとは別物(参照先が別)扱いになるのですか?
874デフォルトの名無しさん
2019/10/15(火) 14:28:04.07ID:81YUYh7D num = [40,50,60];
は
num[0] = 40; num[1] = 50; num[2] = 60;
ではなくて
num = new Array(40,50,60);
だから
添字のブラケットとブラケット構文は別物です
は
num[0] = 40; num[1] = 50; num[2] = 60;
ではなくて
num = new Array(40,50,60);
だから
添字のブラケットとブラケット構文は別物です
875デフォルトの名無しさん
2019/10/15(火) 14:34:21.71ID:17EAacqo JSの[N,M]は配列リテラルなので、それそのものが配列として機能したと思う。
876デフォルトの名無しさん
2019/10/15(火) 15:10:31.40ID:LCoHwxWt >>873
num2 = num;
は箱の場所(住所みたいなもの)を num と同じにしろ、という意味。
だから、num[1] =50; とすると、num2[1] も 50 になる。
一方、
num =[40,50,60];
とすると、「今までの num の場所に右辺をコピーして上書きしろ」
という「意味ではなく(!!)」、
「num という変数の『指している』対象を右辺の置いてある場所(先頭)に変えろ」
という意味。だから、num2には全く影響を与えず、num2は依然として
昔の箱の場所を指し続けている。
num2 = num;
は箱の場所(住所みたいなもの)を num と同じにしろ、という意味。
だから、num[1] =50; とすると、num2[1] も 50 になる。
一方、
num =[40,50,60];
とすると、「今までの num の場所に右辺をコピーして上書きしろ」
という「意味ではなく(!!)」、
「num という変数の『指している』対象を右辺の置いてある場所(先頭)に変えろ」
という意味。だから、num2には全く影響を与えず、num2は依然として
昔の箱の場所を指し続けている。
877852
2019/10/15(火) 17:49:49.01ID:xlc04VK+ 皆さんいろいろ教えていただいてありがとうございました。
近いうちにRubyを導入してみようと思います。
近いうちにRubyを導入してみようと思います。
878デフォルトの名無しさん
2019/10/15(火) 20:33:26.95ID:rgut+G6x >>871
それはコマンドプロンプトの問題だったんじゃないかなぁ
Cygwinだと1.9時代でも問題なかったよ
>>868
>Windowsでは、irb, pry のようなREPL は、日本語でバグるから、ダメ!
「バグる」で思考停止せずに問題を切り分けよう
https://github.com/pry/pry/wiki/Windows-support
>.rb の拡張子を、ダブルクリックに紐づけると、不注意で起動されてしまうので危険!
これはその通りだけど、.batでも.vbsでも同じようなものじゃないの?
セキュリティも考えるなら署名付きPowerShellとかのほうが安全ではあるよね
それはコマンドプロンプトの問題だったんじゃないかなぁ
Cygwinだと1.9時代でも問題なかったよ
>>868
>Windowsでは、irb, pry のようなREPL は、日本語でバグるから、ダメ!
「バグる」で思考停止せずに問題を切り分けよう
https://github.com/pry/pry/wiki/Windows-support
>.rb の拡張子を、ダブルクリックに紐づけると、不注意で起動されてしまうので危険!
これはその通りだけど、.batでも.vbsでも同じようなものじゃないの?
セキュリティも考えるなら署名付きPowerShellとかのほうが安全ではあるよね
879デフォルトの名無しさん
2019/10/15(火) 20:41:27.51ID:rgut+G6x880デフォルトの名無しさん
2019/10/15(火) 20:46:02.62ID:MIRz+4X1881デフォルトの名無しさん
2019/10/16(水) 00:53:20.11ID:BcOpz+1/ ココまでの流れを見ると、PythonはAIやらない限りRubyに劣るという認識でよろしいですか?
文法やライブラリで勝るところって何か無いのでしょうか?
文法やライブラリで勝るところって何か無いのでしょうか?
882デフォルトの名無しさん
2019/10/16(水) 01:39:47.59ID:J5r9S3ID >>881
全然認識が違う
Pythonが劣っている訳ではなくて、Python使えますというと数学力や機械学習を期待されてしまい、それがない人は辛くなる
なおPythonが文法で勝るところは余りないように思うが、別に負けているとも感じない
Rubyのメソッドチェーンは素直に羨ましい
Pythonのimport/from importの仕様やジェネレータの仕様はなんだかなぁ状態
Rubyはメソッド周りがわけわかめ、def、proc、porc.new、->はなんとかならんかったのか
強力なライブラリはRubyよりもPythonのが多い
pandasやnumpyがめっちゃ強力、matplotlib,seaborn,plotlyでグラフもOK
JupyterがあるのもPythonの利点だったけど、最近はRubyも使える
画像処理は外部ライブラリを使うだけなので似たり寄ったり
C言語とのバインドはRubyでswig使うよりはPythonのが簡単に思う
Python2の頃は日本語処理が酷かったが、pytjon3になってからはそうでもない
バージョンアップごとの対応はどっちも辛かった
Ruby 1.8 -> 1.9 -> 2.0で都度キレた
Pythonは2.7から3系になったときに同じくキレた
4系でも多分キレると思う
全然認識が違う
Pythonが劣っている訳ではなくて、Python使えますというと数学力や機械学習を期待されてしまい、それがない人は辛くなる
なおPythonが文法で勝るところは余りないように思うが、別に負けているとも感じない
Rubyのメソッドチェーンは素直に羨ましい
Pythonのimport/from importの仕様やジェネレータの仕様はなんだかなぁ状態
Rubyはメソッド周りがわけわかめ、def、proc、porc.new、->はなんとかならんかったのか
強力なライブラリはRubyよりもPythonのが多い
pandasやnumpyがめっちゃ強力、matplotlib,seaborn,plotlyでグラフもOK
JupyterがあるのもPythonの利点だったけど、最近はRubyも使える
画像処理は外部ライブラリを使うだけなので似たり寄ったり
C言語とのバインドはRubyでswig使うよりはPythonのが簡単に思う
Python2の頃は日本語処理が酷かったが、pytjon3になってからはそうでもない
バージョンアップごとの対応はどっちも辛かった
Ruby 1.8 -> 1.9 -> 2.0で都度キレた
Pythonは2.7から3系になったときに同じくキレた
4系でも多分キレると思う
883デフォルトの名無しさん
2019/10/16(水) 19:03:43.52ID:sUcGSwhO884デフォルトの名無しさん
2019/10/17(木) 00:12:04.35ID:nmwrV9Kg Python は東大数学科・大学院など、数学・統計学などの重要度が高いから、あまりプログラミングと関係ない。
プログラマーのキャリアパス上からは、仕事が得られない
学歴・大学院などの要素が大きい。
MBA など、文系の修士号から来る人も多い
プログラミングは、手を動かすものだけど、
低学歴プログラマーが頑張っても、なんともならない領域
YouTube で、KENTA が言ってる通り、
初心者が1年勉強して、仕事を取れることがない。
周りが高学歴ばっかりだから
一方、Ruby は、Web 系サーバー側に限定されているから、プログラマーのキャリアパス上にある。
Ruby → JavaScript, Go, Elixir, Kotlin。
サーバー側の正統派のキャリアパス
最先端の自社サービス、GitHub, Airbnb, Kickstarter、
Cookpad、食べログ、Gunosy など
Rubyは、Java みたいな、5大SIer・多重下請け構造・階層ピラミッド・土方系とは異なる。
階層に入ると、1社経由する度に、3割抜かれる(システムの請負料金・保証料金)
プログラマーのキャリアパス上からは、仕事が得られない
学歴・大学院などの要素が大きい。
MBA など、文系の修士号から来る人も多い
プログラミングは、手を動かすものだけど、
低学歴プログラマーが頑張っても、なんともならない領域
YouTube で、KENTA が言ってる通り、
初心者が1年勉強して、仕事を取れることがない。
周りが高学歴ばっかりだから
一方、Ruby は、Web 系サーバー側に限定されているから、プログラマーのキャリアパス上にある。
Ruby → JavaScript, Go, Elixir, Kotlin。
サーバー側の正統派のキャリアパス
最先端の自社サービス、GitHub, Airbnb, Kickstarter、
Cookpad、食べログ、Gunosy など
Rubyは、Java みたいな、5大SIer・多重下請け構造・階層ピラミッド・土方系とは異なる。
階層に入ると、1社経由する度に、3割抜かれる(システムの請負料金・保証料金)
885デフォルトの名無しさん
2019/10/17(木) 06:45:24.35ID:gq3I2ckq Rubyは作者が日本人だけあって言語が一時しのぎの感情論で作られていて論理性が全く感じられず
使うだけで洗脳されて馬鹿になるからやめた方がいい
pythonはその反対
使うだけで洗脳されて馬鹿になるからやめた方がいい
pythonはその反対
886デフォルトの名無しさん
2019/10/17(木) 10:27:02.49ID:tq7j3RVK ↑などという論理性が全く感じられない感情論を吐くのが
洗脳されて馬鹿になってる証拠
洗脳されて馬鹿になってる証拠
887デフォルトの名無しさん
2019/10/17(木) 11:27:44.59ID:huR1Dm0j Rubyは作者が日本人だけあって言語が一時しのぎの感情論で作られていて論理性が全く感じられない。
ちょっと使ってみただけでも、そんな感じになってるのが感覚的にわかるだろ
その雰囲気を肌で感じることが出来ないやつは、論理性がなく感情論で話をしてる
ちょっと使ってみただけでも、そんな感じになってるのが感覚的にわかるだろ
その雰囲気を肌で感じることが出来ないやつは、論理性がなく感情論で話をしてる
888デフォルトの名無しさん
2019/10/17(木) 11:30:15.05ID:8776I+gg そういうボケ方好きよ
889デフォルトの名無しさん
2019/10/17(木) 11:43:00.82ID:bd1FscY+ >>887
Rubyの論理性の無さの例を教えて下さい。
Rubyの論理性の無さの例を教えて下さい。
890デフォルトの名無しさん
2019/10/17(木) 12:00:43.15ID:GTpPRCCe PC用のソフトウェアが、スマホアプリのように気軽に課金される日は来ると思う?
PCから割れの被害がなくなる日は来ると思う?
PCから割れの被害がなくなる日は来ると思う?
891デフォルトの名無しさん
2019/10/17(木) 12:09:08.39ID:2s2Qb0U5 >>890
板のテンプレ読め。マ板でやれ
板のテンプレ読め。マ板でやれ
892デフォルトの名無しさん
2019/10/17(木) 13:28:26.72ID:ucUV19VT893デフォルトの名無しさん
2019/10/17(木) 13:33:52.71ID:qaCXzdDd 独自URLを定義したいんだけど
ただ自分のアプリ(localhost動作)で使うだけのURLの場合、スキームはどうすべき?
dokuzi://my.app/
URLを使いたいのは、ただそうするのが標準だからかなと思ったから。
外部アプリから自分のアプリが管理してるデータへの参照を、
どんな文字列でもよかったんだけど、
どうせならURLっぽくやろうかなと思った。
ただ自分のアプリ(localhost動作)で使うだけのURLの場合、スキームはどうすべき?
dokuzi://my.app/
URLを使いたいのは、ただそうするのが標準だからかなと思ったから。
外部アプリから自分のアプリが管理してるデータへの参照を、
どんな文字列でもよかったんだけど、
どうせならURLっぽくやろうかなと思った。
894デフォルトの名無しさん
2019/10/17(木) 14:20:28.37ID:tq7j3RVK >>893
Custom URL Scheme, Deep Link, Universal Link, iOS/Androidとかのキーワードでググる
Custom URL Scheme, Deep Link, Universal Link, iOS/Androidとかのキーワードでググる
895デフォルトの名無しさん
2019/10/17(木) 15:54:01.39ID:lECi1og0 カスタムURIスキームの利点はユーザーがURLを指定できるところに
何でも起動できちゃうURLを仕込めるというところにあるから
自アプリだけで完結しているなら利点はないしそこまで好き勝手に使っていいという気はしないな
何でも起動できちゃうURLを仕込めるというところにあるから
自アプリだけで完結しているなら利点はないしそこまで好き勝手に使っていいという気はしないな
896デフォルトの名無しさん
2019/10/17(木) 23:50:51.28ID:nmwrV9Kg Docker, Ruby on Rails(REST、リソースベースのルーティング)などを使えば?
897デフォルトの名無しさん
2019/10/18(金) 01:12:05.48ID:tY/eTMs7 Rubyはメソッドチェーンのおかげで最高の言語だと感じますが、間違いでしょうか?
grep、join、gsub、gsubってつながっていく様子が、まるで
ファイヤー、アイスストーム、ダイアキュート、ブレインダムド、ばよえ〜ん、
って印象です。
grep、join、gsub、gsubってつながっていく様子が、まるで
ファイヤー、アイスストーム、ダイアキュート、ブレインダムド、ばよえ〜ん、
って印象です。
898デフォルトの名無しさん
2019/10/18(金) 01:15:47.93ID:2g/GJrKd 関数繋げるだけならlispと何が違うんだ?
ただし、個人の主観は絶対的に正しいので、オメーが最高の言語だと感じてるならどうぞお好きにとしか言いようがない
つまりは、個人の主観に間違いなし、だ
コイツの脳内で渦巻いてる主観には間違いは無いし間違いがあろうとなかろうとそれには気付けない
だから主観そのものは絶対的に正しい
よかったネ!
ただし、個人の主観は絶対的に正しいので、オメーが最高の言語だと感じてるならどうぞお好きにとしか言いようがない
つまりは、個人の主観に間違いなし、だ
コイツの脳内で渦巻いてる主観には間違いは無いし間違いがあろうとなかろうとそれには気付けない
だから主観そのものは絶対的に正しい
よかったネ!
899デフォルトの名無しさん
2019/10/18(金) 01:49:51.81ID:tY/eTMs7 >>898
なぜそんなに喧嘩腰なの?
なぜそんなに喧嘩腰なの?
900デフォルトの名無しさん
2019/10/18(金) 08:50:31.21ID:YuWkr+rI たぶん人違い
いろんなところに出没するrubyで荒すやつがいるんだ
いろんなところに出没するrubyで荒すやつがいるんだ
901デフォルトの名無しさん
2019/10/18(金) 15:58:51.85ID:lmpJOwiE あれは某国のアンチRuby工作員
902デフォルトの名無しさん
2019/10/19(土) 06:28:11.22ID:dr1ysGqL フォームから入力した値をDBに登録する際に、入力された値が決められた規則に従っているか確認したいので、
プログラムでチェックするべき範囲とDBのCHECK制約で行う範囲の明確な線引きとかガイドラインがあれば教えてください。
プログラムでチェックするべき範囲とDBのCHECK制約で行う範囲の明確な線引きとかガイドラインがあれば教えてください。
903デフォルトの名無しさん
2019/10/19(土) 09:59:39.30ID:V83HT+bA >>902
そんな雲をつかむような質問ではまともな回答しようがないので質問のガイドラインを勉強してきてください
そんな雲をつかむような質問ではまともな回答しようがないので質問のガイドラインを勉強してきてください
904デフォルトの名無しさん
2019/10/19(土) 10:29:12.51ID:fDUUZQql まず、出来る限り、プログラムでチェックする。
ここでチェックできれば、ネット回線へ送られないから、すごく良い
DB 書き込みでは、すべてをチェックする。
ブラウザで、送られるデータをチートする人もいるので、必ずDB では、すべてチェックする!
基本、ブラウザから送られるデータを信用してはいけない!
チートしたり、伝送ミスで、データが間違っている事が多いから
ここでチェックできれば、ネット回線へ送られないから、すごく良い
DB 書き込みでは、すべてをチェックする。
ブラウザで、送られるデータをチートする人もいるので、必ずDB では、すべてチェックする!
基本、ブラウザから送られるデータを信用してはいけない!
チートしたり、伝送ミスで、データが間違っている事が多いから
905デフォルトの名無しさん
2019/10/19(土) 11:02:07.69ID:nnyc8pgy CHECK制約は使わない
せいぜい保険の最終防壁
いろいろ理由はあるがDBが返す「CHECK制約xxに違反しました」といったエラー情報をまともなエラーメッセージに変換するのがまず厄介
せいぜい保険の最終防壁
いろいろ理由はあるがDBが返す「CHECK制約xxに違反しました」といったエラー情報をまともなエラーメッセージに変換するのがまず厄介
906デフォルトの名無しさん
2019/10/19(土) 13:31:13.10ID:vCREqhgr >>905
最終防壁なら、バグでもない限りでないんだから、そんなエラーをまともなエラーメッセージに修正する必要ないじゃん
スタックトレースをわかりやすい日本語に直さなきゃいけない。みたいな
アホなことをお前は言ってるぞ。
最終防壁なら、バグでもない限りでないんだから、そんなエラーをまともなエラーメッセージに修正する必要ないじゃん
スタックトレースをわかりやすい日本語に直さなきゃいけない。みたいな
アホなことをお前は言ってるぞ。
907904
2019/10/19(土) 14:20:19.31ID:fDUUZQql クライアント側でチートしたり、伝送エラーがある
ドラクエでは、よくエラーが起こっているから、
インターネットから来るデータは、絶対に信用してはいけない!
途中のルーターで、伝送エラーを見つけても、再送せず、そのまま送ってくるし
ドラクエでは、よくエラーが起こっているから、
インターネットから来るデータは、絶対に信用してはいけない!
途中のルーターで、伝送エラーを見つけても、再送せず、そのまま送ってくるし
908デフォルトの名無しさん
2019/10/19(土) 14:48:46.87ID:QmPBAH4r クライアント側チェックとサーバー側チェックの話じゃないぞ
909デフォルトの名無しさん
2019/10/19(土) 14:59:20.11ID:tEExLpzf 僕はたにぐちまこと先生を支持します
910デフォルトの名無しさん
2019/10/19(土) 15:06:14.38ID:QmPBAH4r >>902
明確な線引きやガイドラインは無い!!
CHECK制約で守れる整合性の重要度、不整合発生時の影響度、DBにアクセスするプログラムの数、
採用してる設計手法、維持管理・変更時の手間、パフォーマンスペナルティ、プログラマーのレベル等々
置かれた状況とトレードオフを判断して設計者が決めること
プログラム側のみでチェックする場合もあれば
DB側のみでチェックしてプログラム側でユーザーフレンドリーなエラーにする場合もあるし
両方でチェックしてDB側エラーは集約ハンドラで汎用エラーにする場合もある
プログラムーはプログラムだけで保証したがる
DB屋はプログラマーを信用してないからCHECK制約をできるだけ使いたがる
明確な線引きやガイドラインは無い!!
CHECK制約で守れる整合性の重要度、不整合発生時の影響度、DBにアクセスするプログラムの数、
採用してる設計手法、維持管理・変更時の手間、パフォーマンスペナルティ、プログラマーのレベル等々
置かれた状況とトレードオフを判断して設計者が決めること
プログラム側のみでチェックする場合もあれば
DB側のみでチェックしてプログラム側でユーザーフレンドリーなエラーにする場合もあるし
両方でチェックしてDB側エラーは集約ハンドラで汎用エラーにする場合もある
プログラムーはプログラムだけで保証したがる
DB屋はプログラマーを信用してないからCHECK制約をできるだけ使いたがる
911デフォルトの名無しさん
2019/10/19(土) 15:55:36.45ID:iFqGS+wa そりゃ条件式の複雑度数が20を超えたらプログラムで対処、だろ
複雑度数がなんなのかは知らない
複雑度数がなんなのかは知らない
912デフォルトの名無しさん
2019/10/19(土) 19:10:07.24ID:VYVT60v2 >>902
ガイドライン板行け
ガイドライン板行け
913デフォルトの名無しさん
2019/10/19(土) 20:07:11.93ID:hpHQur/j マルチエージェントシミュレーションをしようとしているのですが
シミュレーションを管理するクラスと各エージェントクラスはどのような関係にすべきでしょうか
各エージェントを管理クラスに保持すると一括してアップデートできて便利ですが、エージェントが他のエージェントの情報にアクセスできません
シミュレーションを管理するクラスと各エージェントクラスはどのような関係にすべきでしょうか
各エージェントを管理クラスに保持すると一括してアップデートできて便利ですが、エージェントが他のエージェントの情報にアクセスできません
914デフォルトの名無しさん
2019/10/19(土) 20:07:36.03ID:lFhCDuxs 開発プロジェクトの谷間にて、業務効率化スクリプトの機能追加や改善を行っています。
VBA、VBS、Ruby、Perl等いろんな言語のスクリプトが混在していているのですが、皆はこれが厄介だと言います。
しかし、チームで一番若い新人が一番四苦八苦しているのは正規表現の解読であり、私が質問を受けるのももっぱら正規表現関連ばかりです。
結局、業務効率化スクリプトなんてのは、正規表現がわかればその都度、「早く書ける」「操作性が良いのが書ける」を考えて言語を選べばよいだけという認識で良いですかね?
VBA、VBS、Ruby、Perl等いろんな言語のスクリプトが混在していているのですが、皆はこれが厄介だと言います。
しかし、チームで一番若い新人が一番四苦八苦しているのは正規表現の解読であり、私が質問を受けるのももっぱら正規表現関連ばかりです。
結局、業務効率化スクリプトなんてのは、正規表現がわかればその都度、「早く書ける」「操作性が良いのが書ける」を考えて言語を選べばよいだけという認識で良いですかね?
915デフォルトの名無しさん
2019/10/19(土) 20:34:14.08ID:vCREqhgr 正規表現なんて、少し難しい漢字を知ってる程度のレベル
知らなきゃ困るが、知っていたからっていい文章(コード)が書けるわけじゃない
知らなきゃ困るが、知っていたからっていい文章(コード)が書けるわけじゃない
916デフォルトの名無しさん
2019/10/19(土) 20:35:18.67ID:sd9gDFLM917デフォルトの名無しさん
2019/10/19(土) 20:46:17.55ID:QmPBAH4r >>914
「業務効率化スクリプト」って例えばどういう処理してるの?
「業務効率化スクリプト」って例えばどういう処理してるの?
918デフォルトの名無しさん
2019/10/19(土) 20:56:38.06ID:lFhCDuxs >>917
他にも色々ありますが、以下のようなものが代表的です。
・プロジェクト新規参入者のPCキッティング
・適切な対象の適切なタイミングでのSVN更新補助
・CUnitでのアサートチェックに適さないテスト結果ログの比較自動化
・静的解析ツールでは出来ない開発Pjソース上の不適切箇所の検出
他にも色々ありますが、以下のようなものが代表的です。
・プロジェクト新規参入者のPCキッティング
・適切な対象の適切なタイミングでのSVN更新補助
・CUnitでのアサートチェックに適さないテスト結果ログの比較自動化
・静的解析ツールでは出来ない開発Pjソース上の不適切箇所の検出
919デフォルトの名無しさん
2019/10/19(土) 20:58:12.65ID:lFhCDuxs920デフォルトの名無しさん
2019/10/19(土) 21:03:38.66ID:ix8h3W5Y921デフォルトの名無しさん
2019/10/19(土) 21:59:47.46ID:QmPBAH4r >>918
おお、想像してたのと全然違った
基本的には読みやすさとメンテのしやすさを考えてベースとなる標準言語を決めておいて
処理内容の特性によって違う言語を選択するようなゆるいルールを作っとくほうがおすすめ
自分はチームメンバー10人いれば下から3番目くらいのメンバーの技術レベルに寄せる
2人くらいできないやつがいても残りでカバーできるから
あと正規表現はもともと読みにくくなりやすいから部品に分解してコメント書いたり
多少遅くても読みやすい表現を選んだり簡単なテストコードを残すとかドキュメント生成とかする
言語によっては正規表現は一続きで書かないとダメなやつもあるからその辺も選択基準になる
おお、想像してたのと全然違った
基本的には読みやすさとメンテのしやすさを考えてベースとなる標準言語を決めておいて
処理内容の特性によって違う言語を選択するようなゆるいルールを作っとくほうがおすすめ
自分はチームメンバー10人いれば下から3番目くらいのメンバーの技術レベルに寄せる
2人くらいできないやつがいても残りでカバーできるから
あと正規表現はもともと読みにくくなりやすいから部品に分解してコメント書いたり
多少遅くても読みやすい表現を選んだり簡単なテストコードを残すとかドキュメント生成とかする
言語によっては正規表現は一続きで書かないとダメなやつもあるからその辺も選択基準になる
922デフォルトの名無しさん
2019/10/19(土) 22:24:10.31ID:QmPBAH4r923デフォルトの名無しさん
2019/10/19(土) 22:49:51.20ID:lFhCDuxs >>921
>おお、想像してたのと全然違った
どんなのを想像されていたのでしょうか?
>ベースとなる標準言語を決めておいて
標準とするならRubyでしょうね。Perlについては昔Perl大好きくんがいたから残っているだけで、新規に書く理由がないですからね。
VBSはInputBoxが標準で使えることと、Win環境である限りどこに持っていっても動くという利点以外に利点が無いので、こいつもRuby化したいですね。
VBAだけは、C#アドイン化が大変なのと、外部化するメリットが無いものが多いのでそのままメンテかな…。
>おお、想像してたのと全然違った
どんなのを想像されていたのでしょうか?
>ベースとなる標準言語を決めておいて
標準とするならRubyでしょうね。Perlについては昔Perl大好きくんがいたから残っているだけで、新規に書く理由がないですからね。
VBSはInputBoxが標準で使えることと、Win環境である限りどこに持っていっても動くという利点以外に利点が無いので、こいつもRuby化したいですね。
VBAだけは、C#アドイン化が大変なのと、外部化するメリットが無いものが多いのでそのままメンテかな…。
924デフォルトの名無しさん
2019/10/20(日) 07:08:06.61ID:ADDbXmaX >>913
>エージェントが、他のエージェントの情報にアクセスできません
たぶん、Chef, Kubernetes などでも、
エージェント同士が直接アクセスする事は、認めていないと思う
そういうプログラミングは、難しすぎて出来ない。
多くのエージェント間で、整合性が取れない
必ず、エージェントはマネージャーに頼んで、マネージャーが仕切るはず!
デザインパターンで言うと、
直接やり取りのObserver(発行/購読)ではなく、
マネージャー経由のMediator(管制塔)
>エージェントが、他のエージェントの情報にアクセスできません
たぶん、Chef, Kubernetes などでも、
エージェント同士が直接アクセスする事は、認めていないと思う
そういうプログラミングは、難しすぎて出来ない。
多くのエージェント間で、整合性が取れない
必ず、エージェントはマネージャーに頼んで、マネージャーが仕切るはず!
デザインパターンで言うと、
直接やり取りのObserver(発行/購読)ではなく、
マネージャー経由のMediator(管制塔)
925デフォルトの名無しさん
2019/10/20(日) 07:31:48.09ID:ADDbXmaX >>914
テキスト処理なら、総合的に考えて、Ruby が良い!
Rubyでは、Perl 由来の暗号のような変数、$;, $< なども、使わないようにしていく方向
正規表現は、入れ子構造のあるものに対して、使ってはいけない!
例えば、URL の解析でも数千行あるから、複雑すぎて、一企業じゃ作れない
<div 1>
<div><div></div 4></div>
<div></div>
</div 8>
例えばこれを、div で最短マッチしても、div 1・4が対応してしまう。
これらすべてを正しく対応させるのは、至難の業
他にも、CSV 処理を、CSV Module を使わずに、正規表現でやってる人も、ダメ!
CSV, JSON, HTML など、入れ子構造を持つものは、パーサーで処理しないといけない!
正規表現では、数千行も必要だから、無理!
テキスト処理なら、総合的に考えて、Ruby が良い!
Rubyでは、Perl 由来の暗号のような変数、$;, $< なども、使わないようにしていく方向
正規表現は、入れ子構造のあるものに対して、使ってはいけない!
例えば、URL の解析でも数千行あるから、複雑すぎて、一企業じゃ作れない
<div 1>
<div><div></div 4></div>
<div></div>
</div 8>
例えばこれを、div で最短マッチしても、div 1・4が対応してしまう。
これらすべてを正しく対応させるのは、至難の業
他にも、CSV 処理を、CSV Module を使わずに、正規表現でやってる人も、ダメ!
CSV, JSON, HTML など、入れ子構造を持つものは、パーサーで処理しないといけない!
正規表現では、数千行も必要だから、無理!
926デフォルトの名無しさん
2019/10/20(日) 09:11:09.98ID:akKR2ina Perlが廃れた理由が分かった
普通の人間には正規表現が難し過ぎるんだ
その部分がモロに出てるperlは忌避される
普通の人間には正規表現が難し過ぎるんだ
その部分がモロに出てるperlは忌避される
レス数が900を超えています。1000を超えると表示できなくなるよ。
