20/03/18 04:59:33 /KOWoh670.net
>>244
それな
RailsなくてもRuby単体でも十分快適
ただWindows環境とデスクトップでのGUIが
どっちもイマイチだからWeb専用言語
みたいな扱いになってるんだろうか?
263:デフォルトの名無しさん (ワッチョイ d9ad-NT4g)
20/03/18 05:02:26 /KOWoh670.net
>>250
Rubyは文法がシンプルで書きやすいんだよな
書きやすさだけで言ったら
Ruby > Python >>> JavaScript
JavaScriptは変なクセと
ローカルルールが多すぎる
264:デフォルトの名無しさん (ワッチョイ 29d2-CgSh)
20/03/18 08:17:19 r6r+WwC90.net
>>250
Rubyのjoinなら事前の文字列化は不要なので
a.sort.reverse.join('-')
265:デフォルトの名無しさん
20/03/18 13:14:11.40 fwLKdVFoF.net
語順に拘る必要は無いと思う
a = [3,5,1,2,4]
'-'.join(pd.Series(a).sort_values(ascending=False).apply(str))
266:デフォルトの名無しさん (ワッチョイ 9301-lXNI)
20/03/18 14:43:54 mQYnVt2r0.net
>>249
違うよ
教えるコアな要素は共通にもかかわらず
初心者がつまづく内容や頻度だったりそれを自己解決できる割合が言語によってかなり違う
それが習熟速度に影響を与える一番の要因
ABテストやってみたいねと書いたのは複数言語を学習する順番が
プログラミング習熟度に与える影響の調査をペーパー書けるくらいフォーマルにやってみたいねって話
3言語なら最低6グループ必要になるわけで
統計的に意味ある人数集めてそんなテストするの普通の会社では無理だからね
Aグループ: Ruby -> Python -> JavaScript
Bグループ: Python -> JavaScript -> Ruby
…
267:デフォルトの名無しさん (ワッチョイ 9301-lXNI)
20/03/18 14:56:08 mQYnVt2r0.net
>>256
思考の順序とコードで表現する順序が近ければ近いほど
思考ノイズが少なくて初心者に限らず人間には理解しやすい
単にできればいいってもんじゃない
結局Pythonでわかりやすく読みやすいコードを書くには
自然な思考順序と異なる部分をラップした関数を独自に定義していくか
Pythonで表現できる順序に自分の思考順序を合わせていくしかなく
一般に読みやすいと思えるコードを書く労力がRubyに比べると段違いで多い
少し前にPythonスレで質問があったflattenがいい例
268:デフォルトの名無しさん
20/03/19 04:20:21.38 JDU05jIv0.net
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 ) //=> 偽
269:デフォルトの名無しさん
20/03/19 07:34:00.79 Twc2892j0.net
>>258
Rubyの文法は自然だと思う
>>259
ゼロを偽に使うのは筋悪だね
270:デフォルトの名無しさん
20/03/19 09:26:18.85 YUAN2W2v0.net
コマンドが正常に終了した時は0を返すもんですよ
271:デフォルトの名無しさん
20/03/19 12:39:59.01 Xi+VoJGEd.net
Rubyが理解できれば、JavaScriptもだいたい理解できるってまじっすか?
272:デフォルトの名無しさん (ワッチョイ 292c-cvBQ)
20/03/19 13:04:35 JDU05jIv0.net
Ruby・Groovy は似てる。
JavaScript, jQuery, Kotlin は、メソッドチェーン中心で、Rubyに似せてきてる
サーバー側のNode.js は、Rubyのコピー。
npm(node package manager), yarn は、Bundler のコピー
CakePHP, Spring Boot は、Rails のコピー。
だから、流行った
Rails がサーバー側の標準。
だから、RubyからLinux とか、サーバー側へ進む人が多い
273:デフォルトの名無しさん (ドコグロ MM95-u5rl)
20/03/19 13:10:40 TVS3Wm7/M.net
>>262
RubyはRails Scriptとして使うだけならさほど難しくはないが純粋に言語としては極めて複雑な部類で、
Rubyを理解した、と自信を持って言えるレベルならJavaScriptなどもはや楽勝
274:デフォルトの名無しさん
20/03/19 13:16:56.47 Twc2892j0.net
>>262
Rubyを覚えれば
Pythonはだいたい理解できる
JavaScriptはちょっと理解できる
クセがある部分が多いから
まあ2015でクラス構文が入って
だいぶマシになったけど
275:デフォルトの名無しさん (ワッチョイ 13a5-TOPM)
20/03/19 13:49:34 PJNEdIzn0.net
クラスが入っただけでマシになった、ってことか?
276:デフォルトの名無しさん (ワッチョイ 292c-cvBQ)
20/03/19 14:07:04 JDU05jIv0.net
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 ]
277:デフォルトの名無しさん (オッペケ Sr85-NT4g)
20/03/19 16:59:22 88pUuzIXr.net
JavaScriptはクラス定数すら定義できないからな
最近のはしらんが
278:デフォルトの名無しさん
20/03/19 17:00:49.00 DXn00lXA0.net
Pythonはうんこだが、Rubyのメソッドチェーンも今となってはゴミの部類で
パイプライン演算子こそが正解
279:デフォルトの名無しさん
20/03/19 17:26:29.02 yS5RdDEsF.net
URLリンク(codepad.org)
URLリンク(codepad.org)
280:デフォルトの名無しさん (ワッチョイ 1161-44a/)
20/03/20 00:53:19 405ti7Ej0.net
>>264
JS は、promise, then, async, waitUntil, ServiceWorker(PWA)などの部分がかなり難しく感じる。
event の bubbling phase, capture phase, target phase と絡んで
cancelBubble, stopPropagation, preventDefault
の話も正確に理解するのはなかなか難しい。
281:デフォルトの名無しさん (ワッチョイ 1161-44a/)
20/03/20 00:56:41 405ti7Ej0.net
event.waitUntil()
event.respondWith()
はいまだにちゃんと理解できてない。
ServiceWorkerのWorker Lifecycleも物凄く理解が難しい。
282:デフォルトの名無しさん
20/03/20 01:05:01.24 405ti7Ej0.net
さらに、Blob の概念も独特で難しい気がする。
283:デフォルトの名無しさん
20/03/20 01:07:27.55 405ti7Ej0.net
これも理解できない。
誰かに教えてほしい。
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);
}());
});
284:デフォルトの名無しさん
20/03/20 01:51:15.32 b2ihZgLg0.net
>>271
その中で言語の要素はpromise/then/async�
285:フ3つだけ それも全部Promise 言語とフレームワーク/APIは分けて捉えないと RubyとRailsを混同してるのと同じ
286:デフォルトの名無しさん
20/03/20 01:54:59.68 405ti7Ej0.net
>>275
でも今のJSでPromiseを避けて済ますことは難しい。
特にPWAのHelloWorld的なプログラムで>>274のように、
Promise, async, await, respondWith などの難しいが概念が同時に出てきてしまい、挫折してしまう可能性が高い。
やりたいことは単に、ウェブアプリのアイコンをホーム画面に出したいだけだと言うのに。
287:デフォルトの名無しさん
20/03/20 09:01:29.50 CQQp7Y750.net
jQuery でも基本は、Promise。
成功・失敗時の処理を書けばよい
async/await は、非同期を同期的に書ける。
内側にネストしないように書ける
288:デフォルトの名無しさん
20/03/20 10:07:25.86 IqcuAu3DM.net
>>276
>でも今のJSでPromiseを避けて済ますことは難しい。
言語が提供する機能とそれ以外を区別しろって言われてこれかよw
Promiseが理解できないのも納得
289:デフォルトの名無しさん
20/03/20 10:14:58.61 u1wBzCgK0.net
>>276
× でも今のJSでPromiseを避けて済ますことは難しい。
○ 非同期プログラミングをするならどの言語でも一緒
GUI関連は大抵の言語で非同期処理をする
要するに画面の描画をブロックしてはいけないからだ。
RubyはそもそもGUIとかでてこないから
使わないだけ
290:デフォルトの名無しさん
20/03/20 11:04:22.80 405ti7Ej0.net
>>279
例えば、Win32APIなど非同期処理もMSDNを読めばちゃんと理解できる。
ところが、Promiseは公式サイトが何を言っているのか分からないので
99%の人が理解できない。
291:デフォルトの名無しさん
20/03/20 11:30:29.28 nAHhYb7gF.net
馬鹿除けにちょうど良い機能やん
292:デフォルトの名無しさん
20/03/23 10:55:32.08 mWzqBLYF0.net
jsは伝統的にコールバックをやってきたというのを知っていないと理解は難しいかもね
promiseはコールバック地獄の救世主だからそれなしでは語れない
イベント系はもともとクリックされたらみたいなこととこから始まってるのを知ってないとイメージがつかめないだろうな
293:デフォルトの名無しさん
20/03/23 10:59:24.89 7lDoSnDw0.net
Cをみりゃ分かる
コールバック地獄の救世主なんていない
まやかしだ
294:デフォルトの名無しさん
20/03/24 12:55:54.95 n56XI6Ab0.net
Windows 10, WSL, Ubuntu 18.04 を起動して、ユーザーのホームディレクトリで、
Ruby のバージョンマネージャーのrbenv-installer を実行したけど、
rbenv / rbenv-installer
URLリンク(github.com)
これの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行目は、バグなのかな?
295:284
20/03/24 13:30:12.20 n56XI6Ab0.net
rbenv-installer の間違いの訳ないよな。
漏れの手順・環境がおかしいのか
初回はホームディレクトリで実行して、
インストール後はホームディレクトリではなく、~/.rbenv ディレクトリで、実行するのかな?
eval "$(rbenv init -)"
してるけど、まだどのバージョンも入れていないから、
rbenv というディレクトリは存在しないのかも?
バージョンを入れたら、rbenv というディレクトリが作られるのかも?
296:デフォルトの名無しさん
20/03/24 13:32:10.90 WT9cP8p50.net
文句言う前に
VMでも何でも良いから
素の生インスコ環境造って
他の影響を排除してみ
297:デフォルトの名無しさん (ワッチョイ 8b14-9KJh)
20/03/24 15:16:18 fj9Tix3R0.net
>>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シェル関数を定義していたりしないか?
298:デフォルトの名無しさん
20/03/24 15:26:44.36 fj9Tix3R0.net
まあバグとまでは言わんけど、対応漏れとして / で始まらないものは
シェル関数として省くとかすれば対応は可能かもしれんなぁ。
それ周りの解決法は調べた事ないので、どうするのがベストなのかしらんけど
299:284
20/03/24 17:01:58.24 n56XI6Ab0.net
rbenv のトップページを参考にして、実行した
URLリンク(github.com)
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 変数にパスが入ってくるのかも知れない。
こんなに有名なアプリに、こんな単純なバグがあるとは思えないし、漏れの勘違いでしょう
300:デフォルトの名無しさん (ワッチョイ 0dad-OG1y)
20/03/28 22:49:31 413BE/qa0.net
たのしいRuby第5版の古本買ったのでRuby入門します(^_^)/
301:デフォルトの名無しさん
20/03/28 23:25:45.38 lv
302:HGCPQW0.net
303:デフォルトの名無しさん
20/04/01 03:54:14.10 PTOn+beS0.net
VScodeでRuby実行環境作ったけど楽しいは!
サクサク動かして試せる!
304:デフォルトの名無しさん
20/04/01 05:08:16.41 T/a2Vy7O0.net
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 も、いらなくなるかも
305:デフォルトの名無しさん
20/04/01 05:23:37.67 d9NDYWBE0.net
インスタンスがどれで変数の型がどれでオブジェクトはどれってごっちゃになってわからないのですが
class A=new A() インスタンスはこの行全てを指すのですか?
306:デフォルトの名無しさん (オッペケ Sr01-KN+/)
20/04/01 07:10:14 uldFLeaHr.net
まず日本語の勉強から始めろ
307:sage
20/04/01 08:45:05.94 Y4BtYbUm0.net
まず、そもそも class A=new A() は Ruby の文法として完全に誤りだ
Ruby では、クラス A を定義するなら、class A; … ; end と書く
同様に、クラス A からインスタンスを生成して変数 a に代入するには a = A.new と書く
プログラミングが初めてであればオブジェクト指向の概念がゴッチャになるのは
しかたないとはいえ、それ以前にプログラミングの基本から学んだほうが良いと思うよ
308:デフォルトの名無しさん
20/04/01 09:07:03.23 T/a2Vy7O0.net
ひとまずこれで、クラスA を定義して、その設計書に基づき、
インスタンス・実体a・b を作った
クラス内に、変数・関数を定義していけば、より本格的なクラスになっていく
class A
end
a = A.new
b = A.new
309:デフォルトの名無しさん
20/04/01 11:18:53.70 5VJq6KKKF.net
a = (class A; end).new
とかあるんだっけ
310:デフォルトの名無しさん
20/04/01 14:38:45.50 8LLFjcSO0.net
>>294
Rubyにおいてはすべてがオブジェクトなので
変数の型はクラスだと考えてよい
(他言語はそうとは限らない)
インスタンスは個別の状態(変数)を持ったもので
「オブジェクト」という言葉は文脈によって
クラスとインスタンスの両方の意味で用いられる
よくある喩えで言うと人間はクラスで
太郎や花子がインスタンス
太郎と花子はどちらも人間(クラス)だけど
個々の状態(性別や年齢などの変数)は異なる
とりあえずの回答としてはざっとこんなもんだが
オブジェクト指向を本格的に習得したいなら
本で勉強する必要があるだろう
311:デフォルトの名無しさん (ワッチョイ 558f-q/Tg)
20/04/01 16:10:35 nPBcGZ1y0.net
1はIntegerクラスのインスタンス
“abc”はStringクラスのインスタンス
[1,2,3]はArrayクラスのインスタンス
Integer, String, ArrayはClassクラスのインスタンス
ClassもClassクラスのインスタンス
312:デフォルトの名無しさん (ワッチョイ 1b8c-CgtG)
20/04/01 21:25:17 XvdBTC2x0.net
オブジェクトを使った例文もプリーズ
313:299
20/04/01 22:04:08.48 8LLFjcSO0.net
class Human
attr_reader :age, :sex
def initialize(age, sex)
@age = age
@sex = sex
end
end
taro = Human.new(24,'man')
hanak
314:o = Human.new(18, 'woman') p taro.age p taro.sex p hanako.age p hanako.sex
315:299 (ワッチョイ e5ad-KN+/)
20/04/01 22:07:05 8LLFjcSO0.net
>>299
>>302
文章説明したこと(だけ)の
サンプルコード
同じHumanクラスだが
インスタンスとして
taroとhanakoは異なる
インスタンス変数ageとsexも
インスタンスごとに
異なった状態になっている
それだけのことだけど基本中の基本
316:284
20/04/02 12:07:15.86 BA8GpIv40.net
>>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 されます
317:デフォルトの名無しさん
20/04/02 12:56:23.11 qWu3pHo10.net
いみがまったくわからんどうでもいいや
318:デフォルトの名無しさん
20/04/02 13:56:36.20 vZC8Eo+WH.net
simulationライブラリで純粋な関数式プログラミングをする
URLリンク(x0000.net)
UIライブラリ (C#, 2D) を作ったよ
URLリンク(x0000.net)
学術の巨大掲示板群 - アルファ・ラボ
URLリンク(x0000.net)
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
319:284
20/04/02 14:07:46.77 BA8GpIv40.net
これを、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
320:デフォルトの名無しさん (ワッチョイ a301-51IN)
20/04/02 14:48:16 s8KkhiHc0.net
>>304
>>287に書いてたよね
>しかし rbenv-installer は別コマンドだ、現在のシェルで定義しているシェル関数の rbenv が
>呼び出したrbenv-installerという子プロセスから見つかるはずがない。
321:デフォルトの名無しさん
20/04/02 15:03:21.14 Jw7S0ezcr.net
車輪の再発名というか糞の再生産というか
322:デフォルトの名無しさん
20/04/02 18:25:33.41 4X8ewqwSF.net
Ruby信者が別のRuby信者を何人感染させるか
1を下回ってると思う
323:デフォルトの名無しさん (ワッチョイ 4b2c-AHN4)
20/04/03 12:39:37 tv+k2Xei0.net
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
324:284 (ワッチョイ 4b2c-AHN4)
20/04/03 13:04:09 tv+k2Xei0.net
>>307
の話題は、シェルスクリプトのスレへ移動しました!
シェルスクリプト総合 その33
スレリンク(tech板:56番)-60
325:デフォルトの名無しさん (ワッチョイ a301-51IN)
20/04/03 14:05:19 q/cvlU880.net
>>311
pry> "20".ljust(3, "0")
=> "200"
pry> "20".rjust(3, "0")
=> "
326:020" Stringのメソッドに目的のものがないかどうかを最初に探そう https://docs.ruby-lang.org/ja/latest/class/String.html
327:デフォルトの名無しさん (ワッチョイ 15e6-20Ab)
20/04/03 16:23:36 CpQ2Rjn20.net
"%03d" % "02" # "002"
では、何か不味いのか
328:311 (ワッチョイ 4b2c-AHN4)
20/04/03 17:00:52 tv+k2Xei0.net
0 で始まる文字列は、8進数と解釈されるのか、08, 09 などでエラーになる!
"%03d" % "07" # OK
"%03d" % "08" # エラー
>>313
ありがとう
329:デフォルトの名無しさん
20/04/03 17:22:43.70 Tlqo6QWT0.net
"%03d" % "08".to_i #=> "008"
330:311
20/04/03 18:14:05.62 tv+k2Xei0.net
先頭から続く、0 は鬼門!
それらを除去したい。よい方法は?
0080 → 80
123 → 123
"" → ""
000 → ""
331:デフォルトの名無しさん
20/04/03 18:26:24.61 q/cvlU880.net
>>317
>000 → ""
“000”のleading zeroを除くと“0”では?
332:311
20/04/03 18:51:12.37 tv+k2Xei0.net
先頭から続くかぎり、除去するので、これで良いです。
000 → ""
これは、自作するのは難しい。
プログラミングのお題に出してみようか
333:デフォルトの名無しさん
20/04/03 18:59:52.23 q/cvlU880.net
そっか、じゃ正規表現だね
"000".sub(/^0+/, "") #=> ""
"123".sub(/^0+/, "") #=> "123"
"0080".sub(/^0+/, "") #=> "80"
334:311 (ワッチョイ 4b2c-AHN4)
20/04/03 19:02:21 tv+k2Xei0.net
>>319
修正
0 → ""
000 → ""
やっぱり、これらは空文字列よりも、0 にした方が良さそう
0・000 → 0
335:デフォルトの名無しさん (オッペケ Sr01-KN+/)
20/04/03 19:52:06 MoLJYTUlr.net
なんやこのガキ
336:311 (ワッチョイ 4b2c-AHN4)
20/04/03 20:00:56 tv+k2Xei0.net
プログラミングのお題の方に書き込んだので、このスレから移動してください!
337:デフォルトの名無しさん (ワッチョイ 6352-cvTZ)
20/04/03 20:10:53 y4LIlYUL0.net
>>322
有名な荒しだよ
>>323
誰もお前の独り言に興味ないから一人で行け。
いや、向こうのスレに迷惑をかけるな。
338:デフォルトの名無しさん (オッペケ Sr01-KN+/)
20/04/03 20:24:38 MoLJYTUlr.net
>>324
この板の荒らしって単芝君くらいしか知らんかったわ
339:デフォルトの名無しさん (ワッチョイ a301-51IN)
20/04/03 20:48:35 q/cvlU880.net
>>323
お題スレは質スレじゃないんだから並行してても別にいいよ
あそこはお題に対してこんな解き方もあるんやでを披露しあって楽しむ処
340:デフォルトの名無しさん (ワッチョイ 6352-cvTZ)
20/04/03 20:55:22 y4LIlYUL0.net
>>325
いくつかのスレのタイトルにRuby禁止と書かれているのは、そいつか原因になっている。
活発に活動していて、コテもつけてないが書きっぷりで一目で分かるので目障りきわまりない。
341:291 (ワッチョイ 4b2c-AHN4)
20/04/05 14:17:50 eWBrSqct0.net
Windows 10, WSL, Ubuntu 18.04 で、
rbenv で、Ruby 2.6.5 をインストールして、
PowerShell で、wsl と入力し、
Windows 側のプロジェクトフォルダへ移動してから、
Gemfile に、gem "rails"
と書いて、bundle install と入力すると、
nokogiri 1.10.9 with native extensions のコンパイルに数分掛かったが、
エラーもなく、rails 6.0.2.2 がインストールされた!
でも、SQLite, Node.js などが無いけど
342:デフォルトの名無しさん (ワッチョイ cb68-CuPJ)
20/04/07 16:20:09 FvbCZ7uW0.net
初歩的な質問ですみません
print(”Hello, Ruby.\n")と打つと
デバイス PRN を初期化できません
とエラーが出ます。たのしいRubyの手順通りにしたのですが
こう表示されてしまいます。本にはこのエラーの対処法が載っていないので
困っています。ご教授お願い致します。
343:デフォルトの名無しさん
20/04/07 16:35:32.77 G5F9VLMpF.net
知恵をくれで概出
URLリンク(detail.chieb)
344:ukuro.yahoo.co.jp/qa/question_detail/q10208842775 ぐぐれ
345:デフォルトの名無しさん (ワッチョイ cb68-CuPJ)
20/04/07 16:48:40 FvbCZ7uW0.net
>>330さん
ググったのですが意味が解らず…
DOSプロンプトで見たらインストールは正常にされたみたいです。
詳しく教えていただければおっぱい見せます。
346:デフォルトの名無しさん
20/04/07 17:19:34.70 ivfSfUTD0.net
>print(”Hello, Ruby.\n")
全角文字、(” を使っちゃいけない!
プログラミングは、半角英数字しか使えないので、すべて半角英数字で入力し直すべし!
print("Hello, Ruby.\n")
特定の条件では、( ) を省略できるので、これでも良い
print "Hello, Ruby.\n"
また、puts なら自動的に改行されるので、最後の改行コード・\n が不要
puts "Hello, Ruby."
347:デフォルトの名無しさん (ワッチョイ cb68-CuPJ)
20/04/07 18:50:31 FvbCZ7uW0.net
>>332さん
ありがとうございます。頑張ってみます。
348:デフォルトの名無しさん (オッペケ Sr01-KN+/)
20/04/07 20:18:18 /JRvNpEdr.net
おい、おっぱい
349:デフォルトの名無しさん (ワッチョイ c668-KRXG)
20/04/08 16:21:31 bduWTrbF0.net
コマンドプロンプトなら実行できるのにRubyコマンドではできません。なぜでしょうか?
350:デフォルトの名無しさん
20/04/08 18:35:17.62 fnNjblX40.net
普通は、ソースコードをファイルに書いて実行する。
ruby script.rb
-e オプションで、1-liner も実行できる。
ruby -e 'puts "a"'
Windows のPowerShell では、%Q("a") とダブルクォーテーションを、%Q( ) で囲まないと動かないこともある
ruby -e 'puts %Q("a")'
VSCode などのエディターを使うのがよい
351:デフォルトの名無しさん
20/04/08 19:50:16.26 bduWTrbF0.net
>>336さん
Visual Studio code インストールしました。
エディター、よくわかっていません…
妹の食事を作りつつ勉強していますが難しいですね。
中3女子には難しいでしょうか?
352:デフォルトの名無しさん
20/04/08 19:53:23.25 oh4YVJIM0.net
小6じょちのあたちにもできたんだから
おねぇちゃんののうりょくがないだけだよ
353:デフォルトの名無しさん
20/04/08 20:12:59.80 Au8ilpyjr.net
草
354:デフォルトの名無しさん
20/04/08 20:59:04.51 +ufIeUeW0.net
>>335
「えんぴつなら書けるのにボールペンでは書けません。なぜでしょうか?」って書いてるのと同じ
これ答えられる?
どういう環境で何をやろうとしてるかもわからない
コマンドプロンプトで何ができたのかもわからない
Rubyコマンドで何がどうできないのか、どういうエラーが出てるのかもわからない
プログラミングに限らず人に質問して自分の欲しい答えを引き出すには最低限の質問力が必要
355:デフォルトの名無しさん
20/04/08 22:17:10.21 bduWTrbF0.net
すみませんんでした。
Rubyコマンドで
print("Hello, Ruby.\n")
と打つと
デバイス PRN を初期化できません
と表示されます。
コマンドプロンプトで打つと実行できます。irbだと実行できるのは解ったのですがなぜRuby
で実行できないのかがわからなかったんです。ググってみても、「たのしいRuby」を
読んでも記載されていません。
356:デフォルトの名無しさん
20/04/08 22:22:22.52 bduWTrbF0.net
環境はWindows10で
Ruby2.7.1です。
Visual Studio codeをインストールして日本語にできました。
エディタ-の使い方を勉強しています。
恥を忍んで質問しました。すみません。
357:デフォルトの名無しさん
20/04/08 22:35:28.81 5a3Kp3Hv0.net
>>341
何をやってどういう結果になったかを、相手に伝わるように正確に書くこと。
おそらくそれができていないから、実行した画面のキャプチャを撮って張り付けること。
>>337みたいなどうでもいい情報を書く前に、どうしたら欲しい回答が相手から得られるかを考えなよ。
358:デフォルトの名無しさん
20/04/08 22:37:29.23 +ufIeUeW0.net
>>341
古い版の「たのしいRuby」があったから見てみたけど
print(“Hello, Ruby.¥n”) と書いたhelloruby.rbというファイルを作成して
それをCドライブのsrcフォルダに保存してから
コマンドプロンプトで
>cd
359: c:¥src >ruby helloruby.rb とやれって書いてるよ 「デバイス PRN を初期化できません」ってエラーが出るってことは コマンドプロンプトに直接 print(“Hello, Ruby.¥n”) と打ち込んでるんじゃないの? irbははinteractive ruby shellの略で対話型で1行ずつ書いたコードを実行する環境の名前で irbコマンドはその環境を起動するコマンド rubyコマンドは基本的にrubyのコードを書いたファイルを渡してプログラムを実行するためのコマンド
360:デフォルトの名無しさん
20/04/09 00:15:03.91 ESGIvA9P0.net
メモ帳notepad.exeで、ファイルをつくれ?
361:デフォルトの名無しさん
20/04/09 10:43:54.76 yDuqE7M0r.net
Rubyコマンドっていうから端末でruby起動して標準入力からコード書いてんのかと思ったら自作ワードだったか
362:デフォルトの名無しさん
20/04/09 11:07:57.57 0FSX5ei3r.net
パス通ってんなら「puts "Hello, Perverts!"」って内容のhoge.rbをダブルクリックすれば実行されんじゃないの?
ウィンドウズ知らんけど
WSL独り言連投君よ、今こそ君の知識を授けてあげなよ(笑)
363:デフォルトの名無しさん
20/04/09 12:17:41.44 pqMoXxyo0.net
エディタは、VSCode だけを使ってください!
メモ帳などを使うと、BOM の有無・文字コード(UTF-8, CP932(sjis, shift-jis))などで、ややこしい
VSCode の下に、改行コード・文字コードが表示されるので、そこをクリックして変更してください。
Windows なら、UTF-8 で、改行コードはCR/LF です
VSCode では、まず、3つの拡張機能を入れる。
Code Runner(Run Code), Bracket Pair Colorizer, indent-rainbow
Code Runner では、そのスクリプトファイル全体、または選択したコード片を、
右クリックメニューから実行できる
require 'ファイルパス'
などの相対パスが解決できない場合は、パスを探す基点となるフォルダを、
ユーザー・ワークスペース・フォルダの、どれかの設定項目に追加してください
Code-runner: File Directory As Cwd
Whether to use the directory of the file to be executed as the working directory.
まあ、VSCode の詳細は、VSCode のスレで聞いてください
364:348
20/04/09 12:41:50.31 pqMoXxyo0.net
>>341
エクスプローラーで適当なフォルダを作って、
そのフォルダをVSCode の左のサイドバー上のエクスプローラービューへドラッグ&ドロップすれば、
そこがワークスペース(プロジェクト)フォルダになる
エクスプローラービューの上の「新しいファイル」アイコンを押して、適当なファイルを作る。
例えば、script.rb
そのファイル上に、
print("Hello, Ruby.\n")
と書いて、それを選択して、または、ファイル全体を保存して、
右クリックメニューから、Run Code を起動すると、Code Runner で実行できる
VSCode の使い方は、ヘルプのようこそとか、対話型プレイグラウンドで学べる
365:348
20/04/09 12:55:29.23 pqMoXxyo0.net
基本的に、サンプルのコード片などは、全てVSCode のCode Runner で実行してください!
Windows のirb は、日本語入力でバグルので、使わない方がよい
基本的に、web 系の言語は、インターネットのLinux サーバーを対象にしているので、
パソコンのWindows などでは、動かないことが多い。
様々なライブラリを作る人が、Windows 用には作らないので
そのため最近では、Windows 10, WSL 上に、Ubuntu 18.04 など、
Linux を入れて使うことが多くなった
VSCode からは、Remote WSL という拡張機能で、Linux側へアクセスできる
初心者の間は、WSL, Linux などは関係ないけど
366:デフォルトの名無しさん (ワッチョイ c668-KRXG)
20/04/09 17:22:58 LYdNiQuc0.net
>>349さん
皆さんありがとうございます。拡張機能でCode Runnerインストールして
ファイル上にprint("Hello, Ruby.\n")と入力、保存して右クリック、これでRuby動く!
と思ったものの、何も起きません…
私のようなバレーボール馬鹿にはプログラムは
367:向いていないんでしょうか… 夕食後、もう一度やりなおしてみます。
368:348 (ワッチョイ 062c-5WFu)
20/04/09 17:42:02 pqMoXxyo0.net
ただし、ファイル名が、script.rb みたいに、
Ruby の拡張子、.rb を付けること
それで、そのファイルをRubyで実行すると、判断されるはず!
369:デフォルトの名無しさん (ワッチョイ c668-KRXG)
20/04/09 19:33:27 LYdNiQuc0.net
>>348さん
Code Runnner 実行できました。皆さんありがとうございます。
ただ次のステップ、VSCode実行からどうしたらいいでしょうか?
370:デフォルトの名無しさん
20/04/09 19:51:56.26 ZpQLfNz3r.net
そもそも初心者がVSCode使う意味が分からん。
Hello, world.レベルならirb使ってちまちまやった方が絶対勉強になる。
日本語入力に不安があるならコマンドプロンプトに「irb --noreadline」って打って起動すれば問題ないだろう。
371:デフォルトの名無しさん (アウアウウー Sabb-juGi)
20/04/09 20:09:13 gKTfLKCaa.net
そもそもRubyの公式エディタはEmacs
VSCodeは邪悪なMSの製品である上に、JavaScript製のAtomを殺したTypeScript製のVSを使うことは動的型に対する静的型付けの勝利を認めることになる
絶対に使ってはならない
372:デフォルトの名無しさん
20/04/09 20:15:27.05 7CAQ8ULU0.net
Emacsは初見殺しなんで
絶望的に初心者に向かない
373:デフォルトの名無しさん
20/04/09 20:18:17.27 LYdNiQuc0.net
製品の詳しいことは解らないんですがそんなにだめなんでしょうか?
脳筋の私でもなんとか理解できてきたような気がするんですが…
374:デフォルトの名無しさん
20/04/09 20:21:56.41 7CAQ8ULU0.net
VSCodeはデフォルトの設定で使うなら
別にそんなに難しくないと思う
なんだかんだMSだからExcelとかと同じで
普通の人が普通に使えるようになってる
375:デフォルトの名無しさん
20/04/09 20:28:00.86 LYdNiQuc0.net
皆さんなんだかんだ言っても優しいですね。Rubyを選んで良かったです。
376:デフォルトの名無しさん
20/04/09 20:28:41.78 ESGIvA9P0.net
>>356
vi/vimよりもはるかにマシ!
377:デフォルトの名無しさん
20/04/09 20:37:22.11 AINw40ik0.net
>そもそもRubyの公式エディタはEmacs
これいつもの荒らしの口癖
本人はRubyもEmacsもまともに使えない
378:デフォルトの名無しさん (オッペケ Sr5f-LdNq)
20/04/09 21:04:33 ZpQLfNz3r.net
ホントの初心者ならirbだけでよい。
それでちょっとまとまったことやりたくなったらメモ帳でも使えばよい。
いきなりVSCodeって、工作好きの子供にいきなり電動ドリルやチェーンソウを買い与えるような仰々しい印象なんだが。
まあ畢竟、外野が強制するものでもないし好きなものを使えばいい。
379:デフォルトの名無しさん
20/04/10 06:22:21.43 4WnvV4mF0.net
>>354
> Hello, world.レベルならirb使ってちまちまやった方が絶対勉強になる。
勉強とは何をやったか記録すること
irbでどうやって記録に残すんだ?あん?
380:デフォルトの名無しさん
20/04/10 06:24:00.31 4WnvV4mF0.net
>>362
初心者をバカにするな。
「お前は初心者だからプロと同じものを使うな」は
初心者をバカにする行為でしかない。そんな偉そうな人間でもないだろお前は
381:デフォルトの名無しさん
20/04/10 09:11:42.62 AffC1A390.net
Hello worldなんて頭の中に記録できればログ記録しとく必要なんかないやろ
382:デフォルトの名無しさん
20/04/10 09:18:05.41 Ntz3fYqx0.net
>>363
記録を目的にしたら本末転倒だろう。
最初のうちは色々入力して試行錯誤し、自分の頭で考えたり成功や失敗を繰り返し経験することのが大事。
まずは書き捨てていいからとにかく試して自分の理解がある程度整理できるようになってから残せばいい。
383:デフォルトの名無しさん
20/04/10 09:29:19.09 2wmBzsgU0.net
>>363
>勉強とは何をやったか記録すること
それ記録じゃなくて記憶の記憶違い
384:デフォルトの名無しさん
20/04/10 10:27:27.94 L7OYJgcU0.net
>>363
デフォルトで~/.irb_historyに1000行まで記録されてる
(2.6まではデフォルトでは履歴は無効、2.7からデフォルトで有効)
出力を含めた作業ログをファイルに残したいならそういう機能を持ったターミナルを使う
WindowsならPowerShellでStart-Transcript
385:デフォルトの名無しさん
20/04/10 11:28:17.25 ccEovqrb0.net
>>363
絶望的なまでに頭が悪いなお前
それ読んで馬鹿にされたと思うのは劣等感の塊で自意識過剰なお前くらいだろ
そしてお前はirbのこと馬鹿にし過ぎ
教育現場でとっかかりとしてREPLを通して学ばせるなんて日常茶飯事だわ
東大でも準必修でRubyをirbを使って教わったぞ
386:デフォルトの名無しさん
20/04/10 11:39:21.89 4WnvV4mF0.net
>>366
いろいろ試行錯誤する時に、
あれ?さっきなんて入力したっけ?
ってなったら意味ないだろw
コードをじっくり見ないといかんし
勉強っていうのはタイプすることじゃないぞ
自分で何を書いたかを理解することだぞ
387:デフォルトの名無しさん
20/04/10 11:52:26.74 716l2Eq1r.net
>>370
ctrl+rやctrl+pも知らない馬鹿がなんか言ってる
388:デフォルトの名無しさん
20/04/10 11:59:51.13 716l2Eq1r.net
というか入出力の履歴が保存されてる件はスルーなのか
荒らしだなこれは
389:デフォルトの名無しさん
20/04/10 12:01:17.98 gPLvT64S0.net
>>371
その程度の話なら画面スクロールでいいだろw
アホかw
390:デフォルトの名無しさん
20/04/10 12:05:37.87 716l2Eq1r.net
>>373
端末の表示バッファ超えててもctrl+rや保存された履歴は有効なんだが底辺の底よりも頭悪いなお前
391:デフォルトの名無しさん (ワッチョイ 2314-9hq2)
20/04/10 12:52:01 nukGJGZx0.net
>>374
お前あれだろ、黒板の板書をそのまま書き写して勉強した気になってたやつだろ?
自分なりに整理して書かないやつがログとってても何の勉強にもならんよw
392:デフォルトの名無しさん
20/04/10 13:17:00.45 716l2Eq1r.net
「irbでどうやって記録に残すんだ」とか馬鹿なこと言うからみんなからさんざん論破されてんのに意味不明すぎて笑える
393:デフォルトの名無しさん
20/04/10 13:24:11.57 2KZut19P0.net
初心者は、VSCode で、Code Runnner を使うべき!
メモ帳は、文字コード・BOM の有無で動かないから、使っちゃいけない!
web 系は、BOM 無しUTF-8 だから、メモ帳みたいな、BOM 付きUTF-8 はダメ!
Windows の文字コード、CP932/Windows-31J(shift-jis, sjis)も使っちゃいけない!
irb は、日本語入力でバグル。
複数行の構文も、ややこしい
if 条件式
else
end
394:デフォルトの名無しさん (オッペケ Sr5f-LdNq)
20/04/10 13:27:02 716l2Eq1r.net
>>377
irbでたバイト文字でバグらないようにすることは可能だし
Windows10のnotepadはBOMつきのUTF-8では保存できねえよ
395:デフォルトの名無しさん
20/04/10 16:01:46.29 nukGJGZx0.net
>>376
だからお前の言うirbの記録=何の整理もしてない実行ログだろ?
あとから見ても何もわからない。これかなーって実行してエラー発生w
396:デフォルトの名無しさん
20/04/10 16:02:35.40 nukGJGZx0.net
>>378
BOMつきのUTF-8で保存できるが?
397:デフォルトの名無しさん
20/04/10 17:39:51.24 716l2Eq1r.net
日本語が通じないほど頭が悪いことは理解した
398:デフォルトの名無しさん
20/04/10 17:50:12.99 tJvmHEKv0.net
>>363
>>367
勉強とは記録や記憶から
本質的な情報を抽出することだろう
399:デフォルトの名無しさん (ワッチョイ 567d-0bpl)
20/04/10 20:37:25 2wmBzsgU0.net
>>382
違います
学習とは「経験によって生じる比較的永続的な行動の変化、それを生じさせる操作、及びその過程」です
有名なパブロフの犬や迷路実験も学習の一種です
犬やネズミや昆虫等は記録を行いませんが学習しています
400:デフォルトの名無しさん (ワッチョイ c668-KRXG)
20/04/10 20:38:4
401:9 ID:6DyROAQp0.net
402:デフォルトの名無しさん (ワッチョイ 062c-5WFu)
20/04/10 20:50:51 2KZut19P0.net
VSCode の左側のファイルエクスプローラーで、
ファイルを右クリックして、右クリックメニューでターミナルで開くと、
そのファイルがあるフォルダで、PowerShell が起動する
ruby script.rb
みたいに、そのファイル名を引数にして、rubyコマンドを実行する
端末では、タブ文字で入力補完もできる
例えば、ruby scr で、タブ文字を押すと、
ruby .\script.rb みたいに、パス付きで補完される
\ は、バックスラッシュと同じ。
Windows では普通のスラッシュ、/ もパスとして使える
ruby ./script.rb
. は、今の(カレント)フォルダ
403:デフォルトの名無しさん
20/04/10 21:07:19.51 tJvmHEKv0.net
>>383
いやいや
情報を抽出することと
行動を変化させることは
同じことを違う角度で見てるだけでしょ
脳の回路を変化させていることを
どう表現するかという違いでしかない
404:デフォルトの名無しさん (ワッチョイ c668-KRXG)
20/04/10 22:46:37 6DyROAQp0.net
>>385
できました!PowerShell を起動させることでRubyが実行できるんですね。
ありがとうございます!
405:385
20/04/10 23:02:56.48 2KZut19P0.net
PowerShell・コマンドプロンプトから、ruby コマンドを実行できる
それらを、VSCode 内から起動せずに、単独で起動しても実行できる。
cd などのパスの移動コマンドも使える
cd ..
で、親フォルダへ移動するとか
cd ../..
で、親の親フォルダへ移動するとか
フォルダ内の中身を見るのに、
PowerShellなら、ls
コマンドプロンプトなら、dir
コマンドプロンプトよりは、PowerShellのコマンドの方が、
Linux コマンドと同じものが使えるので、覚えやすい
406:デフォルトの名無しさん (ワッチョイ c668-KRXG)
20/04/10 23:16:58 6DyROAQp0.net
>>388
ギギギ…わかりません…
明日もバレーの練習終わったら勉強します。ありがとうございます。
407:デフォルトの名無しさん
20/04/10 23:30:56.45 716l2Eq1r.net
>>389
puts "Hello, World!"
とかいたscript.rbをどっかに保存しておく。
保存したフォルダでshiftを押しながら右クリックから「コマンド ウィンドウをここで開く」を選択。
出てきたコマンドプロンプトに
ruby script.rb
と打ち込めばよい。
もしくはパスが通ってるならそもそもscript.rbをダブルクリックするだけで実行される。
puts "Enterキーを押すと終わるよ"
gets
で保存して試してみるといい。
408:385 (ワッチョイ 062c-5WFu)
20/04/10 23:49:30 2KZut19P0.net
エクスプローラーのフォルダの上で、
shift キーを押しながら、右クリックすると、
PowerShell を、このフォルダで起動すると出る!
同様に、WSL を入れていれば、Linux シェルも起動できる
ちなみに、PowerShell・コマンドプロンプトを終了する時は、
exit と入力するか、ウインドウを閉じる
cd, ls, exit など幾つかは、PowerShellの基本コマンドも知っておいた方がよい
409:デフォルトの名無しさん
20/04/11 01:27:54.54 EGHdPfzv0.net
>>388
Linuxと同じでもないし、同じだとしても別に覚えやすくはねえよ。
おまえがBashに慣れとるだけやろ。w
PowerShell もそれなりにクセがあるから、どっちもどっち。
まあ、今さらcmdはないやろ、というならわからんでもないが。
410:デフォルトの名無しさん
20/04/11 01:30:19.84 EGHdPfzv0.net
cdとかlsとかいう「コマンド」もないしな。w
411:デフォルトの名無しさん (ワッチョイ a205-UCdZ)
20/04/12 10:47:12 ruKWfIE70.net
returnでは現在のメソッドしか終了できませんが、呼び出し元のメソッドごと終了させる方法はありますか?
各メソッドにフラグをチェックするメソッドを入れたのですが、フラグが条件を満たさなかったらreturnとするとフラグチェック用のメソッドが終了するだけになってしまいます
呼び出し元でフラグチェックメソッドの下にreturn if と入れればできますが毎回2行使ってしまうのでできれば1行に納めたいのですが…
412:デフォルトの名無しさん (ワイーワ2 FFfa-zfCe)
20/04/12 10:53:18 j35eJcDNF.net
例外かな
413:デフォルトの名無しさん
20/04/12 14:54:12.56 tx1YNXXn0.net
>>394
- 例外
- catch and throw
- block/proc
- &.
など
いろいろやり方あるけど処理内容とプログラムをどう構造化したいかによって選択肢が変わってくる
414:デフォルトの名無しさん
20/04/12 16:35:25.82 G3JTGpGI0.net
>>394
>return if と入れればできますが
できてるじゃん!
普通のIF文でもできるでしょ?
>毎回2行使ってしまう
行数が1行か2行かなんて気にしなくていい
それから例外を通常の条件分岐に使うのは
便利でも一般的にはあまり推奨できないな
もしもっと複雑な状態遷移に発展するなら
そもそも呼び出すメソッドを切り替える
仕組み(ステートパターンとか)も考えたい
415:デフォルトの名無しさん (ワッチョイ 062c-5WFu)
20/04/12 21:38:06 JZPIrIOa0.net
exit で終了できる。その例外は、SystemExit でキャッチできる。
ただし、exit! では、例外をキャッチできない
at_exit で終了直前の処理を書く。
ただし、後に書いたものから、先に実行される
他には、Signal.trap(:INT, "EXIT")
"EXIT"を指定した時は、シグナルを受け取ると終了処理を行ったあと、ステータス 0 で終了します
at_exit { puts "1" }
at_exit { puts "2" }
begin
exit
rescue SystemExit
puts "例外をキャッチ"
end
出力
例外をキャッチ
2
1
416:284
20/04/13 07:50:48.29 czmtm8eF0.net
Windows 10, WSL, Ubuntu 18.04 で、Rails 環境を構築するために、
nodejs も必要なので、既にインストールしていた、rbenv 環境を削除して、
anyenv で、rbenv, nodenv を管理することにしました
マイクロソフト、Rails Girls などは、バージョンマネージャーに、NVM を使っているようですが、
anyenv なら、使い方が同じなので楽です
rubyのコンパイルに、20分ほど掛かって、
ruby 2.6.6, node 12.16.2 を入れました!
417:デフォルトの名無しさん (ワッチョイ ffda-uUj7)
20/04/15 08:35:18 u7ZRb3JF0.net
192.168.7.21騒動見てたらあるハッカーの顛末を思い出した
418:デフォルトの名無しさん
20/04/16 03:17:45.92 tywb42E30.net
漢数字が、順番に並んでいない!
ary = %w(一 二 三 四 五 六 七 八 九 十)
ary.sort!
p ary #=> ["一", "七", "三", "九", "二", "五", "八", "六", "十", "四"]
re = /[一-十]/
p "四".match( re ) #=> nil
p "七".match( re ) #=> "七"
419:デフォルトの名無しさん
20/04/16 03:20:34.75 Ek7MP3v90.net
文字は文字コード順に並ぶやろから当然やな
漢数字は数字ちゃうねん
420:デフォルトの名無しさん (エムゾネ FFbf-xa8R)
20/04/16 09:55:20 przIFznPF.net
sortにオプションがある言語もある
421:デフォルトの名無しさん (ワッチョイ ff14-Zn3B)
20/04/16 12:08:00 pf1fo5EI0.net
三百は三百やろ!
422:デフォルトの名無しさん (ワッチョイ 57ad-LzhE)
20/04/16 18:47:34 Cbge2SK50.net
>>401
アラビア数字でソートなり処理して
表示する時だけ漢数字に変換するのが
一番簡単だし確実だと個人的に思う
423:デフォルトの名無しさん (ワッチョイ 57ad-LzhE)
20/04/16 18:49:35 Cbge2SK50.net
>>401
>>405
一回きりの簡単な処理ならともかく
数量データの規模が大きかったり
複雑な計算をしたりするときは特にね
漢数字で科学計算とかやりたくないでしょ?
424:デフォルトの名無しさん (ワッチョイ 9f01-7Des)
20/04/16 19:02:06 phPWx1q30.net
>>401
require 'ya_kansuji'
array = %w(八京 2垓 1兆 壱萬 一兆 四 89 五 一 六 二 七 八 三 九 十 百 二十)
array.sort_by{|x| YaKansuji.to_i(x)}
#=> ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十",
"二十", "89", "百", "壱萬", "一兆", "1兆", "八京", "2垓"]
425:デフォルトの名無しさん (ワッチョイ 9733-43xc)
20/04/16 20:36:50 nPvX7Tsg0.net
>>405
んなマジメな話ちゃうやろ。w
426:デフォルトの名無しさん (ワッチョイ bf70-y8FT)
20/04/16 23:04:14 t0fn6/CJ0.net
gem名のyaってなんやろ
427:デフォルトの名無しさん (ワイーワ2 FFdf-xa8R)
20/04/17 13:31:00 3B9MCfUYF.net
yet another
428:デフォルトの名無しさん (ワッチョイ ff14-Zn3B)
20/04/17 15:43:10 9nBzfuh20.net
YmcA
429:デフォルトの名無しさん
20/04/17 17:33:29.74 u7F1CGBb0.net
ヤカン数字
430:デフォルトの名無しさん
20/04/18 07:02:41.78 LLgtam5va.net
Rubyの公式リファレンスは docs.ruby-lang.org です 〜公式な情報源を調べるクセを付けよう〜
URLリンク(qiita.com)
431:デフォルトの名無しさん (ワッチョイ ff14-Zn3B)
20/04/18 11:58:34 6HUqz/fc0.net
「公式な情報源」が使いづらいからそういうことになるんだよな
開発者視線でユーザー視線になっていない
432:デフォルトの名無しさん
20/04/18 22:00:04.31 /lJ7KZ010.net
Rubyの公式ドキュメントはマシな方
新言語だとドキュメント皆無もよくある
433:デフォルトの名無しさん
20/04/19 01:06:00.73 S496UsA30.net
Rubyは何年たつんや?w
んな言い方を恥じろ!
434:デフォルトの名無しさん (アウアウエー Sadf-Ho7r)
20/04/19 23:37:44 +iHDEV0ra.net
ドキュメントがない言語を使うメリットは何もないな
問題が起きた時に試しにやってみるしかないとか
ひどすぎる
435:デフォルトの名無しさん (ワッチョイ f162-PxOI)
20/04/23 03:03:16 XgCgy8390.net
名前のタイプミスを狙った悪質なパッケージがRubyGemsで多数公開される
URLリンク(security.srad.jp)
700以上の悪質なパッケージが2つのアカウントからアップロードされたそうだ。
悪質なパッケージのダウンロード数は2アカウント合計で10万件
悪質なパッケージはいずれもWindowsユーザーをターゲットにしたものとみられ、
インストールすると最終的にVBScriptがループで常駐してクリップボードを監視する。
436:デフォルトの名無しさん (ワッチョイ 6b01-QpYc)
20/04/23 22:00:57 xVkexwEH0.net
んと、コンビニの雑誌の表紙が深田恭子の水着だったので、
深田恭子の年齢を一行スクリプトで37歳だったけど、もっと若く見えます。
何か間違ってますか?
ruby -r date -e "puts (Date.today - Date.new(1982,11,2)).to_i / 365.0"
437:デフォルトの名無しさん
20/04/23 22:22:16.17 UgZRsQiy0.net
365でハードコーディングしないでうるう年換算しろ
438:デフォルトの名無しさん
20/04/23 22:44:33.21 xVkexwEH0.net
require 'date'
n = 0
d = Date.new(1982,11,2)
t = Date.today
while (d < t)
d = (d >> 12)
n = n + 1
end
puts n - 1
やはり37歳
439:デフォルトの名無しさん (オッペケ Sr39-R0M4)
20/04/23 22:51:57 vLHDuQrzr.net
ゴルファーとしては詰めたくなる。なお11月2日以外とする
ruby -e"p (Time.now-Time.n
440:ew(1982,11,2))/315576e2
441:デフォルトの名無しさん (ワッチョイ 4c2c-Hty+)
20/04/23 22:52:22 C0/pHZNH0.net
【Rails 5】Userの現在の年齢を生年月日から計算する方法と、ransackを使わずに年齢の範囲検索フォームの実装
URLリンク(qiita.com)
生年月日から年齢を簡易計算する数式
URLリンク(qiita.com)
今日・生年月日を、yyyymmdd で表して、
( 今日 - 生年月日 ) / 10000
( 20200423-19821102 ) / 10000.to_f #=> 37.9321
( 20200423-19821102 ) / 10000 #=> 37
442:423
20/04/23 22:56:32.86 C0/pHZNH0.net
2019-11-02 が、37歳の誕生日。
2019-11-01 が、36歳最後の日
( 20191101-19821102 ) / 10000 #=> 36
( 20191102-19821102 ) / 10000 #=> 37
443:デフォルトの名無しさん (オッペケ Sr39-R0M4)
20/04/23 23:12:01 vLHDuQrzr.net
ああこれでいいのか
ruby -e'p eval(Time.new.strftime("%Y%j-1982306"))/1e3
444:デフォルトの名無しさん (オッペケ Sr39-R0M4)
20/04/23 23:19:38 vLHDuQrzr.net
まだ詰められた。切りがないのでこれで最後に
ruby -e'p eval Time.new.strftime"%Y.%j-1982.306"
445:デフォルトの名無しさん (ワッチョイ 0c01-UN6T)
20/04/23 23:28:58 5udoMUF90.net
>>423
へぇ~
446:デフォルトの名無しさん (ワッチョイ be2c-Qfm0)
20/05/08 12:54:24 Fn4yfVbS0.net
日本発の言語Ruby 人気続く訳
URLリンク(news.yahoo.co.jp)
Matz へのインタビュー
447:デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
20/05/08 16:05:58 iOEjZYuSa.net
(Windows土座衛門に冷たいのは内緒)
448:デフォルトの名無しさん (アウアウウー Sa1f-lvFW)
20/05/08 17:00:05 CJKV4mcka.net
確かに、宗教について聞けるくらいだったらWindows対応のポリシーについても聞いてみて欲しかったなw
まあ記者がRuby使ったことなさそうだから、まさか自分が当然のように何の疑問もなく使ってるWindowsが目の敵にされているなんて夢にも思ってないだろうけど
449:デフォルトの名無しさん (ワッチョイ ea61-I8iA)
20/05/08 21:45:11 Ht1PGvqd0.net
Windows目の敵ってどういうこと?
450:デフォルトの名無しさん (ワッチョイ 0b14-YoKk)
20/05/08 22:04:02 D/r4SfE/0.net
>>431
美味しんぼの熱狂的なファンだろ
451:デフォルトの名無しさん (ワッチョイ 7333-sgQa)
20/05/08 22:53:47 6z0wijKq0.net
>>430
宣教師の経験があるレベルやぞ?
宗教のことなんかぜひとも訊いてくれ、ってなもんやろ。
Windowsのことを訊いたって、UNIX至上主義の講釈が返ってくるだけや。
452:デフォルトの名無しさん (ワッチョイ bbad-I8iA)
20/05/09 18:23:36 9+f2Z3ZT0.net
Rubyは書きやすくていいが
もうちょいWindowsに対応すりゃ良かったのに
PythonにAIブームでパイ喰われて
一気に廃れてきたな
453:デフォルトの名無しさん
20/05/09 19:30:30.55 qYhHAGHH0.net
URLの差か?
URLリンク(www.ruby.org) (存在しない)
URLリンク(www.python.org)
URLリンク(www.perl.org)
それか英語で書かれたドキュメントの総量、
C/C++でのライブラリの作り方のドキュメント、
そしてendの量
454:◆QZaw55cn4c (NZ 0Ha2-EltK)
20/05/09 19:58:32 y1dzFt5uH.net
>>434
個人的には ruby をもう一度盛り返したいと思っていますが
どんな分野を強化すればいいでしょうか?
455:デフォルトの名無しさん (オッペケ Sr33-I8iA)
20/05/09 20:02:22 I3214lBor.net
>>436
まずは教養レベルの数学も知らないクソコテがこの世から消えることだな
456:デフォルトの名無しさん (ワッチョイ bbad-I8iA)
20/05/09 20:06:18 9+f2Z3ZT0.net
>>436
RubyはRailsが強いのでWebアプリを本拠地にしていて
それ�
457:ヘいいんだけど発展していくためにひとつは 今言ったWindows、もうひとつはAndroid そこでアプリを作りやすい環境があるといいと思います というのもJavaやJavaScriptはこういう マルチプラットフォームにしやすいので 普及した面があるだろうと思うからです
458:デフォルトの名無しさん (オッペケ Sr33-I8iA)
20/05/09 20:10:00 I3214lBor.net
Javascriptがマルチプラットフォームってなんやねん
459:デフォルトの名無しさん (ワッチョイ bbad-I8iA)
20/05/09 20:13:20 9+f2Z3ZT0.net
JavaScriptはエレクトロンとかあるしー
460:◆QZaw55cn4c (NZ 0Ha2-EltK)
20/05/09 20:32:37 y1dzFt5uH.net
>>437
教養レベルの数学とは、具体的にどういう分野ですか?
461:デフォルトの名無しさん (オッペケ Sr33-I8iA)
20/05/09 20:55:06 I3214lBor.net
>>441
少なくとも留数定理知らないバカは教養がない
462:デフォルトの名無しさん (ワッチョイ 8f14-YoKk)
20/05/09 20:55:25 e5F3j8ny0.net
× 教養
○ 雑学
463:デフォルトの名無しさん (オッペケ Sr33-I8iA)
20/05/09 20:55:54 I3214lBor.net
ちなみに教養って東大の教養学部時代のレベルってい見な
464:デフォルトの名無しさん (ワッチョイ 8f14-YoKk)
20/05/09 21:17:50 e5F3j8ny0.net
ほらな。勝手な定義をし始めたw
これが教養(笑)
465:デフォルトの名無しさん (ワッチョイ 5b01-A7sU)
20/05/09 22:04:19 jpivn6ew0.net
東大教養部でもtypoはするんだ
466:デフォルトの名無しさん
20/05/09 22:21:01.05 otSU2ylNa.net
Javaだって実際にはほとんどUNIXサーバーで運用されてるわけで、Windowsとの相性の悪さは本質的な問題ではない
RubyがPythonに勝てない決定的かつ本質的な原因は、Rubyコミュニティとエンタープライズ分野の仲が極めて悪いからだ
特にMatzに至ってはエンタープライズを毛嫌いしており、意図的にエンタープライズ分野の人間をコミュニティから排除している
467:デフォルトの名無しさん (ワッチョイ 8f14-YoKk)
20/05/09 22:33:57 e5F3j8ny0.net
>>447
> Javaだって実際にはほとんどUNIXサーバーで運用されてるわけで、Windowsとの相性の悪さは本質的な問題ではない
UNIXサーバーで運用されるのと、Windowsとの相性がどう関係するの?
まさかUNIXサーバーで運用してるのは、WindowsやLinuxと相性が悪いからだ!って
言いたいわけ?
468:デフォルトの名無しさん
20/05/10 06:25:22.95 D36zapAH0.net
ID:e5F3j8ny0 はキチガイ
469:デフォルトの名無しさん (ワッチョイ d3e6-Qfm0)
20/05/10 15:26:20 idocV57G0.net
「主張しないOSだったから世界に広がった」TRONの生みの親・坂村健が語る
470:デフォルトの名無しさん (ワッチョイ 7314-YoKk)
20/05/10 15:38:52 wRm6C2I10.net
「主張しないOSだったから世界に広がった」そう張するTRONはなぜ世界に広がらなかったのか?
471:デフォルトの名無しさん (ワッチョイ 2a01-Yqly)
20/05/10 15:55:32 sqrrAwwF0.net
>>451
飛行機撃墜されたから
472:デフォルトの名無しさん (ワッチョイ d342-jW3u)
20/05/11 09:52:12 9KnLD9b60.net
Rubyの初歩を終えたら上達のために何か作ってみたいのですが、どんなものを作るのがいいのでしょうか?
HTMLCSSを学んだのでお問い合わせフォームを作成しようとは思っているのですが、次に作成したいもの、作成できるものがよくわかっていません。
473:デフォルトの名無しさん (ワッチョイ 2a01-Yqly)
20/05/11 10:39:50 masQzK0H0.net
>>453
最初はローカルだけで完結するCLIツールがおすすめ
ファイル名検索、文字列検索、ファイル名の一括置換、文字列の一括置換、ログファイルの集計のようなもの
findやgrepの再発明だけど文字列操作、コレクション操作、ファイルI/O、オプションパース、エラーハンドリング、プログラムの構造化方法みたいな基本的なことが身につく
アルゴリズムのオーダーも考えながら作ると尚良い
次にWebアクセスを伴うCLIツール
AJAXが使われてないサイトの簡単なスクレイピングがおすすめ
HTTP、ロギング、非同期処理、変化する外部リソースを扱う場合の考慮点などがわかるようになる
お問い合わせフォーム自体はRuby使わなくても実現できるけど
POSTされたデータをRubyで処理したりフォーム自体をRubyから返すようなサイトを作るのは
HTML/CSS以外にHTTPとWeb framework(SinatraかRails)を学ぶ必要があるので
他言語を習得してるのでないなら上の2つくらいは問題なくできる程度にRubyに習熟してからのほうが効率がいいよ
474:デフォルトの名無しさん (ワッチョイ b788-3QAi)
20/05/11 11:19:12 UiQRQo+f0.net
railsの環境構築がダルい
nodejs入れさせられたりして、じゃあnodejsで開発すりゃいいじゃんってなる
他言語に頼るのかまったくわからん
あとwebpackerもエラー吐きまくりで原因調べてもまったく解決しない
475:デフォルトの名無しさん (アウアウウー Sa1f-lvFW)
20/05/11 11:37:06 31bxup8+a.net
Railsは本来的には古典的なMVCアプリに特化していて、SPAには無駄な部分がとても多いし、原理的にフロント部分についてはカバーのしようがないからね
もはや時代に合わなくなってきているのは事実
476:デフォルトの名無しさん (ワッチョイ bbad-I8iA)
20/05/11 11:46:41 62ugI4sI0.net
>>453
>>454
>最初はローカルだけで完結するCLIツールがおすすめ
おおむね同意
CLIの難点は(初心者には)つまらないことだが
いきなりゲームとか作ろうとすると挫折するから
まず小物ツールを作って経験を積むのは大事だね
477:デフォルトの名無しさん
20/05/11 12:19:18.12 E4DJZwTiH.net
RailsがCoffeeScript推してた頃はフロントも総合した一貫性のある技術スタックにしていこうという気概があったんだけどね
結局、時代に選ばれたのはSPAとAPIでフロントとバックエンドの間に明確な技術境界を設けるというものだった
それ以来、RailsはWebの先端から脱落し、Rubyの凋落が始まった
478:デフォルトの名無しさん (ワッチョイ 2a01-Yqly)
20/05/11 12:37:05 masQzK0H0.net
DjangoもSpringもASP.NET(MVC/Razor Pages)もGinも
みんな時代に合わなくなってきているってことになるねw
ASP.NETなんてSSRはすでにobsolete扱い
MSは時代に合わなくなったフレームワークを莫大な開発費かけて作ってるわけだw
479:デフォルトの名無しさん (ワッチョイ ea79-O+HC)
20/05/11 13:19:06 5SRnzYBd0.net
>>453
> 次に作成したいもの、作成できるものがよくわかっていません。
それは人に聞くものでもない。
自分が作りたいと思う動機付けが無ければ、意味がない。
480:デフォルトの名無しさん (ワッチョイ bbad-I8iA)
20/05/11 13:34:37 62ugI4sI0.net
理想は何か作りたいアプリがあって
調べながらそのコードを書くと上達が早い
けど本当に作りたいものは難しいことが多いから
(機械学習で株式市場を予測して金を稼げるとか)
小物を作っていくうちにそれならこういうものも
できるというアイディアが湧いてくることもあるね
481:デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
20/05/11 13:46:59 MhpqGE2Na.net
Django はそれだけで API も造れるからまだ良いけど
Rails は終わってるな
482:デフォルトの名無しさん (ブーイモ MMd6-yKpr)
20/05/11 14:28:23 GNIZ9TPPM.net
いつもの妄想虚言癖くんは相変わらずRubyもRails知らないの丸出しだな
平日昼間からID変えて連投しまくってアンチRuby&アンチMatz活動ご苦労様
483:デフォルトの名無しさん
20/05/11 16:25:29.55 oqh5wUWv0.net
超有名な「Classi」学校教育のICT活用を支援するクラウドサービスもrails製
なんと120万人近くのユーザを捌いているらしい。
これだけの規模のサービスを作れるrailsは最強。まさに覇権。
484:デフォルトの名無しさん (ワッチョイ 7333-sgQa)
20/05/11 16:39:57 RveftTfZ0.net
「ユーザー数」の詳細がわからんとなんとも。
のべ/ユニーク、アクセス頻度、集中度、負荷、など。
485:デフォルトの名無しさん
20/05/11 16:52:03.96 E4DJZwTiH.net
URLリンク(www.itmedia.co.jp)
> 「課題が出せない」「試験が受けられない」―学校向けSaaS「Classi」がつながりにくい状態に 生徒から不満の声相次ぐ
Railsが悪いというつもりはないけど、まあよくある話だよね
多く見せるために全生徒をユーザー数として謳っていたけど、コロナショック以前は実際にはほとんど使われてなかったんだろう
486:デフォルトの名無しさん (オッペケ Sr33-I8iA)
20/05/11 20:53:05 ctqY8lB1r.net
俺は一通り文法学んだら数独ソルバーとかbrainf**kのインタープリタ作ってたな
487:デフォルトの名無しさん (ワッチョイ be2c-Qfm0)
20/05/11 21:52:37 M5DpbX0A0.net
Go, Ruby など、サーバー側は、CLI のちょっとしたフィルター・パイプなどを作るとか。
でも、しょーもない
「プログラミングのお題スレ」の簡単そうな問題を解くとか
Selenium Webdriver, Nokogiri で、簡単なものをスクレイピングするとか。
漏れはこれで、yahoo などのログインを自動化してる
SASS, Bootstrap, jQuery なども初心者向け。
Linux コマンドも、10個ぐらいは学んだ方がよい
488:デフォルトの名無しさん (ワッチョイ be2c-Qfm0)
20/05/11 22:02:19 M5DpbX0A0.net
Farstep【プログラミング講座】
URLリンク(www.youtube.com)
この人が、ここ1週間で4本、Rails 動画を上げてる。
Bootstrap を使ってる
489:デフォルトの名無しさん
20/05/11 23:01:03.73 9KnLD9b60.net
教えて頂きありがとうございます。
調べながら作ってみます。
ずっと先にはなりますが将来的には個人でゲームを開発してみたいです。
それから仕事としてゲーム開発に携わったりあらゆる分野で活躍できるようなプログラマーになりたいです。
490:デフォルトの名無しさん
20/05/11 23:52:58.38 RveftTfZ0.net
>>470
なら、RubyよりもC#!
491:デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
20/05/12 10:13:53 4WwqN1hQa.net
Unity + C# 超おすすめ
Ruby 忘れて良い
492:デフォルトの名無しさん (JP 0He6-lvFW)
20/05/12 17:40:54 v0jwNoPnH.net
まあRubyでも怪盗ロワイヤル系のクソソシャゲなら作れるぞ
まあそんなの作れたところで今時仕事ないし、アーキテクチャ的には単なる普通のWebアプリなので
ゲーム作りのスキルはほとんど身につかなくて時間の無駄だろうけど
493:デフォルトの名無しさん (ワッチョイ 9f5f-A9by)
20/05/12 19:19:51 PEyfu59N0.net
RPGツクールXP/VXならばRubyなんだよなぁ
494:デフォルトの名無しさん (ワッチョイ bbad-I8iA)
20/05/12 21:41:35 1JM+jinB0.net
ツクールMVでJavaScriptに変えちゃったのが残念
モバイル出力対応の都合で仕様がないんだろうけど
495:デフォルトの名無しさん (ワッチョイ d342-aTVK)
20/05/12 22:07:41 Bhe4de5t0.net
C#がゲーム開発に適しているんですね。
ゲーム開発、セキュリティ関係、リモートワーク、システムエンジニアに興味があります。
496:デフォルトの名無しさん
20/05/12 22:12:55.72 Bhe4de5t0.net
趣味レベルでもいいので将棋プログラムやチェスプログラムも作ってみたいです。
497:デフォルトの名無しさん
20/05/12 22:18:02.61 Yyd7NZU2r.net
いいんじゃない。自分の作ったAIと他人の作ったやつを対戦させてみればよい
498:デフォルトの名無しさん
20/05/12 22:35:58.24 1JM+jinB0.net
>>476
いきなり難しいのは作れないから簡単なのから作るといいよ
たとえば将棋やチェスの前にリバーシやトランプとか
もっといえば最初はCUIのマルバツから始める位でいい
499:
500:デフォルトの名無しさん
20/05/12 23:29:09.40 6bKcudlj0.net
CUIのマルバツというと
先手・2、2、○
後手・1、1、×
先手・1、2、○
9秒、8、7、
とかそんな感じか?
501:デフォルトの名無しさん
20/05/12 23:58:29.03 qFAkep2ZM.net
>>477
作れば良かです。
502:デフォルトの名無しさん (ワッチョイ 2dad-Wcp/)
20/05/13 01:08:11 fGvC/Rms0.net
>>480
○・・
・・・
・・×
↑みたいにCUIでも
盤面表示できるでしょ?
たった三行だし
503:デフォルトの名無しさん (アウアウウー Sa1d-Y9FA)
20/05/13 06:42:48 1S/vEImaa.net
お前のやる言語はRubyじゃないって散々言われてんのに聞く耳持ってないなコイツ。
504:デフォルトの名無しさん (ワッチョイ cd14-ds4R)
20/05/13 08:20:46 UxgyOyJl0.net
>>482
ポケモンだってCUIでできるしな!
URLリンク(www.youtube.com)
505:デフォルトの名無しさん
20/05/13 08:28:32.53 sTsOjaTK0.net
>>484
なんかすごいなw
これだけ作り込んでいるのに、パッと見てすぐ目立つ Your Heath の綴りが間違ったままなのが謎だが。
506:デフォルトの名無しさん
20/05/13 15:04:51.14 fGvC/Rms0.net
いやまあ本格的にゲーム作るなら
UnityとC#だろうけど
Rubyスレなんだし
とりあえずCUIの簡単なゲームから
練習するのも悪くないと思うよ
507:デフォルトの名無しさん (ワッチョイ 3133-6wub)
20/05/13 15:26:01 v9SqqT/+0.net
なにをどうやりたいのかによるな。
型なしスクリプト言語はよしあしだから。
いわゆるゲームがしたいのなら、Rubyはほどほどに。
508:デフォルトの名無しさん
20/05/13 15:41:23.13 oWyvBIrOa.net
curses on ruby
509:デフォルトの名無しさん (ワッチョイ 7f2c-JcAG)
20/05/13 18:13:34 VSt/R8YQ0.net
Ruby は、小説ゲームなどのシナリオを、ゲームデータに変換するツールには使えるかも
Lua, Squirrel などを使うことも多いけど
510:デフォルトの名無しさん (ワッチョイ 2dad-Wcp/)
20/05/13 19:10:38 fGvC/Rms0.net
RPGツクール(XP/VX)もあるし
一応ゲームライブラリもあるから
2DゲームならRubyも手軽で良いと思う
3DゲーならUnityほぼ一択だろうけど
511:デフォルトの名無しさん (オッペケ Sr75-Wcp/)
20/05/13 19:27:44 VG+eVs4Ur.net
2Dゲーム用の未だに開発が続いているRubyのライブラリってあんの?
512:デフォルトの名無しさん (ワッチョイ 6de6-imz8)
20/05/13 22:19:09 PF9y92K50.net
初心者です。
gem で sqlite3を入れようとしてもtkを入れようとしてもエラーになります。
署名は信頼されていません。って誰でしょう。
みなさん、どうしているの?
513:デフォルトの名無しさん
20/05/14 01:10:11.58 xwBNTZK50.net
こういうのってコンソールのエラー画像貼った方が分かりやすい
514:デフォルトの名無しさん
20/05/14 06:31:55.66 /X2nuCW20.net
492です。
msysにgccを入れたらできました。
515:デフォルトの名無しさん (ワッチョイ 3133-6wub)
20/05/14 10:13:36 CBkLiWJv0.net
>>494
ズコー。
署名なんか関係なかったやろ。w
516:デフォルトの名無しさん
20/05/14 13:41:01.55 FSEZeoAj0.net
漏れは、Windows 10, WSL, Ubuntu 18.04 で、
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
まず、パッケージ情報を最新にしてから、各パッケージをインストールする
sudo apt-get update
sudo apt install -y build-essential
sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev
sudo apt-get install -y libsqlite3-dev sqlite3
build-essential には、gcc(GNU C compiler), g++(GNU C++ compiler), libc6-dev(GNU C Library), make などの、
コンパイルツールが入っています
次に、
517:openssl, readline, zlib のパッケージをインストールする。 さらに、sqlite3 関連のパッケージもインストールする こういうパッケージが入っていて初めて、これらに対応する、Ruby gem が動く
518:デフォルトの名無しさん (ワッチョイ 1f42-uRPb)
20/05/17 06:00:27 ziL5Ecak0.net
CLIツールを作成するために、Bundlerをインストールしたいのですが
コマンドプロンプトに$ gem install bundler
と入力しEnterを押しても閉じるだけで何も状況が変わっていない気がします。
既存のCLIツール作成の記述画面を調べてみても
学んだputs,if,繰り返し処理のような文法は一切なく謎の文字列にしか見えず
用語の場合は調べれば対応できるかもしれませんが、用語ではなく何を示しているのかさえわかりません。
助けてください。
519:デフォルトの名無しさん (オッペケ Sr63-Wcp/)
20/05/17 06:12:55 C7MdgMNcr.net
謎の文字列ってなんだよ
520:デフォルトの名無しさん
20/05/17 07:17:57.55 ziL5Ecak0.net
上からの一部になりますがこのような感じです
# bundlerをインストール
$ gem install bundler
# gemパッケージの雛形を作成
$ bundle gem str_convert_utils -b
Creating gem 'str_convert_utils'...
create str_convert_utils/Gemfile
create str_convert_utils/lib/str_convert_utils.rb
create str_convert_utils/lib/str_convert_utils/version.rb
521:デフォルトの名無しさん
20/05/17 07:26:20.95 C7MdgMNcr.net
で何がしたいんだよ
522:デフォルトの名無しさん
20/05/17 07:34:46.84 ziL5Ecak0.net
bundlerをインストールしてCLIツールを作成したいと思っているのですがbundlerのインストールのやり方がわかりません
523:デフォルトの名無しさん
20/05/17 07:35:35.28 C7MdgMNcr.net
もうインストールできるだろ
524:デフォルトの名無しさん
20/05/17 07:36:49.43 C7MdgMNcr.net
*もうインストールできてるでしょ
525:デフォルトの名無しさん (ワッチョイ 1f42-EoUu)
20/05/17 08:04:53 ziL5Ecak0.net
rubyのインストールはコマンドプロンプトで行ったので同じようにインストールするものかと思いましたが
無事にbundlerをインストールすることが出来ているようなのでよかったです
ありがとうございます
526:デフォルトの名無しさん (オッペケ Sr63-Wcp/)
20/05/17 09:35:16 C7MdgMNcr.net
質問する時は以下の点に留意すると回答が得られやすいぞ
・OS, Rubyなどのバージョンを書く
・何がしたいのか明確に書く
・どうなったのか明確に書く
527:デフォルトの名無しさん (アウアウエー Sa93-gIXh)
20/05/17 13:48:03 2FMa8UuXa.net
>>505
さらに
特にエラーメッセージがあるときはそれを貼る
528:デフォルトの名無しさん
20/05/17 16:36:18.35 VCTpJO2T0.net
基本、bundler だけは、gem install bundler で、グローバルに最新版をインストールする。
それ以外は、プロジェクトフォルダに、Gemfile を作って、
bundle install で、ローカル(プロジェクト毎)にインストールする
漏れの場合は、グローバルのbundler のバージョンを、1.17.2 から、2.1.4 へ更新した
bundler のバージョンを確認する
bundler -v
Bundler version 1.17.2
インストール済みのGem のバージョンを確認する
gem list bundler
bundler (default: 1.17.2)
レポジトリ内の最新バージョンを確認する
gem search -r bundler
bundler (2.1.4)
グローバルに、最新版をインストール・更新する
gem install bundler
bundler -v
Bundler version 2.1.4
gem list bundler
bundler (2.1.4, default: 1.17.2)
529:デフォルトの名無しさん (ブーイモ MM5b-IA10)
20/05/17 16:56:56 FIuh62egM.net
何か開発するのに、向いてなさすぎるな。
530:デフォルトの名無しさん (アウアウウー Sa2d-xlHZ)
20/05/19 00:48:41 X2Lrxylwa.net
1.0.step(3, 0.2) {|n| puts n}
の実行結果が以下の通りになった。
1.0
1.2
1.4
1.6
1.8
2.0
2.2
2.4000000000000004
2.6
2.8
3.0
なんで2.4のとこが変になっちまうんでしょうか?
531:デフォルトの名無しさん
20/05/19 01:00:09.89 9Ms3yTt70.net
>>509
10.step(30,2){|n| puts n.fdiv(10)}
532:デフォルトの名無しさん (ワッチョイ 3133-6wub)
20/05/19 02:28:46 8rsHPaV60.net
>>509
「浮動小数点数 誤差」で検索!
533:デフォルトの名無しさん (アウアウウー Sa2d-xlHZ)
20/05/19 03:20:42 X2Lrxylwa.net
>>511
あ、これrailsのもんだあじゃないんだね!
534:デフォルトの名無しさん
20/05/19 07:21:37.48 7tJzJz77r.net
誤差が嫌ならRational使え
1.step(3, 0.2r)
535:デフォルトの名無しさん
20/05/20 00
536::36:49.11 ID:91fxSgSA0.net
537:デフォルトの名無しさん
20/05/20 00:53:31.53 InboTxWs0.net
> お金の計算などでは使えない
使えばいいと思うけどなw
10円未満は四捨五入します。ってかけば十分だろうに
たった1円のために無駄な努力するんだぜ?
538:デフォルトの名無しさん
20/05/20 01:23:52.48 DUBnOkDWr.net
誤差のせいで四捨五入しても一意に定まらねえよ
539:デフォルトの名無しさん
20/05/20 01:24:00.93 YPJhimCPa.net
銀行の理屈だと桁数が大きいので下の方のの桁が軽視できないんだと
ただ計算の仕方はものすごくいい加減
複利といっても商品によって桁の丸め方が違うらしい
歴史を重んじるらしい
文系らしい
540:デフォルトの名無しさん
20/05/20 01:31:03.16 6CLBLdpca.net
Rubyは文系や中卒高卒が多いんだから文系ディスはやめてやれ
541:デフォルトの名無しさん
20/05/20 03:12:41.37 InboTxWs0.net
>>517
文系「消費税は3%だ。端数?ちゃんと計算しろ。1円の誤差もゆるさねーぞ。」
542:デフォルトの名無しさん (ワッチョイ 5b33-sQKC)
20/05/20 04:04:26 TeIKSVMR0.net
>>515
「四捨五入」とか言ってまうヤツは、金の処理に口を出すな。
543:デフォルトの名無しさん
20/05/20 04:18:01.52 DUBnOkDWr.net
うちの環境だと
p ([0.003] * 500).reduce(:+) # => 1.4999999999999827
Array#sumだと最適化されるけどね
そもそも不確かさの精度を気にする環境でfloat使うのが間違い
544:デフォルトの名無しさん
20/05/20 10:24:15.42 Dfazl3Afa.net
二進数の浮動小数点数は十進数の(1/10)を表せなくて誤差の蓄積が出るって言うけど
これは二進数固有の問題ではない
十進数の浮動小数点数も十進数の(1/3)を表せなくて誤差の蓄積が出る
金の計算では条件次第だが
四捨五入することが許されてる場合は毎回四捨五入して良い
許されていなければ浮動小数点数じゃなくて分数を使え
545:デフォルトの名無しさん
20/05/20 10:26:00.37 Dfazl3Afa.net
>>517
桁落ちは問題だが
切り捨ては銀行や政府が儲かるように
切り上げも銀行や政府が儲かるように
都合良く設定されているね
546:デフォルトの名無しさん
20/05/20 10:32:35.12 InboTxWs0.net
>>523
店は?儲かるの?損をするの?
547:デフォルトの名無しさん (ワッチョイ 3761-xVew)
20/05/22 15:30:11 TUWJypw20.net
>>518
それはどの言語であれ、普及率が高ければ高いほどそうなる。
548:デフォルトの名無しさん (ワッチョイ 3761-xVew)
20/05/22 15:33:07 TUWJypw20.net
Pythonはアメリカでは教育に取り入れられている ---> 誰でもやっている
---> 上から下まで幅広くいる。
VB利用者が減ったのは、C# に移ったから ---> C#はVBプログラマでも使える証拠
でもあり、かつてのVBと同じレベルくらいの人がC#ラーにはいるということ。
549:デフォルトの名無しさん (ワッチョイ 7a98-r9h8)
20/05/22 16:23:18 PgzAS/Wx0.net
配列が大きくなるとHashのほうが速くなることを発見した
xは2万件くらいのデータ
a=[]
a.push(x)を繰り返すより
b=Hash.new
b[x]=0を繰り返して
として最後に a=b.keys
としたほうが速い
550:デフォルトの名無しさん (ワッチョイ 5b33-sQKC)
20/05/22 21:01:06 AU9F7jR+0.net
Rubyのリストは、reserve()的なことはできないんだっけ?
できないならかわりに、
551:a[20000]=nil とかしてから、a[i](i=0~19999)に代入していったらいいんでは? こっちのほうがはやそう。
552:デフォルトの名無しさん (ワッチョイ f361-hf1i)
20/05/23 11:45:02 HsM7eDYs0.net
Array.new(size)
553:デフォルトの名無しさん
20/05/23 12:30:03.81 KnmbZWpz0.net
>>527
さすがにそれはないわ
それとも[1,1,1,1,1]を重複除去して[1]にしたい場合ってことなのかな
>>529
先にallocateしたほうが必ずしも速いわけではないので最適化したければ要計測
554:デフォルトの名無しさん
20/05/23 13:15:32.65 x0bVPHOi0.net
StringにはcapacityあるけどArrayのrubyインタフェースには見つからんな
C言語側ではrb_array_new2がそれっぽいが
まぁ、どうしてもそれっぽいことやりたいならArray#[]=でも拡張できるのでnew時にサイズ指定ですね。
あとはpushよりも<<の方が速かったり、
そもそも要素数が先に知る事ができるのならばArray.newにブロック渡したり
flat_map使ったり…
555:デフォルトの名無しさん (テテンテンテン MMb6-8pht)
20/05/23 14:30:56 rR3WkHU8M.net
Rubyはユーザーコードの実行がとんでもなくゴミクソのように遅いから、
アルゴリズムの効率とか実はあまり関係なくて単にユーザーコードの命令数を削減することが重要だったりするね
556:デフォルトの名無しさん
20/05/23 16:20:51.70 eo29HWEv0.net
>>530
> 先にallocateしたほうが必ずしも速いわけではない
具体例を教えろ。
557:デフォルトの名無しさん (ワッチョイ 5a01-S/TN)
20/05/23 19:00:02 KnmbZWpz0.net
>>533
これ何度か繰り返して比較してみて
URLリンク(ideone.com)
GC.disable/enable/startとかも組み合わせて試してみるといいと思う
558:デフォルトの名無しさん
20/05/23 20:20:01.68 x0bVPHOi0.net
>>534
# gem install benchmark_driver
require 'benchmark_driver'
Benchmark.driver do |x|
x.prelude %{ input = (1..2_000_000).to_a.shuffle
RUBY
x.report 'push without size', %{o = []; input.each{|x| o.push x }}
x.report '[]= with size (each_with_index)', %{o = Array.new(input.size); input.each_with_index{|x,ix| o[ix] = x }}
x.report '[]= with size (each)', %{o = Array.new(input.size); i=0; input.each{|x| o[i] = x;i+=1 }}
x.report 'block with size', %{o = Array.new(input.size){|x| input[x] }}
end
559:デフォルトの名無しさん
20/05/23 20:21:25.63 x0bVPHOi0.net
prelude書き換えてる最中に送信してしまった
x.prelude %{ input = (1..2_000_000).to_a.shuffle }
で
Comparison:
block with size: 12.0 i/s
[]= with size (each): 9.7 i/s - 1.23x slower
push without size: 8.9 i/s - 1.35x slower
[]= with size (each_with_index): 7.6 i/s - 1.58x slower
560:デフォルトの名無しさん
20/05/23 21:52:02.03 KnmbZWpz0.net
>>535
そのwith sizeとwithout sizeはpushの差では?
require 'benchmark_driver'
Benchmark.driver do |x|
x.prelude %{ input = (1..2_000_000).to_a.shuffle }
x.report 'Array.new(0)', %{o = Array.new(0); input.each{|x| o.push(x+1)}}
x.report 'Array.new(input.size)', %{o = Array.new(input.size); input.each{|x| o.push(x+1)}}
x.report 'init with []', %{o = []; input.each{|x| o.push(x+1)}}
x.report 'input.map', %{o = input.map{|x| x+1}}
x.report 'block with size', %{o = Array.new(input.size){|x| input[x]+1 }}
end
pushを使うようにすれば
要素数分のinitializeが必要なArray.new(input.size)が
高い確率で一番遅くなる
561:デフォルトの名無しさん (ワッチョイ 5b33-sQKC)
20/05/23 23:06:45 eo29HWEv0.net
>>534
なんで >>529 + push ?
>>528 のほうがストレートで速そうやろが。
562:デフォルトの名無しさん
20/05/24 00:35:44.40 qyWs4RXc0.net
>>537
Array.new(3).push(1) #=> [nil,nil,nil,1]
563:デフォルトの名無しさん (ワッチョイ 5a01-S/TN)
20/05/24 01:01:16 uX1h9ngP0.net
>>539
あらら、そうだね
これで比べればいいのかな?
Benchmark.driver do |x|
x.prelude %{ input = (1..2_000_000).to_a.shuffle }
x.report 'Array.new(0) + while + indexer', %{o = Array.new(0); i=0; while(i<input.size); o[i] = input[i]+1; i=i+1; end}
x.report 'Array.new(size) + while + indexer', %{o = Array.new(input.size); i=0; while(i<input.size); o[i] = input[i]+1; i=i+1; end}
x.report 'Array.new(0) + while + <<', %{o = Array.new(0); i=0; while(i<input.size); o << input[i]+1; i=i+1; end}
x.report 'Array.new(size) with block', %{o = Array.new(input.size){|x| input[x]+1 }}
end
564:デフォルトの名無しさん (ブーイモ MM26-jNIj)
20/05/24 20:16:17 sglBbUqvM.net
文字列でコードを渡さなきゃいけない仕様って超微妙だな
565:デフォルトの名無しさん (ワッチョイ 4e2c-5qFb)
20/05/25 16:59:48 gis+qwRr0.net
2020年6月30日
Ruby on Rails 製の、mstdn.jp・mastodon.cloud がサービス終了
女子プロレスラーの自殺により、
今後、イジメに対応するコストの上昇で、運営できなくなるとか
566:デフォルトの名無しさん
20/05/25 21:19:55.59 gis+qwRr0.net
【検証】現役プログラマーは30万円の案件を何時間で出来るのか?
URLリンク(www.youtube.com)
Ruby で、1時間!
567:デフォルトの名無しさん
20/06/03 11:38:50.17 vinsTjyH0.net
Railsコースリリース!業界最安値で自走力が身につくワケを制作者が語る
URLリンク(www.youtube.com)
東京フリーランスのとだこうきが、Rails の3か月コースを作った!
9万円!
568:デフォルトの名無しさん (ワッチョイ 4abd-cExd)
20/06/03 17:11:50 NDbpdmqA0.net
Windows用に+DEVKITの方インストールしたけど1GB3万ファイル以上ってちょっとデカすぎないですか?
もうちょっとコンパクトにして欲しいんだが・・・
569:デフォルトの名無しさん (ワッチョイ 1533-tHrU)
20/06/03 19:02:05 ymOaMaMw0.net
要するに、ビルドツールをインストールしたMSYS2やろ。
しゃあないというか、あたりまえ。
570:デフォルトの名無しさん
20/06/04 22:02:40.64 hC0MsN2x0.net
漏れは、Windows 10, WSL, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL でアクセスしてる
Linux側には、build-essential などのコンパイルツールを入れて、
日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
571:デフォルトの名無しさん (アウアウカー Sa05-3xqL)
20/06/08 12:52:32 I7gt15nza.net
ビルドツール付きで1GBなら温情あるじゃないか。最近のVisual Studioだと10GB単位で食うぞ
572:デフォルトの名無しさん (ワッチョイ 5d63-bYWF)
20/06/08 18:25:21 2z4WuMg00.net
>>548
それはフルで入れたらでしょ
使いたい機能だけで入れたらそこまで容量使わないよ
573:デフォルトの名無しさん
20/06/08 19:15:29.33 EB8W1SUXr.net
visual studioコンパイラだけ欲しい
574:デフォルトの名無しさん
20/06/08 20:44:23.71 rHjOKxRG0.net
>>549
「使いたい機能」とやらをどこまで絞れんの?
gemによってはビルドできなかったりしてもいいの?
575:デフォルトの名無しさん
20/06/08 21:30:36.48 L2Cj2YHN0.net
macOS本体よりもでかい?Xcodeってなんなの?
スレリンク(mac板)
なんか8GB?ぐらいダウンロードさせられるんですけど?
macOS本体もそれぐらいだっけ?
576:デフォルトの名無しさん
20/06/09 09:45:37.77 sE3YfRh/F.net
>>550
csc.exe と必要なライブラリだけ集めれば makefile で出来る
577:デフォルトの名無しさん
20/06/10 23:42:30.32 mC7kOgCm0.net
"string”を ["s", "st", "str", "stri", "strin", "string”]にする場合の便利メソッドってある?
reduceじゃなくてaccumlator付きのmap的なやつ
578:デフォルトの名無しさん
20/06/10 23:50:47.62 o9Z/VPuJ0.net
誰がそんなメソッド使うんだよ
ユースケースが思いつかない
579:デフォルトの名無しさん
20/06/11 00:38:25.72 tsfyzied0.net
>>555
accumulator付きのmap的なのは関数型を中心に結構標準で用意されてるよ
scanって名前が多い
580:
581:デフォルトの名無しさん
20/06/11 02:39:40.64 J++l+lJF0.net
ary = "abc".each_char.inject( [ ] ) do |ary, char|
if ary.length == 0
ary.push char
else
ary.push( ary.last + char )
end
end
p ary #=> ["a", "ab", "abc"]
582:デフォルトの名無しさん
20/06/11 03:14:46.66 cAVECZZb0.net
>>557
二行目以降は
ary.push (ary.last || '') + char
end
583:デフォルトの名無しさん
20/06/11 03:15:12.13 zOJFiWlV0.net
abbrevとは違うんか?
584:557 (ワッチョイ 632c-aH+M)
20/06/11 09:58:14 J++l+lJF0.net
>>558
ほー
585:デフォルトの名無しさん
20/06/11 13:02:15.68 tsfyzied0.net
>>559
ありがとう!まさに求めてたやつ
586:デフォルトの名無しさん
20/06/13 21:43:36.97 v5FJ4AgU0.net
rbenvでインストールしてglobalに設定したのにruby -vでコマンドが見つかりませんって出る
rbenv経由でruby入れたときってrubyパス個別に通す必要あったっけ?
VMはubuntu2004使ってる
587:デフォルトの名無しさん
20/06/13 22:36:10.18 P6/rcyg20.net
>>562
まずはこのスレを検索して、それがダメだったらまたな?
588:デフォルトの名無しさん (ワッチョイ 6f0e-jP3R)
20/06/13 23:18:46 v5FJ4AgU0.net
>>563
スレ見るまでもなく解決したわ
ありがとな無能さん
初心者スレにお前は合わんから消えた方がいいよ
589:デフォルトの名無しさん (オッペケ Sr87-Qd01)
20/06/13 23:24:48 dJVRL38Lr.net
草
590:496 (ワッチョイ 632c-aH+M)
20/06/13 23:34:58 V91HObFW0.net
>>496
に書いておいた
漏れは、Windows 10, WSL, Ubuntu 18.04 で、
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
anyenv を推奨する。asdf もあるけど、
中を見たら、結局そのまま各言語の、*env を使っているものもあるみたい