- Rubyについて(アンチ専用) Part005
249 :デフォルトの名無しさん[sage]:2020/10/18(日) 00:57:58.47 ID:xeOKOt4d - >>231
>streamが標準出力にもファイルにも使えるでしょ。 どうやればいいの? 出来ないと思うけど。
|
- Rubyについて(アンチ専用) Part005
250 :デフォルトの名無しさん[sage]:2020/10/18(日) 01:05:21.49 ID:xeOKOt4d - Rubyは簡単に出来るのに node.jsは単独でディレクトリのコピーすら出来ない。
行うためには、 1. copySync()を使うためにはfs-extraモジュールのインストールが必要だが npm install -g fs-extraででインストールしても環境変数NODE_PATHに パスが通ってないため最初は使えず混乱する。 じぶんのためだけならいいが、作ったjsプログラムを初心者に使ってもらう のはこれだけでも不可能となり、一般人への自作プログラムの配布は絶望的となる。 2. copy、xcopy、robocopyなどの外部コマンドを呼び出せればコピーできるが、 RubyならC言語の伝統的なsysytem()関数をより強力で便利にした関数をサポートしている が、node.jsはしておらず、非常に使いにくいexec()やspawn()関数を非同期で使わなく てはならない。 以上により、node.jsは自分用としては使えるが、一般人に作ったプログラムを 配布して使ってもらうのは絶望的といえる。
|
- Rubyについて(アンチ専用) Part005
253 :デフォルトの名無しさん[sage]:2020/10/18(日) 01:21:29.87 ID:xeOKOt4d - >>252
node.jsで、streamを使ってstdoutへの出力をする方法を具体的に書いてみてください。 なお、書き込む関数もファイルと全く同じ関数群が使えなくてはいけません。
|
- Rubyについて(アンチ専用) Part005
254 :デフォルトの名無しさん[sage]:2020/10/18(日) 01:24:00.15 ID:xeOKOt4d - >>252
どこの知識不足なのか具体的に書いてください。 Rubyは、ディレクトリコピー、sysytemや外部コマンドの実行でネット検索すれば それぞれすぐに答えが出てきます。 node.jsは英語で検索しても埒の明かない答えばかりで、現実にはまともに 対応できてないものと思われます。
|
- Rubyについて(アンチ専用) Part005
256 :デフォルトの名無しさん[sage]:2020/10/18(日) 01:43:59.33 ID:xeOKOt4d - >>255
パイプではなく、自分のプログラム、例えば、Hello Worldのプログラムで node.jsにおいてstreamを標準出力に書き込むための手段として使う方法を聞いています。 もちろん、元祖C言語ではFILE系のstreamはstdoutに当然対応していますが、 node.jsでは不明確です。 ファイルをオープンする際のファイル名に何かを指定すれば出来るかも知れませんが。 C言語のstdoutに相当するものがどこにあるのか不明です。 番号の0や1なのでしょうか。
|
- Rubyについて(アンチ専用) Part005
259 :デフォルトの名無しさん[sage]:2020/10/18(日) 02:03:58.45 ID:xeOKOt4d - process.stdout.fd が fd の int 整数の「1」になっていて、
これを fs.writeSync()の第一引数に渡せば標準出力に 出力できることが分かりました。 しかし、ドキュメントが不十分でめちゃくちゃ分かりにくいです。 Rubyのドキュメントは非常に分かり易いです。
|
- Rubyについて(アンチ専用) Part005
260 :デフォルトの名無しさん[sage]:2020/10/18(日) 02:09:23.19 ID:xeOKOt4d - node.jsは、自慢で立派そうなnpmコマンドがあっても、NODE_PATHという
基本中の基本の環境変数すら設定されません。 これでfs-extraモジュールを追加インストールしなければ同期コピーすら出来ないのに。 同期的な外部コマンド実行も同様だと予想されます。 サーバーサイドの裏方として用いるならともかく、これをデスクトップマシンの BATファイルの代わりやスクリプト言語として、一般人向けに配布することは この段階で不可能となります。 その分野では現段階ではRubyが一番適切です。
|
- Rubyについて(アンチ専用) Part005
262 :デフォルトの名無しさん[sage]:2020/10/18(日) 02:31:11.77 ID:xeOKOt4d - 後、変数someの展開を文字列の中で行いたい場合
Ruby: "some=#{some}" JS: `some=${some}` の書き方もRubyの方が便利。 逆引用符は入れにくいし 他が普通の二重引用符なのに一部だけ逆引用符なのは 分かりにくくなりやすい。 それから、\ からエスケープシーケンスの働きをなくして単なる文字として扱うのが Rubyだと一重引用符を使って 'aaa\bbb\ccc' のように書けるが Node.jsだと String.raw`aaa\bbb\ccc` としか書けなくてとても不便。
|
- Rubyについて(アンチ専用) Part005
263 :デフォルトの名無しさん[sage]:2020/10/18(日) 02:31:11.80 ID:xeOKOt4d - 後、変数someの展開を文字列の中で行いたい場合
Ruby: "some=#{some}" JS: `some=${some}` の書き方もRubyの方が便利。 逆引用符は入れにくいし 他が普通の二重引用符なのに一部だけ逆引用符なのは 分かりにくくなりやすい。 それから、\ からエスケープシーケンスの働きをなくして単なる文字として扱うのが Rubyだと一重引用符を使って 'aaa\bbb\ccc' のように書けるが Node.jsだと String.raw`aaa\bbb\ccc` としか書けなくてとても不便。
|
- Rubyについて(アンチ専用) Part005
270 :デフォルトの名無しさん[sage]:2020/10/18(日) 08:53:53.60 ID:xeOKOt4d - >>269
ローカルにインストールするなんて馬鹿。 ストレージの無駄使い。
|
- Rubyについて(アンチ専用) Part005
271 :デフォルトの名無しさん[sage]:2020/10/18(日) 08:58:14.29 ID:xeOKOt4d - 差分バックアップが流行ってるかも知れんけど
一箇所でも壊れるとそれ以前(または以後)の全てのバージョンが再現できなくな るのでディスクの故障に対して無力で、バックアップの意味が無い。 不具合があったとき以前のバージョンとWinDiffなどで比較すると原因箇所の 絞込みが出来るが、差分バックアップではそれがやりにくい。 比較ツールがその差分ツールの俺々ツールに限定されてしまうし。
|