プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ
質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。
Ruby on Rails については、WEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 65
https://mevius.5ch.net/test/read.cgi/tech/1545421414/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
Ruby コミュニティ公式
https://www.ruby-lang.org/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
Ruby 初心者スレッド Part 66
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 2a2c-RM0q)
2020/01/04(土) 01:15:34.30ID:X7t3Qsuc0220デフォルトの名無しさん (ワッチョイ ca2c-rVtL)
2020/03/02(月) 00:40:51.77ID:8PHDRupm0 Ruby による今世紀最大の起業家、Vagrant のMitchell Hashimoto(HashiCorp)も、
Go のTerraform へ行った
今や主戦場は、Docker, Kubernetes になった
でも、サーバーの基本は、Ruby。
Node.js も、Rubyのコピーだから
Spring Boot も、Rails のコピー
Go のTerraform へ行った
今や主戦場は、Docker, Kubernetes になった
でも、サーバーの基本は、Ruby。
Node.js も、Rubyのコピーだから
Spring Boot も、Rails のコピー
221デフォルトの名無しさん (ワッチョイ 8a01-k1AF)
2020/03/02(月) 01:33:56.26ID:AuxsFe1o0222デフォルトの名無しさん (ワッチョイ cbad-wzO4)
2020/03/05(木) 19:13:20.03ID:h922Dn8C0 >>204
>柴田望洋はC言語系で何冊か読んだが
>内容がすごく簡潔で短い時間でまとめ的な知識を頭に入れたり
>特定のトピックを復習したいときには有用
いかにも教科書って感じの本書くよね
オレもオススメできる著者だと思うぞ!
>柴田望洋はC言語系で何冊か読んだが
>内容がすごく簡潔で短い時間でまとめ的な知識を頭に入れたり
>特定のトピックを復習したいときには有用
いかにも教科書って感じの本書くよね
オレもオススメできる著者だと思うぞ!
223デフォルトの名無しさん (ブーイモ MM7f-Pim3)
2020/03/05(木) 19:35:07.49ID:1tYxfkRNM 本屋いったらrubyの本は駆逐されてた
224デフォルトの名無しさん (ワッチョイ cbad-wzO4)
2020/03/05(木) 21:34:51.52ID:h922Dn8C0 すっかりPythonの本に置きかわったよな!
やっぱ人工知能ブームに乗れなかったのがデカイ
やっぱ人工知能ブームに乗れなかったのがデカイ
225デフォルトの名無しさん (ワッチョイ 9fa5-HL4i)
2020/03/06(金) 14:08:05.02ID:gkPkCuAw0 ・P系言語には絶対にPを付けるべきであった
・endがある言語には終わりがある
オカルト方面の理由だとこのようになる
「pascalは終わった」とは業界の定型句だが終わったのはendがあるからだ
なので「end」という文字の視覚的影響は思いの他大きいのではなかろうか
代わりにpythonはselfを見続けることになる
他の理由としては、我々は「ぱい」と発音したい生物である、という、これまたオカルトな理由だ
特にPから始まる単語は人類にとって基本的・根源的らしい
「PyPI」とかどーすんだコレとか思っちゃうような発音の存在こそが、pythonを存続させている大きな原動力だ
・endがある言語には終わりがある
オカルト方面の理由だとこのようになる
「pascalは終わった」とは業界の定型句だが終わったのはendがあるからだ
なので「end」という文字の視覚的影響は思いの他大きいのではなかろうか
代わりにpythonはselfを見続けることになる
他の理由としては、我々は「ぱい」と発音したい生物である、という、これまたオカルトな理由だ
特にPから始まる単語は人類にとって基本的・根源的らしい
「PyPI」とかどーすんだコレとか思っちゃうような発音の存在こそが、pythonを存続させている大きな原動力だ
226デフォルトの名無しさん (ワッチョイ cbad-wzO4)
2020/03/06(金) 16:38:00.92ID:Z17kfdKR0 なぜ差が付いたか RubyとPython
――(日本語圏の)慢心、(AI)環境の差!
――(日本語圏の)慢心、(AI)環境の差!
227デフォルトの名無しさん (アウアウエー Sa3f-xiWk)
2020/03/06(金) 20:06:25.61ID:dfpAZ0dma cobol には end があるが、しぶとく生き残っている
早く絶滅してほしいものだが
早く絶滅してほしいものだが
228デフォルトの名無しさん (ワッチョイ 0feb-Qbw5)
2020/03/06(金) 21:40:53.72ID:f8XVsIbI0 Rubyの方がCOBOLより先に死滅する希ガス
229デフォルトの名無しさん (ワッチョイ ab57-g6LZ)
2020/03/06(金) 22:57:29.86ID:rcgbHB5O0 慢心と言うより
補助金事業になったら碌なことにならない例の一つ
補助金事業になったら碌なことにならない例の一つ
230デフォルトの名無しさん (ワッチョイ cbad-wzO4)
2020/03/07(土) 03:49:31.31ID:meF2wfp30 補助金が腐らせるの
日本のあるあるだな!
日本のあるあるだな!
231デフォルトの名無しさん (ワッチョイ ef8c-NYnE)
2020/03/07(土) 12:58:20.56ID:Q0oLpIzl0 >>226
コメントアウトの仕方
コメントアウトの仕方
232デフォルトの名無しさん (ワッチョイ 2ba5-Inmc)
2020/03/07(土) 13:58:54.14ID:H7f33zo10 Rubyは日本の言語ではなくて
日本発だけど
日本からアメリカのユタ州に税金を抜かれるだけの言語だ
日本発だけど
日本からアメリカのユタ州に税金を抜かれるだけの言語だ
233デフォルトの名無しさん (ワッチョイ 4b2d-hds7)
2020/03/07(土) 16:10:40.97ID:ZoK+qwRc0 補助金で食える人数も限られてるから、余計に閉鎖的になってく
234デフォルトの名無しさん (ワッチョイ cbad-wzO4)
2020/03/07(土) 19:42:14.60ID:meF2wfp30 補助金で喰える上級Ruby国民は安泰だけど
下級Ruby国民はPythonに逃げ出してる現状
下級Ruby国民はPythonに逃げ出してる現状
235デフォルトの名無しさん (ワッチョイ 4b2d-hds7)
2020/03/10(火) 16:47:55.38ID:rx4TAX460 Rubyの高額教材屋も増えまくってたり、こんなの国が金を出して支援するもんじゃないよもう
236デフォルトの名無しさん (ワッチョイ ab01-xzLc)
2020/03/10(火) 21:55:43.55ID:uPXabSQ00 perlの保守性の低さについて何も学ばなかったから。
237デフォルトの名無しさん (ワッチョイ 827d-VqAA)
2020/03/15(日) 06:29:59.66ID:d7tE7oy90 リファレンスマニュアルの正規表現の一覧に
(<=pat) 肯定後読み
となってるけど正しくは (?<=pat) ですよね
(<=pat) 肯定後読み
となってるけど正しくは (?<=pat) ですよね
238デフォルトの名無しさん (オッペケ Sr91-M7Q/)
2020/03/15(日) 07:01:08.84ID:fxB2xu91r せやね
239デフォルトの名無しさん (ワッチョイ 698f-tF/6)
2020/03/17(火) 10:26:17.82ID:55EeZ8o40 AI環境の差は大きいっすねー
保守性とかどうでもいいしrubyの文法は好きだけど、今から勉強する人にはphthon勧めざるを得ない
保守性とかどうでもいいしrubyの文法は好きだけど、今から勉強する人にはphthon勧めざるを得ない
240デフォルトの名無しさん (ワッチョイ a1ad-M7Q/)
2020/03/17(火) 11:47:19.04ID:xPTEZvMY0 PythonはAIライブラリそろってるからな
241デフォルトの名無しさん (ワッチョイ c201-Ruah)
2020/03/17(火) 18:17:35.92ID:Np3/43wU0 機械学習や統計処理のために
プログラミングできるようになりたいというひとは
迷わずPythonから初めればいいけど
明確な目的がない場合はRubyから初めさせたほうが
プログラミング自体の習熟が断然早い
1ヶ月程度でプログラミングの基礎を身につけたら
後は好きなやつやればいいと思う
新卒で2~3言語学ばせるABテストとかやってみたいね
プログラミングできるようになりたいというひとは
迷わずPythonから初めればいいけど
明確な目的がない場合はRubyから初めさせたほうが
プログラミング自体の習熟が断然早い
1ヶ月程度でプログラミングの基礎を身につけたら
後は好きなやつやればいいと思う
新卒で2~3言語学ばせるABテストとかやってみたいね
242デフォルトの名無しさん (ワッチョイ 02a5-5LgE)
2020/03/17(火) 18:19:24.38ID:ybHHyXnP0 ABテストやってないのになんでRubyからの方がいいって分かるの
243デフォルトの名無しさん (ドコグロ MM95-Syvm)
2020/03/17(火) 18:38:35.80ID:7aCFf3OgM 明確な目的のない奴にRails専用スクリプト(別名Ruby)を勧めるのはさすがにどうかと
244デフォルトの名無しさん (ワッチョイ 698f-tF/6)
2020/03/17(火) 19:08:20.64ID:55EeZ8o40 別にrailsなんかなくたってperlよりモダンな汎用スクリプト言語ではあるやろ
245デフォルトの名無しさん (ドコグロ MM95-Syvm)
2020/03/17(火) 19:19:47.39ID:7aCFf3OgM >>244
Windowsでまともに使い物にならないのは汎用スクリプトとしては致命的
ぶっちゃけPythonがビッグデータやAIで持て囃されてるのもWindowsと相性いいからだよ
ビッグデータやAIはエンタープライズで金になるテーマだからWindowsと相性悪いのは論外
Windowsでまともに使い物にならないのは汎用スクリプトとしては致命的
ぶっちゃけPythonがビッグデータやAIで持て囃されてるのもWindowsと相性いいからだよ
ビッグデータやAIはエンタープライズで金になるテーマだからWindowsと相性悪いのは論外
246sage (ワッチョイ a265-aX25)
2020/03/17(火) 22:30:48.07ID:Zy9Qhkko0 つまり、わざわざRubyスレまで乱入してしまうほど、
Python信者にはRubyへのコンプレックスが強いってことね
Python信者にはRubyへのコンプレックスが強いってことね
247デフォルトの名無しさん (ワッチョイ d233-YfnF)
2020/03/17(火) 22:32:51.78ID:Ai6ps0PO0 じゃあPowerShellで!
248デフォルトの名無しさん (ワッチョイ c201-Ruah)
2020/03/17(火) 23:16:01.71ID:Np3/43wU0249デフォルトの名無しさん (ワッチョイ 02a5-5LgE)
2020/03/17(火) 23:40:22.57ID:ybHHyXnP0 そりゃ教師そのものがRubyが得意でRuby贔屓ならRubyを教えるのが上手いんでしょ
だから生徒はRubyの習熟が早くなる
だから本人ですら「ABテストは必要」って思ってるんでしょ
要するに生徒の言語取得速度は教師の得意言語の習熟度合いに比例する
だから生徒はRubyの習熟が早くなる
だから本人ですら「ABテストは必要」って思ってるんでしょ
要するに生徒の言語取得速度は教師の得意言語の習熟度合いに比例する
250sage (ワッチョイ a265-aX25)
2020/03/17(火) 23:45:23.49ID:Zy9Qhkko0 ぶっちゃけ、Rubyに慣れると、Pythonでコレクションを使うことが苦痛になるんだよな
「コレクションが最高にイケてる言語を作ろう(dat落ち)」から引用
http://mevius.2ch.net/test/read.cgi/tech/1491491123/43-45
> 43 1 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 18:00:36.59 ID:oGFFYBoD
> コレクション使ってて使いづらいと思うことも最近は減ってきたよな
> 昔より言語が進歩してるんだろか
>
> 44 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 21:23:00.44 ID:Qc8J8Hpx
> >>43
> でもねぇ、世の中にはコレクション操作が使いづらい
> 退化した最悪な言語が存在する
>
> http://d.hatena.ne.jp/edvakf/20090405/1238885788
>
> 元々は手続き型として設計された簡潔な言語だったけど、
> オブジェクト指向やら関数型やらを行き当たりばったりに増築し続けたおかげで、
> コレクション操作に関する「一貫性」という設計哲学が破綻してしまった例だね
>
> 45 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 21:52:01.71 ID:Qc8J8Hpx
> [Ruby]
> a.sort().reverse().map{|x| x.to_s}.join('-')
>
> [JavaScript]
> a.sort().reverse().map(function(x) { return x.toString() }).join(“-“)
>
> [Python]
> '-'.join(map(lambda x: str(x), reversed(sorted(a))))
「コレクションが最高にイケてる言語を作ろう(dat落ち)」から引用
http://mevius.2ch.net/test/read.cgi/tech/1491491123/43-45
> 43 1 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 18:00:36.59 ID:oGFFYBoD
> コレクション使ってて使いづらいと思うことも最近は減ってきたよな
> 昔より言語が進歩してるんだろか
>
> 44 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 21:23:00.44 ID:Qc8J8Hpx
> >>43
> でもねぇ、世の中にはコレクション操作が使いづらい
> 退化した最悪な言語が存在する
>
> http://d.hatena.ne.jp/edvakf/20090405/1238885788
>
> 元々は手続き型として設計された簡潔な言語だったけど、
> オブジェクト指向やら関数型やらを行き当たりばったりに増築し続けたおかげで、
> コレクション操作に関する「一貫性」という設計哲学が破綻してしまった例だね
>
> 45 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 21:52:01.71 ID:Qc8J8Hpx
> [Ruby]
> a.sort().reverse().map{|x| x.to_s}.join('-')
>
> [JavaScript]
> a.sort().reverse().map(function(x) { return x.toString() }).join(“-“)
>
> [Python]
> '-'.join(map(lambda x: str(x), reversed(sorted(a))))
251sage (ワッチョイ 5365-f0Va)
2020/03/18(水) 00:02:08.49ID:NlFyVHMs0 >>250 のコレクション操作を例にすると、Rubyならメソッドチェーンが
左から右へ自然と流れるから、ヒストリー機能を利用して
対話的なプログラミングが楽々と実践できる
$ irb
irb(main):001:0> a = [1,4,3,2]
irb(main):002:0> a.sort
=> [1, 2, 3, 4]
irb(main):003:0> a.sort.reverse
=> [4, 3, 2, 1]
irb(main):004:0> a.sort.reverse.map(&:to_s)
=> ["4", "3", "2", "1"]
irb(main):005:0> a.sort.reverse.map(&:to_s).join('-')
=> "4-3-2-1"
irb(main):006:0>
Ruby利用者にとっては特別でもなんでもない当たり前の常識だけど、
Pythonの対話環境じゃ無理なのが、いやはやなんとも
左から右へ自然と流れるから、ヒストリー機能を利用して
対話的なプログラミングが楽々と実践できる
$ irb
irb(main):001:0> a = [1,4,3,2]
irb(main):002:0> a.sort
=> [1, 2, 3, 4]
irb(main):003:0> a.sort.reverse
=> [4, 3, 2, 1]
irb(main):004:0> a.sort.reverse.map(&:to_s)
=> ["4", "3", "2", "1"]
irb(main):005:0> a.sort.reverse.map(&:to_s).join('-')
=> "4-3-2-1"
irb(main):006:0>
Ruby利用者にとっては特別でもなんでもない当たり前の常識だけど、
Pythonの対話環境じゃ無理なのが、いやはやなんとも
252デフォルトの名無しさん (ワッチョイ 292c-cvBQ)
2020/03/18(水) 00:49:04.35ID:LQtyodHE0 元々、Ruby/Groovy は似てる。
JavaScript, Kotlin も、Ruby/Groovy に似せてきてる
>>241
有名な雑食系エンジニア・KENTA も、YouTube で言ってるけど、
将来的に、機械学習・AI をやりたいからと言って、Python から始めるのは間違いです!
初心者は、Ruby でプログラミング自体を学ぶべき
Ruby on Rails を一通りやると、アプリ製作の全工程を学べる。
後はそれを他言語へ置き換えるだけ
それと、多くの学校が、Ruby を勧めるのは、就職率が高いから。
Python の場合は、web系の仕事が、1/10 しかない
機械学習・AI は、大学院・英検準一級などの高学歴が必要だから、
高卒などのプログラミング初心者を雇わない
高卒web系プログラマーは、Ruby。
高学歴総合職は、Python
この内、学校で教えられるのは、Ruby。
Pythonを教えても、就職できないから詐欺になってしまう
JavaScript, Kotlin も、Ruby/Groovy に似せてきてる
>>241
有名な雑食系エンジニア・KENTA も、YouTube で言ってるけど、
将来的に、機械学習・AI をやりたいからと言って、Python から始めるのは間違いです!
初心者は、Ruby でプログラミング自体を学ぶべき
Ruby on Rails を一通りやると、アプリ製作の全工程を学べる。
後はそれを他言語へ置き換えるだけ
それと、多くの学校が、Ruby を勧めるのは、就職率が高いから。
Python の場合は、web系の仕事が、1/10 しかない
機械学習・AI は、大学院・英検準一級などの高学歴が必要だから、
高卒などのプログラミング初心者を雇わない
高卒web系プログラマーは、Ruby。
高学歴総合職は、Python
この内、学校で教えられるのは、Ruby。
Pythonを教えても、就職できないから詐欺になってしまう
253デフォルトの名無しさん (ワッチョイ d9ad-NT4g)
2020/03/18(水) 04:59:33.67ID:/KOWoh670254デフォルトの名無しさん (ワッチョイ d9ad-NT4g)
2020/03/18(水) 05:02:26.13ID:/KOWoh670 >>250
Rubyは文法がシンプルで書きやすいんだよな
書きやすさだけで言ったら
Ruby > Python >>> JavaScript
JavaScriptは変なクセと
ローカルルールが多すぎる
Rubyは文法がシンプルで書きやすいんだよな
書きやすさだけで言ったら
Ruby > Python >>> JavaScript
JavaScriptは変なクセと
ローカルルールが多すぎる
255デフォルトの名無しさん (ワッチョイ 29d2-CgSh)
2020/03/18(水) 08:17:19.36ID:r6r+WwC90256デフォルトの名無しさん (ワイーワ2 FF63-hOSC)
2020/03/18(水) 13:14:11.40ID:fwLKdVFoF 語順に拘る必要は無いと思う
a = [3,5,1,2,4]
'-'.join(pd.Series(a).sort_values(ascending=False).apply(str))
a = [3,5,1,2,4]
'-'.join(pd.Series(a).sort_values(ascending=False).apply(str))
257デフォルトの名無しさん (ワッチョイ 9301-lXNI)
2020/03/18(水) 14:43:54.21ID:mQYnVt2r0 >>249
違うよ
教えるコアな要素は共通にもかかわらず
初心者がつまづく内容や頻度だったりそれを自己解決できる割合が言語によってかなり違う
それが習熟速度に影響を与える一番の要因
ABテストやってみたいねと書いたのは複数言語を学習する順番が
プログラミング習熟度に与える影響の調査をペーパー書けるくらいフォーマルにやってみたいねって話
3言語なら最低6グループ必要になるわけで
統計的に意味ある人数集めてそんなテストするの普通の会社では無理だからね
Aグループ: Ruby -> Python -> JavaScript
Bグループ: Python -> JavaScript -> Ruby
…
違うよ
教えるコアな要素は共通にもかかわらず
初心者がつまづく内容や頻度だったりそれを自己解決できる割合が言語によってかなり違う
それが習熟速度に影響を与える一番の要因
ABテストやってみたいねと書いたのは複数言語を学習する順番が
プログラミング習熟度に与える影響の調査をペーパー書けるくらいフォーマルにやってみたいねって話
3言語なら最低6グループ必要になるわけで
統計的に意味ある人数集めてそんなテストするの普通の会社では無理だからね
Aグループ: Ruby -> Python -> JavaScript
Bグループ: Python -> JavaScript -> Ruby
…
258デフォルトの名無しさん (ワッチョイ 9301-lXNI)
2020/03/18(水) 14:56:08.21ID:mQYnVt2r0 >>256
思考の順序とコードで表現する順序が近ければ近いほど
思考ノイズが少なくて初心者に限らず人間には理解しやすい
単にできればいいってもんじゃない
結局Pythonでわかりやすく読みやすいコードを書くには
自然な思考順序と異なる部分をラップした関数を独自に定義していくか
Pythonで表現できる順序に自分の思考順序を合わせていくしかなく
一般に読みやすいと思えるコードを書く労力がRubyに比べると段違いで多い
少し前にPythonスレで質問があったflattenがいい例
思考の順序とコードで表現する順序が近ければ近いほど
思考ノイズが少なくて初心者に限らず人間には理解しやすい
単にできればいいってもんじゃない
結局Pythonでわかりやすく読みやすいコードを書くには
自然な思考順序と異なる部分をラップした関数を独自に定義していくか
Pythonで表現できる順序に自分の思考順序を合わせていくしかなく
一般に読みやすいと思えるコードを書く労力がRubyに比べると段違いで多い
少し前にPythonスレで質問があったflattenがいい例
259デフォルトの名無しさん (ワッチョイ 292c-cvBQ)
2020/03/19(木) 04:20:21.38ID:JDU05jIv0 Ruby の偽は、nil, false の2つだけだが、
JavaScript, Python では、各型に偽があるので、10個ぐらいある
こういう書き方ができてしまうのが危険!
整数の0 は偽
昔のC でも、MISRA-C などのコーディング規則で禁止していたもの。
条件式に、bool 値とみなされるもの以外を、
例えば、単純な整数などを使ってはならない
let ary = [ ]
let message = ""
if ( ary.length ) {
message = "真"
} else {
message = "偽"
}
console.log( message ) //=> 偽
JavaScript, Python では、各型に偽があるので、10個ぐらいある
こういう書き方ができてしまうのが危険!
整数の0 は偽
昔のC でも、MISRA-C などのコーディング規則で禁止していたもの。
条件式に、bool 値とみなされるもの以外を、
例えば、単純な整数などを使ってはならない
let ary = [ ]
let message = ""
if ( ary.length ) {
message = "真"
} else {
message = "偽"
}
console.log( message ) //=> 偽
260デフォルトの名無しさん (ワッチョイ d9ad-NT4g)
2020/03/19(木) 07:34:00.79ID:Twc2892j0261デフォルトの名無しさん (ワッチョイ 1314-9KJh)
2020/03/19(木) 09:26:18.85ID:YUAN2W2v0 コマンドが正常に終了した時は0を返すもんですよ
262デフォルトの名無しさん (スフッ Sd33-AM22)
2020/03/19(木) 12:39:59.01ID:Xi+VoJGEd Rubyが理解できれば、JavaScriptもだいたい理解できるってまじっすか?
263デフォルトの名無しさん (ワッチョイ 292c-cvBQ)
2020/03/19(木) 13:04:35.38ID:JDU05jIv0 Ruby・Groovy は似てる。
JavaScript, jQuery, Kotlin は、メソッドチェーン中心で、Rubyに似せてきてる
サーバー側のNode.js は、Rubyのコピー。
npm(node package manager), yarn は、Bundler のコピー
CakePHP, Spring Boot は、Rails のコピー。
だから、流行った
Rails がサーバー側の標準。
だから、RubyからLinux とか、サーバー側へ進む人が多い
JavaScript, jQuery, Kotlin は、メソッドチェーン中心で、Rubyに似せてきてる
サーバー側のNode.js は、Rubyのコピー。
npm(node package manager), yarn は、Bundler のコピー
CakePHP, Spring Boot は、Rails のコピー。
だから、流行った
Rails がサーバー側の標準。
だから、RubyからLinux とか、サーバー側へ進む人が多い
264デフォルトの名無しさん (ドコグロ MM95-u5rl)
2020/03/19(木) 13:10:40.14ID:TVS3Wm7/M >>262
RubyはRails Scriptとして使うだけならさほど難しくはないが純粋に言語としては極めて複雑な部類で、
Rubyを理解した、と自信を持って言えるレベルならJavaScriptなどもはや楽勝
RubyはRails Scriptとして使うだけならさほど難しくはないが純粋に言語としては極めて複雑な部類で、
Rubyを理解した、と自信を持って言えるレベルならJavaScriptなどもはや楽勝
265デフォルトの名無しさん (ワッチョイ d9ad-NT4g)
2020/03/19(木) 13:16:56.47ID:Twc2892j0266デフォルトの名無しさん (ワッチョイ 13a5-TOPM)
2020/03/19(木) 13:49:34.22ID:PJNEdIzn0 クラスが入っただけでマシになった、ってことか?
267デフォルトの名無しさん (ワッチョイ 292c-cvBQ)
2020/03/19(木) 14:07:04.70ID:JDU05jIv0 JavaScript のクラス構文
class Card {
constructor( number ) { this.number = number }
}
let cards = [ ]
for ( let count = 1; count <= 5; count++ ) {
cards.push( new Card( count ) )
}
console.log( cards.map( x => x.number ) ) //=> [ 1, 2, 3, 4, 5 ]
class Card {
constructor( number ) { this.number = number }
}
let cards = [ ]
for ( let count = 1; count <= 5; count++ ) {
cards.push( new Card( count ) )
}
console.log( cards.map( x => x.number ) ) //=> [ 1, 2, 3, 4, 5 ]
268デフォルトの名無しさん (オッペケ Sr85-NT4g)
2020/03/19(木) 16:59:22.58ID:88pUuzIXr JavaScriptはクラス定数すら定義できないからな
最近のはしらんが
最近のはしらんが
269デフォルトの名無しさん (ワッチョイ b902-Hfmd)
2020/03/19(木) 17:00:49.00ID:DXn00lXA0 Pythonはうんこだが、Rubyのメソッドチェーンも今となってはゴミの部類で
パイプライン演算子こそが正解
パイプライン演算子こそが正解
270デフォルトの名無しさん (アウウィフ FF5d-hOSC)
2020/03/19(木) 17:26:29.02ID:yS5RdDEsF271デフォルトの名無しさん (ワッチョイ 1161-44a/)
2020/03/20(金) 00:53:19.01ID:405ti7Ej0 >>264
JS は、promise, then, async, waitUntil, ServiceWorker(PWA)などの部分がかなり難しく感じる。
event の bubbling phase, capture phase, target phase と絡んで
cancelBubble, stopPropagation, preventDefault
の話も正確に理解するのはなかなか難しい。
JS は、promise, then, async, waitUntil, ServiceWorker(PWA)などの部分がかなり難しく感じる。
event の bubbling phase, capture phase, target phase と絡んで
cancelBubble, stopPropagation, preventDefault
の話も正確に理解するのはなかなか難しい。
272デフォルトの名無しさん (ワッチョイ 1161-44a/)
2020/03/20(金) 00:56:41.66ID:405ti7Ej0 event.waitUntil()
event.respondWith()
はいまだにちゃんと理解できてない。
ServiceWorkerのWorker Lifecycleも物凄く理解が難しい。
event.respondWith()
はいまだにちゃんと理解できてない。
ServiceWorkerのWorker Lifecycleも物凄く理解が難しい。
273デフォルトの名無しさん (ワッチョイ 1161-44a/)
2020/03/20(金) 01:05:01.24ID:405ti7Ej0 さらに、Blob の概念も独特で難しい気がする。
274デフォルトの名無しさん (ワッチョイ 1161-44a/)
2020/03/20(金) 01:07:27.55ID:405ti7Ej0 これも理解できない。
誰かに教えてほしい。
addEventListener('fetch', event => {
// Prevent the default, and handle the request ourselves.
event.respondWith(async function() {
// Try to get the response from a cache.
const cachedResponse = await caches.match(event.request);
// Return it if we found one.
if (cachedResponse) return cachedResponse;
// If we didn't find a match in the cache, use the network.
return fetch(event.request);
}());
});
誰かに教えてほしい。
addEventListener('fetch', event => {
// Prevent the default, and handle the request ourselves.
event.respondWith(async function() {
// Try to get the response from a cache.
const cachedResponse = await caches.match(event.request);
// Return it if we found one.
if (cachedResponse) return cachedResponse;
// If we didn't find a match in the cache, use the network.
return fetch(event.request);
}());
});
275デフォルトの名無しさん (ワッチョイ 9301-lXNI)
2020/03/20(金) 01:51:15.32ID:b2ihZgLg0276デフォルトの名無しさん (ワッチョイ 1161-44a/)
2020/03/20(金) 01:54:59.68ID:405ti7Ej0277デフォルトの名無しさん (ワッチョイ 292c-cvBQ)
2020/03/20(金) 09:01:29.50ID:CQQp7Y750 jQuery でも基本は、Promise。
成功・失敗時の処理を書けばよい
async/await は、非同期を同期的に書ける。
内側にネストしないように書ける
成功・失敗時の処理を書けばよい
async/await は、非同期を同期的に書ける。
内側にネストしないように書ける
278デフォルトの名無しさん (ブーイモ MM4d-vZZ2)
2020/03/20(金) 10:07:25.86ID:IqcuAu3DM279デフォルトの名無しさん (ワッチョイ 8b14-9KJh)
2020/03/20(金) 10:14:58.61ID:u1wBzCgK0 >>276
× でも今のJSでPromiseを避けて済ますことは難しい。
○ 非同期プログラミングをするならどの言語でも一緒
GUI関連は大抵の言語で非同期処理をする
要するに画面の描画をブロックしてはいけないからだ。
RubyはそもそもGUIとかでてこないから
使わないだけ
× でも今のJSでPromiseを避けて済ますことは難しい。
○ 非同期プログラミングをするならどの言語でも一緒
GUI関連は大抵の言語で非同期処理をする
要するに画面の描画をブロックしてはいけないからだ。
RubyはそもそもGUIとかでてこないから
使わないだけ
280デフォルトの名無しさん (ワッチョイ 1161-f9wa)
2020/03/20(金) 11:04:22.80ID:405ti7Ej0281デフォルトの名無しさん (アウウィフ FF5d-jdQV)
2020/03/20(金) 11:30:29.28ID:nAHhYb7gF 馬鹿除けにちょうど良い機能やん
282デフォルトの名無しさん (ワッチョイ d312-c6Tf)
2020/03/23(月) 10:55:32.08ID:mWzqBLYF0 jsは伝統的にコールバックをやってきたというのを知っていないと理解は難しいかもね
promiseはコールバック地獄の救世主だからそれなしでは語れない
イベント系はもともとクリックされたらみたいなこととこから始まってるのを知ってないとイメージがつかめないだろうな
promiseはコールバック地獄の救世主だからそれなしでは語れない
イベント系はもともとクリックされたらみたいなこととこから始まってるのを知ってないとイメージがつかめないだろうな
283デフォルトの名無しさん (ワッチョイ 13a5-TOPM)
2020/03/23(月) 10:59:24.89ID:7lDoSnDw0 Cをみりゃ分かる
コールバック地獄の救世主なんていない
まやかしだ
コールバック地獄の救世主なんていない
まやかしだ
284デフォルトの名無しさん (ワッチョイ 8b2c-cvBQ)
2020/03/24(火) 12:55:54.95ID:n56XI6Ab0 Windows 10, WSL, Ubuntu 18.04 を起動して、ユーザーのホームディレクトリで、
Ruby のバージョンマネージャーのrbenv-installer を実行したけど、
rbenv / rbenv-installer
https://github.com/rbenv/rbenv-installer/blob/master/bin/rbenv-installer
これの34行目
rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"
rbenv は、初回は空文字列だが、インストール後には、rbenv となる
38行目
cd "${rbenv%/*}"
これは、cd rbenv するが、rbenv というディレクトリは存在しないのでエラーになる!
.rbenv なら存在するけど
51行目
git pull --tags origin master
なので、git pull されない
この38行目は、バグなのかな?
Ruby のバージョンマネージャーのrbenv-installer を実行したけど、
rbenv / rbenv-installer
https://github.com/rbenv/rbenv-installer/blob/master/bin/rbenv-installer
これの34行目
rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"
rbenv は、初回は空文字列だが、インストール後には、rbenv となる
38行目
cd "${rbenv%/*}"
これは、cd rbenv するが、rbenv というディレクトリは存在しないのでエラーになる!
.rbenv なら存在するけど
51行目
git pull --tags origin master
なので、git pull されない
この38行目は、バグなのかな?
285284 (ワッチョイ 8b2c-cvBQ)
2020/03/24(火) 13:30:12.20ID:n56XI6Ab0 rbenv-installer の間違いの訳ないよな。
漏れの手順・環境がおかしいのか
初回はホームディレクトリで実行して、
インストール後はホームディレクトリではなく、~/.rbenv ディレクトリで、実行するのかな?
eval "$(rbenv init -)"
してるけど、まだどのバージョンも入れていないから、
rbenv というディレクトリは存在しないのかも?
バージョンを入れたら、rbenv というディレクトリが作られるのかも?
漏れの手順・環境がおかしいのか
初回はホームディレクトリで実行して、
インストール後はホームディレクトリではなく、~/.rbenv ディレクトリで、実行するのかな?
eval "$(rbenv init -)"
してるけど、まだどのバージョンも入れていないから、
rbenv というディレクトリは存在しないのかも?
バージョンを入れたら、rbenv というディレクトリが作られるのかも?
286デフォルトの名無しさん (ワッチョイ b15f-jdQV)
2020/03/24(火) 13:32:10.90ID:WT9cP8p50 文句言う前に
VMでも何でも良いから
素の生インスコ環境造って
他の影響を排除してみ
VMでも何でも良いから
素の生インスコ環境造って
他の影響を排除してみ
287デフォルトの名無しさん (ワッチョイ 8b14-9KJh)
2020/03/24(火) 15:16:18.23ID:fj9Tix3R0 >>284
知らんけどさぁ。そのコードだけ見て判断するなら
> rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"
まずrbenvには普通はコマンドのフルパスが入る。
二番目の~/.rbenv/bin/rbenvはわかりやすく、そこにrbenvコマンドがあればそのパス
一番目は、rbenvコマンドをPATHから検索して見つかったものが入る。だから本来はフルパス
38行目の cd "${rbenv%/*}" からもフルパスが入ってるという前提で
rbenvコマンドがある前提でそのディレクトリに移動しようとしている。
もし本当に rbenv変数に rbenv という文字列が入るとしたら
おそらく rbenvがシェル関数の場合だろう。
rbenvというシェル関数は、実は rbenv を使用していると作られる。
正確には eval "$(rbenv init -)" の実行時に定義されている。
しかし rbenv-installer は別コマンドだ、現在のシェルで定義しているシェル関数の rbenv が
呼び出したrbenv-installerという子プロセスから見つかるはずがない。
この前提が崩れるとしたら、
1. rbenv-installer を . コマンド (または source コマンド)で呼び出している。
意図的にやらない限り、そうはならないし、やってるのだから気づくだろう。
そしてもう一つ。
2. rbenvシェル関数がexport -fされている場合だ。通常exportできるのは変数だけなのだが
bashの変な機能で関数もexportできて、それを子プロセス(当然bashに限る)から参照できてしまう。
envコマンドで環境変数一覧を表示してみれば、BASH_FUNC_rbenvという特殊な名前で
rbenvシェル関数のコードが環境変数に設定されてるのが見えないか?だとしたらそれが原因だ。
普通は関数をexportしてるはずがないんだが、どこかでなにかのついで全シェル関数をexportとかやってないか?
3. もしくはBASH_ENV環境変数を使ってないか?これはbash起動時に自動的に
シェルスクリプトを実行するための変数だ、そこでrbenvシェル関数を定義していたりしないか?
知らんけどさぁ。そのコードだけ見て判断するなら
> rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"
まずrbenvには普通はコマンドのフルパスが入る。
二番目の~/.rbenv/bin/rbenvはわかりやすく、そこにrbenvコマンドがあればそのパス
一番目は、rbenvコマンドをPATHから検索して見つかったものが入る。だから本来はフルパス
38行目の cd "${rbenv%/*}" からもフルパスが入ってるという前提で
rbenvコマンドがある前提でそのディレクトリに移動しようとしている。
もし本当に rbenv変数に rbenv という文字列が入るとしたら
おそらく rbenvがシェル関数の場合だろう。
rbenvというシェル関数は、実は rbenv を使用していると作られる。
正確には eval "$(rbenv init -)" の実行時に定義されている。
しかし rbenv-installer は別コマンドだ、現在のシェルで定義しているシェル関数の rbenv が
呼び出したrbenv-installerという子プロセスから見つかるはずがない。
この前提が崩れるとしたら、
1. rbenv-installer を . コマンド (または source コマンド)で呼び出している。
意図的にやらない限り、そうはならないし、やってるのだから気づくだろう。
そしてもう一つ。
2. rbenvシェル関数がexport -fされている場合だ。通常exportできるのは変数だけなのだが
bashの変な機能で関数もexportできて、それを子プロセス(当然bashに限る)から参照できてしまう。
envコマンドで環境変数一覧を表示してみれば、BASH_FUNC_rbenvという特殊な名前で
rbenvシェル関数のコードが環境変数に設定されてるのが見えないか?だとしたらそれが原因だ。
普通は関数をexportしてるはずがないんだが、どこかでなにかのついで全シェル関数をexportとかやってないか?
3. もしくはBASH_ENV環境変数を使ってないか?これはbash起動時に自動的に
シェルスクリプトを実行するための変数だ、そこでrbenvシェル関数を定義していたりしないか?
288デフォルトの名無しさん (ワッチョイ 8b14-9KJh)
2020/03/24(火) 15:26:44.36ID:fj9Tix3R0 まあバグとまでは言わんけど、対応漏れとして / で始まらないものは
シェル関数として省くとかすれば対応は可能かもしれんなぁ。
それ周りの解決法は調べた事ないので、どうするのがベストなのかしらんけど
シェル関数として省くとかすれば対応は可能かもしれんなぁ。
それ周りの解決法は調べた事ないので、どうするのがベストなのかしらんけど
289284 (ワッチョイ 8b2c-cvBQ)
2020/03/24(火) 17:01:58.24ID:n56XI6Ab0 rbenv のトップページを参考にして、実行した
https://github.com/rbenv/rbenv
Basic GitHub Checkout の所で、rbenv-installer を使った。
すると、git clone で、~/.rbenv の下に、ローカルリポジトリが出来た
次に、~/.bashrc (漏れは、~/.bash_aliases)に、下の2行を追加したので、
常に、bash 起動時には、eval "$(rbenv init -)" が実行される
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
>>287
1. rbenv-installer は、1回やっただけです。
2. BASH_FUNC_rbenv は無いです。
3. BASH_ENV という環境変数も無いです
which rbenv とすると、環境変数PATH に、~/.rbenv/bin を追加しているから、
~/.rbenv/bin/rbenv
確かに、38行目の、cd "${rbenv%/*}" は、rbenv 変数の、最初の/ 以下を削除するから、
パスが入っている事を想定しているのかも?
ただ、2回目以降に、rbenv-installerを実行した場合に、
51行目のgit pull --tags origin master で、
リモートリポジトリから最新を取得するように書いてあるから、
38行目の、cd "${rbenv%/*}" で、エラーになると、51行目へたどり着けないかなと思って
まあ、まだどのバージョンも入れていないから、
バージョンを入れたら、rbenv 変数にパスが入ってくるのかも知れない。
こんなに有名なアプリに、こんな単純なバグがあるとは思えないし、漏れの勘違いでしょう
https://github.com/rbenv/rbenv
Basic GitHub Checkout の所で、rbenv-installer を使った。
すると、git clone で、~/.rbenv の下に、ローカルリポジトリが出来た
次に、~/.bashrc (漏れは、~/.bash_aliases)に、下の2行を追加したので、
常に、bash 起動時には、eval "$(rbenv init -)" が実行される
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
>>287
1. rbenv-installer は、1回やっただけです。
2. BASH_FUNC_rbenv は無いです。
3. BASH_ENV という環境変数も無いです
which rbenv とすると、環境変数PATH に、~/.rbenv/bin を追加しているから、
~/.rbenv/bin/rbenv
確かに、38行目の、cd "${rbenv%/*}" は、rbenv 変数の、最初の/ 以下を削除するから、
パスが入っている事を想定しているのかも?
ただ、2回目以降に、rbenv-installerを実行した場合に、
51行目のgit pull --tags origin master で、
リモートリポジトリから最新を取得するように書いてあるから、
38行目の、cd "${rbenv%/*}" で、エラーになると、51行目へたどり着けないかなと思って
まあ、まだどのバージョンも入れていないから、
バージョンを入れたら、rbenv 変数にパスが入ってくるのかも知れない。
こんなに有名なアプリに、こんな単純なバグがあるとは思えないし、漏れの勘違いでしょう
290デフォルトの名無しさん (ワッチョイ 0dad-OG1y)
2020/03/28(土) 22:49:31.98ID:413BE/qa0 たのしいRuby第5版の古本買ったのでRuby入門します(^_^)/
291デフォルトの名無しさん (ワッチョイ 5e2c-2pFN)
2020/03/28(土) 23:25:45.38ID:lvHGCPQW0 Windows 10, WSL, Ubuntu 18.04 で、
rbenv で、Ruby 2.6.5 をインストールできた!
CPU-i3 を省エネモード(1コアのみ)で使っていたから、
コンパイルには、25分掛かった
build-essential, openssl, readline, zlib のパッケージが必要だった
sudo apt install -y build-essential
sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev
rbenv で、Ruby 2.6.5 をインストールできた!
CPU-i3 を省エネモード(1コアのみ)で使っていたから、
コンパイルには、25分掛かった
build-essential, openssl, readline, zlib のパッケージが必要だった
sudo apt install -y build-essential
sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev
292デフォルトの名無しさん (ワッチョイ 5dad-+vel)
2020/04/01(水) 03:54:14.10ID:PTOn+beS0 VScodeでRuby実行環境作ったけど楽しいは!
サクサク動かして試せる!
サクサク動かして試せる!
293デフォルトの名無しさん (ワッチョイ 4b2c-AHN4)
2020/04/01(水) 05:08:16.41ID:T/a2Vy7O0 Windows 10, WSL, Ubuntu 18.04 で、
rbenv で、Ruby 2.6.5 をインストールできた!
VSCode のRemote WSL もあるから、改行コードさえ気を付ければ、
Windows側のVSCodeで、Linux側のRubyを動かせる
今までは、WSL のUbuntu アプリを起動して、vim を使ったり、
コマンドプロンプト・PowerShell で、wsl と入力していたけど
RubyInstaller for Windows, MSYS2/MINGW も、いらなくなるかも
rbenv で、Ruby 2.6.5 をインストールできた!
VSCode のRemote WSL もあるから、改行コードさえ気を付ければ、
Windows側のVSCodeで、Linux側のRubyを動かせる
今までは、WSL のUbuntu アプリを起動して、vim を使ったり、
コマンドプロンプト・PowerShell で、wsl と入力していたけど
RubyInstaller for Windows, MSYS2/MINGW も、いらなくなるかも
294デフォルトの名無しさん (ワッチョイ 23ad-/I61)
2020/04/01(水) 05:23:37.67ID:d9NDYWBE0 インスタンスがどれで変数の型がどれでオブジェクトはどれってごっちゃになってわからないのですが
class A=new A() インスタンスはこの行全てを指すのですか?
class A=new A() インスタンスはこの行全てを指すのですか?
295デフォルトの名無しさん (オッペケ Sr01-KN+/)
2020/04/01(水) 07:10:14.21ID:uldFLeaHr まず日本語の勉強から始めろ
296sage (ワッチョイ e365-YFbg)
2020/04/01(水) 08:45:05.94ID:Y4BtYbUm0 まず、そもそも class A=new A() は Ruby の文法として完全に誤りだ
Ruby では、クラス A を定義するなら、class A; … ; end と書く
同様に、クラス A からインスタンスを生成して変数 a に代入するには a = A.new と書く
プログラミングが初めてであればオブジェクト指向の概念がゴッチャになるのは
しかたないとはいえ、それ以前にプログラミングの基本から学んだほうが良いと思うよ
Ruby では、クラス A を定義するなら、class A; … ; end と書く
同様に、クラス A からインスタンスを生成して変数 a に代入するには a = A.new と書く
プログラミングが初めてであればオブジェクト指向の概念がゴッチャになるのは
しかたないとはいえ、それ以前にプログラミングの基本から学んだほうが良いと思うよ
297デフォルトの名無しさん (ワッチョイ 4b2c-AHN4)
2020/04/01(水) 09:07:03.23ID:T/a2Vy7O0 ひとまずこれで、クラスA を定義して、その設計書に基づき、
インスタンス・実体a・b を作った
クラス内に、変数・関数を定義していけば、より本格的なクラスになっていく
class A
end
a = A.new
b = A.new
インスタンス・実体a・b を作った
クラス内に、変数・関数を定義していけば、より本格的なクラスになっていく
class A
end
a = A.new
b = A.new
298デフォルトの名無しさん (ワイーワ2 FF93-8H9x)
2020/04/01(水) 11:18:53.70ID:5VJq6KKKF a = (class A; end).new
とかあるんだっけ
とかあるんだっけ
299デフォルトの名無しさん (ワッチョイ e5ad-KN+/)
2020/04/01(水) 14:38:45.50ID:8LLFjcSO0 >>294
Rubyにおいてはすべてがオブジェクトなので
変数の型はクラスだと考えてよい
(他言語はそうとは限らない)
インスタンスは個別の状態(変数)を持ったもので
「オブジェクト」という言葉は文脈によって
クラスとインスタンスの両方の意味で用いられる
よくある喩えで言うと人間はクラスで
太郎や花子がインスタンス
太郎と花子はどちらも人間(クラス)だけど
個々の状態(性別や年齢などの変数)は異なる
とりあえずの回答としてはざっとこんなもんだが
オブジェクト指向を本格的に習得したいなら
本で勉強する必要があるだろう
Rubyにおいてはすべてがオブジェクトなので
変数の型はクラスだと考えてよい
(他言語はそうとは限らない)
インスタンスは個別の状態(変数)を持ったもので
「オブジェクト」という言葉は文脈によって
クラスとインスタンスの両方の意味で用いられる
よくある喩えで言うと人間はクラスで
太郎や花子がインスタンス
太郎と花子はどちらも人間(クラス)だけど
個々の状態(性別や年齢などの変数)は異なる
とりあえずの回答としてはざっとこんなもんだが
オブジェクト指向を本格的に習得したいなら
本で勉強する必要があるだろう
300デフォルトの名無しさん (ワッチョイ 558f-q/Tg)
2020/04/01(水) 16:10:35.31ID:nPBcGZ1y0 1はIntegerクラスのインスタンス
“abc”はStringクラスのインスタンス
[1,2,3]はArrayクラスのインスタンス
Integer, String, ArrayはClassクラスのインスタンス
ClassもClassクラスのインスタンス
“abc”はStringクラスのインスタンス
[1,2,3]はArrayクラスのインスタンス
Integer, String, ArrayはClassクラスのインスタンス
ClassもClassクラスのインスタンス
301デフォルトの名無しさん (ワッチョイ 1b8c-CgtG)
2020/04/01(水) 21:25:17.43ID:XvdBTC2x0 オブジェクトを使った例文もプリーズ
302299 (ワッチョイ e5ad-KN+/)
2020/04/01(水) 22:04:08.48ID:8LLFjcSO0 class Human
attr_reader :age, :sex
def initialize(age, sex)
@age = age
@sex = sex
end
end
taro = Human.new(24,'man')
hanako = Human.new(18, 'woman')
p taro.age
p taro.sex
p hanako.age
p hanako.sex
attr_reader :age, :sex
def initialize(age, sex)
@age = age
@sex = sex
end
end
taro = Human.new(24,'man')
hanako = Human.new(18, 'woman')
p taro.age
p taro.sex
p hanako.age
p hanako.sex
303299 (ワッチョイ e5ad-KN+/)
2020/04/01(水) 22:07:05.34ID:8LLFjcSO0304284 (ワッチョイ 4b2c-AHN4)
2020/04/02(木) 12:07:15.86ID:BA8GpIv40 >>284
疑問が解決しました!
>rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"
>rbenv は、初回は空文字列だが、インストール後には、rbenv となる
bash スクリプトを実行すると、rbenv には、~/.rbenv/bin/rbenv が入ってきて、正常に処理されます。
これを端末で実行すると、rbenv が出力されるので、挙動が違ってくるだけでした!
思わぬ、引掛けw
y="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"
echo $y
rbenv
x="$(command -v rbenv ~/.rbenv/bin/rbenv | head -2)"
echo $x
rbenv ~/.rbenv/bin/rbenv
その後、cd "${rbenv%/*}"
で、~/.rbenv/bin へ移動します
なので、51行目で、git pull されます
疑問が解決しました!
>rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"
>rbenv は、初回は空文字列だが、インストール後には、rbenv となる
bash スクリプトを実行すると、rbenv には、~/.rbenv/bin/rbenv が入ってきて、正常に処理されます。
これを端末で実行すると、rbenv が出力されるので、挙動が違ってくるだけでした!
思わぬ、引掛けw
y="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"
echo $y
rbenv
x="$(command -v rbenv ~/.rbenv/bin/rbenv | head -2)"
echo $x
rbenv ~/.rbenv/bin/rbenv
その後、cd "${rbenv%/*}"
で、~/.rbenv/bin へ移動します
なので、51行目で、git pull されます
305デフォルトの名無しさん (ワッチョイ 1d14-hvMa)
2020/04/02(木) 12:56:23.11ID:qWu3pHo10 いみがまったくわからんどうでもいいや
306デフォルトの名無しさん (JP 0H93-3bw/)
2020/04/02(木) 13:56:36.20ID:vZC8Eo+WH simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
学術の巨大掲示板群 - アルファ・ラボ
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
学術の巨大掲示板群 - アルファ・ラボ
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
307284 (ワッチョイ 4b2c-AHN4)
2020/04/02(木) 14:07:46.77ID:BA8GpIv40 これを、bash スクリプト内に書いて、スクリプトを実行すると、
xxx="$(command -v rbenv)"
yyy="$(command -v ~/.rbenv/bin/rbenv)"
zzz="$(command -v rbenv ~/.rbenv/bin/rbenv)"
xxx, yyy も、~/.rbenv/bin/rbenv で、
zzz も、同じものが2行表示されるけど、これを端末で直接実行すると、
xxx は、rbenv
yyy は、~/.rbenv/bin/rbenv
zzz は、rbenv, ~/.rbenv/bin/rbenv の2行
xxx では、rbenv のパスが入って来ない!
which rbenv と入力すると、ちゃんとパスが表示されるのだけど、
~/.rbenv/bin/rbenv
bash スクリプト内に書いて、それを実行した時と、
端末に直接入力した時では、結果が異なる!
それで漏れが勘違いしたという話ですw
xxx="$(command -v rbenv)"
yyy="$(command -v ~/.rbenv/bin/rbenv)"
zzz="$(command -v rbenv ~/.rbenv/bin/rbenv)"
xxx, yyy も、~/.rbenv/bin/rbenv で、
zzz も、同じものが2行表示されるけど、これを端末で直接実行すると、
xxx は、rbenv
yyy は、~/.rbenv/bin/rbenv
zzz は、rbenv, ~/.rbenv/bin/rbenv の2行
xxx では、rbenv のパスが入って来ない!
which rbenv と入力すると、ちゃんとパスが表示されるのだけど、
~/.rbenv/bin/rbenv
bash スクリプト内に書いて、それを実行した時と、
端末に直接入力した時では、結果が異なる!
それで漏れが勘違いしたという話ですw
308デフォルトの名無しさん (ワッチョイ a301-51IN)
2020/04/02(木) 14:48:16.09ID:s8KkhiHc0309デフォルトの名無しさん (オッペケ Sr01-KN+/)
2020/04/02(木) 15:03:21.14ID:Jw7S0ezcr 車輪の再発名というか糞の再生産というか
310デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/02(木) 18:25:33.41ID:4X8ewqwSF Ruby信者が別のRuby信者を何人感染させるか
1を下回ってると思う
1を下回ってると思う
311デフォルトの名無しさん (ワッチョイ 4b2c-AHN4)
2020/04/03(金) 12:39:37.64ID:tv+k2Xei0 xy4_02.txt → xy4_002.txt
みたいに、ファイル名末尾の数字部分を、3桁0埋めにする処理で、
文字列を左右反転して、後ろから処理しているのですが、
02 反転→ 20 (0埋め)→ 200 反転→ 002
format・sprintf で、- 左詰め、0埋めにしても、0埋めできません!
0埋めは、右詰めでしか使えない!
"%03d" % "20" # "020"
"%-03d" % "20" # "20", 200 にならない!
一方、JavaScript では、両方向で0埋めできますが、
Ruby にも、こういう関数がありますか?
"20".padStart( 3, "0" ) // 020
"20".padEnd( 3, "0" ) // 200
みたいに、ファイル名末尾の数字部分を、3桁0埋めにする処理で、
文字列を左右反転して、後ろから処理しているのですが、
02 反転→ 20 (0埋め)→ 200 反転→ 002
format・sprintf で、- 左詰め、0埋めにしても、0埋めできません!
0埋めは、右詰めでしか使えない!
"%03d" % "20" # "020"
"%-03d" % "20" # "20", 200 にならない!
一方、JavaScript では、両方向で0埋めできますが、
Ruby にも、こういう関数がありますか?
"20".padStart( 3, "0" ) // 020
"20".padEnd( 3, "0" ) // 200
312284 (ワッチョイ 4b2c-AHN4)
2020/04/03(金) 13:04:09.91ID:tv+k2Xei0 >>307
の話題は、シェルスクリプトのスレへ移動しました!
シェルスクリプト総合 その33
https://mevius.5ch.net/test/read.cgi/tech/1584893550/56-60
の話題は、シェルスクリプトのスレへ移動しました!
シェルスクリプト総合 その33
https://mevius.5ch.net/test/read.cgi/tech/1584893550/56-60
313デフォルトの名無しさん (ワッチョイ a301-51IN)
2020/04/03(金) 14:05:19.68ID:q/cvlU880 >>311
pry> "20".ljust(3, "0")
=> "200"
pry> "20".rjust(3, "0")
=> "020"
Stringのメソッドに目的のものがないかどうかを最初に探そう
https://docs.ruby-lang.org/ja/latest/class/String.html
pry> "20".ljust(3, "0")
=> "200"
pry> "20".rjust(3, "0")
=> "020"
Stringのメソッドに目的のものがないかどうかを最初に探そう
https://docs.ruby-lang.org/ja/latest/class/String.html
314デフォルトの名無しさん (ワッチョイ 15e6-20Ab)
2020/04/03(金) 16:23:36.74ID:CpQ2Rjn20 "%03d" % "02" # "002"
では、何か不味いのか
では、何か不味いのか
315311 (ワッチョイ 4b2c-AHN4)
2020/04/03(金) 17:00:52.81ID:tv+k2Xei0316デフォルトの名無しさん (ワッチョイ 6b7d-9V/B)
2020/04/03(金) 17:22:43.70ID:Tlqo6QWT0 "%03d" % "08".to_i #=> "008"
317311 (ワッチョイ 4b2c-AHN4)
2020/04/03(金) 18:14:05.62ID:tv+k2Xei0 先頭から続く、0 は鬼門!
それらを除去したい。よい方法は?
0080 → 80
123 → 123
"" → ""
000 → ""
それらを除去したい。よい方法は?
0080 → 80
123 → 123
"" → ""
000 → ""
318デフォルトの名無しさん (ワッチョイ a301-51IN)
2020/04/03(金) 18:26:24.61ID:q/cvlU880319311 (ワッチョイ 4b2c-AHN4)
2020/04/03(金) 18:51:12.37ID:tv+k2Xei0 先頭から続くかぎり、除去するので、これで良いです。
000 → ""
これは、自作するのは難しい。
プログラミングのお題に出してみようか
000 → ""
これは、自作するのは難しい。
プログラミングのお題に出してみようか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 東京株式市場 インバウンド関連株が下落 中国政府の渡航自粛要請で [バイト歴50年★]
- 🏡
- スーパーが開くまで約4時間何すりゃいいんだ?
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 飲みの約束だるい
- 減税は低所得者差別
- 高市さんに土下座してもらったら一発解決なのに何でやらないんだろ??
