Rubyについて(アンチ専用) Part005 (342レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
251: デフォルトの名無しさん [sage] 2020/10/18(日) 01:10:26.15 ID:cCnPRoH8(1/9) AAS
>>234234(3): デフォルトの名無しさん [sage] 2020/10/17(土) 23:07:29.03 ID:3hrMdhxe(1) AAS
>>232
ほんの些細な違いだろうという指摘は理解したいけど、楽しく書ける(= 思考を妨げない)ことをポリシーとしている
Ruby に慣れ親しんでいると、そんなことも気になってしまうんだよなぁ
xs.each { |x| # スコープを作る(関数型スタイル)
x に対する処理
}
または
for x in xs # スコープを作らない(手続き型スタイル)
x に対する処理
end
それが JavaScript になると:
・なぜ丸カッコと波カッコを入れ子にしなきゃいけないのかなぁ
どちらか一つでいいはずだし面倒くさいよね?
xs.forEach ({ x => # スコープを作る(関数型スタイル)
x に対する処理
})
・なぜ変な予約語 let が必要なのかなぁ、あってもいいけど蛇足だよね?(>>231)
for (x in xs) { # スコープを作らない(手続き型スタイル、従来からある構文)
x に対する処理
}
または
for (let x of xs) { # スコープを作る(一見関数型に見えるが、手続き型スタイル)
x に対する処理
}
もちろん JavaScript が「後方互換性の維持」を厳守しつつ、機能(構文と意味)を発展させてきた成果は大いに評価している
とはいえ、「老眼では?ww」という批判は、ちょいと低俗で低レベルな発言ではないかと思われ
もっとも客観的には >>229 の注文が高尚すぎて(w、他言語ユーザーにはあまりにも厳しすぎるだろ、とは感じてる
eachがどう関数型なのか知りたいんだが。
mapならわかるけど。
ただのイテレータだろ。
その中括弧要らないよ。なんか勘違いしてない?
252(2): デフォルトの名無しさん [sage] 2020/10/18(日) 01:14:50.79 ID:cCnPRoH8(2/9) AAS
>>249外部リンク:qiita.com
出来るし、普通はconsoleに出したりしない。
>>250250(1): デフォルトの名無しさん [sage] 2020/10/18(日) 01:05:21.49 ID:xeOKOt4d(2/11) AAS
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は自分用としては使えるが、一般人に作ったプログラムを
配布して使ってもらうのは絶望的といえる。
完全に知識不足。
267: デフォルトの名無しさん [sage] 2020/10/18(日) 08:10:15.29 ID:cCnPRoH8(3/9) AAS
>>253253(1): デフォルトの名無しさん [sage] 2020/10/18(日) 01:21:29.87 ID:xeOKOt4d(3/11) AAS
>>252
node.jsで、streamを使ってstdoutへの出力をする方法を具体的に書いてみてください。
なお、書き込む関数もファイルと全く同じ関数群が使えなくてはいけません。
書いてあるでしょ、リンク先に。
ファイルと同じ関数群使えます。
nodejsもググればprocessモジュールに行き着くかと。
外部コマンドは普通はあんまりつかわんけど。
環境依存させたくないので。
基本的にクロスプラットフォームな物を叩くけど、そういうのはそもそもnodeだったりする。
ディレクトリコピーも、cpxあたりだとサッと行くと思うかと。
まぁコピーぐらいは中でやるもんだけど。
268: デフォルトの名無しさん [sage] 2020/10/18(日) 08:10:56.74 ID:cCnPRoH8(4/9) AAS
>>259259(1): デフォルトの名無しさん [sage] 2020/10/18(日) 02:03:58.45 ID:xeOKOt4d(6/11) AAS
process.stdout.fd が fd の int 整数の「1」になっていて、
これを fs.writeSync()の第一引数に渡せば標準出力に
出力できることが分かりました。
しかし、ドキュメントが不十分でめちゃくちゃ分かりにくいです。
Rubyのドキュメントは非常に分かり易いです。
な、知識不足だったでしょ。
269(1): デフォルトの名無しさん [sage] 2020/10/18(日) 08:12:14.24 ID:cCnPRoH8(5/9) AAS
>>260260(1): デフォルトの名無しさん [sage] 2020/10/18(日) 02:09:23.19 ID:xeOKOt4d(7/11) AAS
node.jsは、自慢で立派そうなnpmコマンドがあっても、NODE_PATHという
基本中の基本の環境変数すら設定されません。
これでfs-extraモジュールを追加インストールしなければ同期コピーすら出来ないのに。
同期的な外部コマンド実行も同様だと予想されます。
サーバーサイドの裏方として用いるならともかく、これをデスクトップマシンの
BATファイルの代わりやスクリプト言語として、一般人向けに配布することは
この段階で不可能となります。
その分野では現段階ではRubyが一番適切です。
環境変数なんか必要ないんよ。
というかグローバルインストールしてそうなってる?もしかして。
273(1): デフォルトの名無しさん [sage] 2020/10/18(日) 09:42:10.14 ID:cCnPRoH8(6/9) AAS
>>270アホか。
dll hell起こしたいのか?
イマドキなんでもサイドバイサイドだろ。
dedupの効くファイルシステム使えばよかろう。
そういう所ついていけてないから、NODE_PATHがどうとか言っちゃうんだよ。
嫌なら、一つ上のフォルダでnpm i しておけ。
277(1): デフォルトの名無しさん [sage] 2020/10/18(日) 10:34:25.01 ID:cCnPRoH8(7/9) AAS
>>275なぜ馬鹿と言われたのかわからんのだが、一つ上のディレクトリでローカルインストールしたらどうなるか理解できんのだろうか。
ちょっと冷静に話ししてみて。
正直に言って、stdoutのfdが整数値1って所が理解できてないのもわからんのだよ。
もともとstdoutってそうじゃん?
むしろ、ファイルディスクリプタが1のすでに開いてあるファイルを標準出力と読んで、コンソールはそれを表示してるだけじゃんよ?
278: デフォルトの名無しさん [sage] 2020/10/18(日) 10:35:47.88 ID:cCnPRoH8(8/9) AAS
>>271271(1): デフォルトの名無しさん [sage] 2020/10/18(日) 08:58:14.29 ID:xeOKOt4d(11/11) AAS
差分バックアップが流行ってるかも知れんけど
一箇所でも壊れるとそれ以前(または以後)の全てのバージョンが再現できなくな
るのでディスクの故障に対して無力で、バックアップの意味が無い。
不具合があったとき以前のバージョンとWinDiffなどで比較すると原因箇所の
絞込みが出来るが、差分バックアップではそれがやりにくい。
比較ツールがその差分ツールの俺々ツールに限定されてしまうし。
差分バックアップの意味がわからん。
node_modulesの中身バックアップしてるとしたら頭おかしいぞ。
284: デフォルトの名無しさん [sage] 2020/10/18(日) 12:54:38.94 ID:cCnPRoH8(9/9) AAS
>>279279(2): デフォルトの名無しさん [sage] 2020/10/18(日) 11:36:00.74 ID:vr2ApWZ6(2/2) AAS
>>277
>正直に言って、stdoutのfdが整数値1って所が理解できてないのもわからんのだよ。
>もともとstdoutってそうじゃん?
>むしろ、ファイルディスクリプタが1のすでに開いてあるファイルを標準出力と読んで、コンソールはそれを表示してるだけじゃんよ?
あなたはアスペ。
stdoutのfdは、OSれべるでは1なのは誰でも知ってる基礎知識。
しかし、JSのような高級言語でその整数値をそのまま使う例は非常に少ないのに
Node.jsでは使っているのにそれをほとんど説明して無いからnode.js
初心者が分かるわけ無い。
アスペだかなんだか知らんが。
整数値をそのまま使うというか、fdまで見たらそうなるに決まってるじゃん。
fs.write...Syncを使いたがるからそうなるんであって、普通にstreamをpipeすれば全部隠蔽されるよ。
jsのような高級言語ではね。
説明してるけど。
ドキュメント読んだ?
ドキュメントがしっかりしてるから、初心者向けの解説サイトが無いんだぞ?
rubyが何故解説サイトばっかかわかる?
ドキュメントがクソだからだぞ。
ググればわかるって目茶苦茶レベル低いこと自覚しろよ。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.039s