[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/13 18:23 / Filesize : 307 KB / Number-of Response : 1052
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Ruby 初心者スレッド Part 66



1 名前:デフォルトの名無しさん [2020/01/04(土) 01:15:34.30 ID:X7t3Qsuc0.net]
プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ

質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。
Ruby on Rails については、WEBプログラミング板で

前スレ
Ruby 初心者スレッド Part 65
https://mevius.5ch.net/test/read.cgi/tech/1545421414/

るりまサーチ (リファレンス検索)
rurema.clear-code.com/

Rubyist Magazine - るびま
jp.rubyist.net/magazine/

逆引きRuby
www.namaraii.com/rubytips/

Ruby コミュニティ公式
https://www.ruby-lang.org/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

276 名前:デフォルトの名無しさん (ワッチョイ 292c-cvBQ) mailto:sage [2020/03/19(木) 14:07:04 ID: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) mailto:sage [2020/03/19(木) 16:59:22 ID:88pUuzIXr.net]
JavaScriptはクラス定数すら定義できないからな
最近のはしらんが

278 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 17:00:49.00 ID:DXn00lXA0.net]
Pythonはうんこだが、Rubyのメソッドチェーンも今となってはゴミの部類で
パイプライン演算子こそが正解

279 名前:デフォルトの名無しさん [2020/03/19(木) 17:26:29.02 ID:yS5RdDEsF.net]
codepad.org/DO0Yq0CS
codepad.org/jmDGu9SR

280 名前:デフォルトの名無しさん (ワッチョイ 1161-44a/) mailto:sage [2020/03/20(金) 00:53:19 ID:405ti7Ej0.net]
>>264
JS は、promise, then, async, waitUntil, ServiceWorker(PWA)などの部分がかなり難しく感じる。
event の bubbling phase, capture phase, target phase と絡んで
cancelBubble, stopPropagation, preventDefault
の話も正確に理解するのはなかなか難しい。

281 名前:デフォルトの名無しさん (ワッチョイ 1161-44a/) mailto:sage [2020/03/20(金) 00:56:41 ID:405ti7Ej0.net]
event.waitUntil()
event.respondWith()
はいまだにちゃんと理解できてない。
ServiceWorkerのWorker Lifecycleも物凄く理解が難しい。

282 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 01:05:01.24 ID:405ti7Ej0.net]
さらに、Blob の概念も独特で難しい気がする。

283 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 01:07:27.55 ID: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 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 01:51:15.32 ID:b2ihZgLg0.net]
>>271
その中で言語の要素はpromise/then/async



285 名前:フ3つだけ
それも全部Promise

言語とフレームワーク/APIは分けて捉えないと
RubyとRailsを混同してるのと同じ
[]
[ここ壊れてます]

286 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 01:54:59.68 ID:405ti7Ej0.net]
>>275
でも今のJSでPromiseを避けて済ますことは難しい。
特にPWAのHelloWorld的なプログラムで>>274のように、
Promise, async, await, respondWith などの難しいが概念が同時に出てきてしまい、挫折してしまう可能性が高い。
やりたいことは単に、ウェブアプリのアイコンをホーム画面に出したいだけだと言うのに。

287 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 09:01:29.50 ID:CQQp7Y750.net]
jQuery でも基本は、Promise。
成功・失敗時の処理を書けばよい

async/await は、非同期を同期的に書ける。
内側にネストしないように書ける

288 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 10:07:25.86 ID:IqcuAu3DM.net]
>>276
>でも今のJSでPromiseを避けて済ますことは難しい。

言語が提供する機能とそれ以外を区別しろって言われてこれかよw
Promiseが理解できないのも納得

289 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 10:14:58.61 ID:u1wBzCgK0.net]
>>276
× でも今のJSでPromiseを避けて済ますことは難しい。
○ 非同期プログラミングをするならどの言語でも一緒
GUI関連は大抵の言語で非同期処理をする
要するに画面の描画をブロックしてはいけないからだ。

RubyはそもそもGUIとかでてこないから
使わないだけ

290 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 11:04:22.80 ID:405ti7Ej0.net]
>>279
例えば、Win32APIなど非同期処理もMSDNを読めばちゃんと理解できる。
ところが、Promiseは公式サイトが何を言っているのか分からないので
99%の人が理解できない。

291 名前:デフォルトの名無しさん [2020/03/20(金) 11:30:29.28 ID:nAHhYb7gF.net]
馬鹿除けにちょうど良い機能やん

292 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 10:55:32.08 ID:mWzqBLYF0.net]
jsは伝統的にコールバックをやってきたというのを知っていないと理解は難しいかもね
promiseはコールバック地獄の救世主だからそれなしでは語れない
イベント系はもともとクリックされたらみたいなこととこから始まってるのを知ってないとイメージがつかめないだろうな

293 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 10:59:24.89 ID:7lDoSnDw0.net]
Cをみりゃ分かる
コールバック地獄の救世主なんていない
まやかしだ

294 名前:デフォルトの名無しさん [2020/03/24(火) 12:55:54.95 ID:n56XI6Ab0.net]
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行目は、バグなのかな?



295 名前:284 mailto:sage [2020/03/24(火) 13:30:12.20 ID:n56XI6Ab0.net]
rbenv-installer の間違いの訳ないよな。
漏れの手順・環境がおかしいのか

初回はホームディレクトリで実行して、
インストール後はホームディレクトリではなく、~/.rbenv ディレクトリで、実行するのかな?

eval "$(rbenv init -)"
してるけど、まだどのバージョンも入れていないから、
rbenv というディレクトリは存在しないのかも?

バージョンを入れたら、rbenv というディレクトリが作られるのかも?

296 名前:デフォルトの名無しさん [2020/03/24(火) 13:32:10.90 ID:WT9cP8p50.net]
文句言う前に
VMでも何でも良いから
素の生インスコ環境造って
他の影響を排除してみ

297 名前:デフォルトの名無しさん (ワッチョイ 8b14-9KJh) mailto:sage [2020/03/24(火) 15:16:18 ID: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 名前:デフォルトの名無しさん mailto:sage [2020/03/24(火) 15:26:44.36 ID:fj9Tix3R0.net]
まあバグとまでは言わんけど、対応漏れとして / で始まらないものは
シェル関数として省くとかすれば対応は可能かもしれんなぁ。
それ周りの解決法は調べた事ないので、どうするのがベストなのかしらんけど

299 名前:284 mailto:sage [2020/03/24(火) 17:01:58.24 ID:n56XI6Ab0.net]
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 変数にパスが入ってくるのかも知れない。
こんなに有名なアプリに、こんな単純なバグがあるとは思えないし、漏れの勘違いでしょう

300 名前:デフォルトの名無しさん (ワッチョイ 0dad-OG1y) mailto:sage [2020/03/28(土) 22:49:31 ID:413BE/qa0.net]
たのしいRuby第5版の古本買ったのでRuby入門します(^_^)/

301 名前:デフォルトの名無しさん [2020/03/28(土) 23:25:45.38 ID:lv ]
[ここ壊れてます]

302 名前:HGCPQW0.net mailto: 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
[]
[ここ壊れてます]

303 名前:デフォルトの名無しさん mailto:sage [2020/04/01(水) 03:54:14.10 ID:PTOn+beS0.net]
VScodeでRuby実行環境作ったけど楽しいは!
サクサク動かして試せる!

304 名前:デフォルトの名無しさん [2020/04/01(水) 05:08:16.41 ID: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 名前:デフォルトの名無しさん mailto:age [2020/04/01(水) 05:23:37.67 ID:d9NDYWBE0.net]
インスタンスがどれで変数の型がどれでオブジェクトはどれってごっちゃになってわからないのですが
class A=new A() インスタンスはこの行全てを指すのですか?     

306 名前:デフォルトの名無しさん (オッペケ Sr01-KN+/) mailto:sage [2020/04/01(水) 07:10:14 ID:uldFLeaHr.net]
まず日本語の勉強から始めろ

307 名前:sage [2020/04/01(水) 08:45:05.94 ID:Y4BtYbUm0.net]
まず、そもそも class A=new A() は Ruby の文法として完全に誤りだ

Ruby では、クラス A を定義するなら、class A; … ; end と書く
同様に、クラス A からインスタンスを生成して変数 a に代入するには a = A.new と書く

プログラミングが初めてであればオブジェクト指向の概念がゴッチャになるのは
しかたないとはいえ、それ以前にプログラミングの基本から学んだほうが良いと思うよ

308 名前:デフォルトの名無しさん mailto:sage [2020/04/01(水) 09:07:03.23 ID:T/a2Vy7O0.net]
ひとまずこれで、クラスA を定義して、その設計書に基づき、
インスタンス・実体a・b を作った

クラス内に、変数・関数を定義していけば、より本格的なクラスになっていく

class A
end

a = A.new
b = A.new

309 名前:デフォルトの名無しさん [2020/04/01(水) 11:18:53.70 ID:5VJq6KKKF.net]
a = (class A; end).new
とかあるんだっけ

310 名前:デフォルトの名無しさん mailto:sage [2020/04/01(水) 14:38:45.50 ID:8LLFjcSO0.net]
>>294
Rubyにおいてはすべてがオブジェクトなので
変数の型はクラスだと考えてよい
(他言語はそうとは限らない)

インスタンスは個別の状態(変数)を持ったもので
「オブジェクト」という言葉は文脈によって
クラスとインスタンスの両方の意味で用いられる

よくある喩えで言うと人間はクラスで
太郎や花子がインスタンス
太郎と花子はどちらも人間(クラス)だけど
個々の状態(性別や年齢などの変数)は異なる

とりあえずの回答としてはざっとこんなもんだが
オブジェクト指向を本格的に習得したいなら
本で勉強する必要があるだろう

311 名前:デフォルトの名無しさん (ワッチョイ 558f-q/Tg) mailto:sage [2020/04/01(水) 16:10:35 ID:nPBcGZ1y0.net]
1はIntegerクラスのインスタンス
“abc”はStringクラスのインスタンス
[1,2,3]はArrayクラスのインスタンス

Integer, String, ArrayはClassクラスのインスタンス
ClassもClassクラスのインスタンス

312 名前:デフォルトの名無しさん (ワッチョイ 1b8c-CgtG) mailto:sage [2020/04/01(水) 21:25:17 ID:XvdBTC2x0.net]
オブジェクトを使った例文もプリーズ

313 名前:299 mailto:sage [2020/04/01(水) 22:04:08.48 ID: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+/) mailto:sage [2020/04/01(水) 22:07:05 ID:8LLFjcSO0.net]
>>299
>>302
文章説明したこと(だけ)の
サンプルコード

同じHumanクラスだが
インスタンスとして
taroとhanakoは異なる

インスタンス変数ageとsexも
インスタンスごとに
異なった状態になっている

それだけのことだけど基本中の基本

316 名前:284 [2020/04/02(木) 12:07:15.86 ID: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 名前:デフォルトの名無しさん mailto:sage [2020/04/02(木) 12:56:23.11 ID:qWu3pHo10.net]
いみがまったくわからんどうでもいいや

318 名前:デフォルトの名無しさん [2020/04/02(木) 13:56:36.20 ID:vZC8Eo+WH.net]
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0

UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0

学術の巨大掲示板群 - アルファ・ラボ
ttp://x0000.net

数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

319 名前:284 mailto:sage [2020/04/02(木) 14:07:46.77 ID: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) mailto:sage [2020/04/02(木) 14:48:16 ID:s8KkhiHc0.net]
>>304

>>287に書いてたよね

>しかし rbenv-installer は別コマンドだ、現在のシェルで定義しているシェル関数の rbenv が
>呼び出したrbenv-installerという子プロセスから見つかるはずがない。

321 名前:デフォルトの名無しさん mailto:sage [2020/04/02(木) 15:03:21.14 ID:Jw7S0ezcr.net]
車輪の再発名というか糞の再生産というか

322 名前:デフォルトの名無しさん [2020/04/02(木) 18:25:33.41 ID:4X8ewqwSF.net]
Ruby信者が別のRuby信者を何人感染させるか
1を下回ってると思う

323 名前:デフォルトの名無しさん (ワッチョイ 4b2c-AHN4) [2020/04/03(金) 12:39:37 ID: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) mailto:sage [2020/04/03(金) 13:04:09 ID:tv+k2Xei0.net]
>>307
の話題は、シェルスクリプトのスレへ移動しました!

シェルスクリプト総合 その33
https://mevius.5ch.net/test/read.cgi/tech/1584893550/56-60



325 名前:デフォルトの名無しさん (ワッチョイ a301-51IN) mailto:sage [2020/04/03(金) 14:05:19 ID: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) mailto:sage [2020/04/03(金) 16:23:36 ID:CpQ2Rjn20.net]
"%03d" % "02" # "002"

では、何か不味いのか

328 名前:311 (ワッチョイ 4b2c-AHN4) mailto:sage [2020/04/03(金) 17:00:52 ID:tv+k2Xei0.net]
0 で始まる文字列は、8進数と解釈されるのか、08, 09 などでエラーになる!

"%03d" % "07" # OK
"%03d" % "08" # エラー

>>313
ありがとう

329 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 17:22:43.70 ID:Tlqo6QWT0.net]
"%03d" % "08".to_i #=> "008"

330 名前:311 mailto:sage [2020/04/03(金) 18:14:05.62 ID:tv+k2Xei0.net]
先頭から続く、0 は鬼門!
それらを除去したい。よい方法は?

0080 → 80
123 → 123

"" → ""
000 → ""

331 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 18:26:24.61 ID:q/cvlU880.net]
>>317
>000 → ""
“000”のleading zeroを除くと“0”では?

332 名前:311 mailto:sage [2020/04/03(金) 18:51:12.37 ID:tv+k2Xei0.net]
先頭から続くかぎり、除去するので、これで良いです。
000 → ""

これは、自作するのは難しい。
プログラミングのお題に出してみようか

333 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 18:59:52.23 ID:q/cvlU880.net]
そっか、じゃ正規表現だね

"000".sub(/^0+/, "") #=> ""
"123".sub(/^0+/, "") #=> "123"
"0080".sub(/^0+/, "") #=> "80"

334 名前:311 (ワッチョイ 4b2c-AHN4) mailto:sage [2020/04/03(金) 19:02:21 ID:tv+k2Xei0.net]
>>319
修正

0 → ""
000 → ""

やっぱり、これらは空文字列よりも、0 にした方が良さそう

0・000 → 0



335 名前:デフォルトの名無しさん (オッペケ Sr01-KN+/) mailto:sage [2020/04/03(金) 19:52:06 ID:MoLJYTUlr.net]
なんやこのガキ

336 名前:311 (ワッチョイ 4b2c-AHN4) mailto:sage [2020/04/03(金) 20:00:56 ID:tv+k2Xei0.net]
プログラミングのお題の方に書き込んだので、このスレから移動してください!

337 名前:デフォルトの名無しさん (ワッチョイ 6352-cvTZ) mailto:sage [2020/04/03(金) 20:10:53 ID:y4LIlYUL0.net]
>>322
有名な荒しだよ

>>323
誰もお前の独り言に興味ないから一人で行け。
いや、向こうのスレに迷惑をかけるな。

338 名前:デフォルトの名無しさん (オッペケ Sr01-KN+/) mailto:sage [2020/04/03(金) 20:24:38 ID:MoLJYTUlr.net]
>>324
この板の荒らしって単芝君くらいしか知らんかったわ

339 名前:デフォルトの名無しさん (ワッチョイ a301-51IN) mailto:sage [2020/04/03(金) 20:48:35 ID:q/cvlU880.net]
>>323
お題スレは質スレじゃないんだから並行してても別にいいよ
あそこはお題に対してこんな解き方もあるんやでを披露しあって楽しむ処

340 名前:デフォルトの名無しさん (ワッチョイ 6352-cvTZ) mailto:sage [2020/04/03(金) 20:55:22 ID:y4LIlYUL0.net]
>>325
いくつかのスレのタイトルにRuby禁止と書かれているのは、そいつか原因になっている。
活発に活動していて、コテもつけてないが書きっぷりで一目で分かるので目障りきわまりない。

341 名前:291 (ワッチョイ 4b2c-AHN4) [2020/04/05(日) 14:17:50 ID: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) mailto:sage [2020/04/07(火) 16:20:09 ID:FvbCZ7uW0.net]
初歩的な質問ですみません

print(”Hello, Ruby.\n")と打つと

デバイス PRN を初期化できません

とエラーが出ます。たのしいRubyの手順通りにしたのですが
こう表示されてしまいます。本にはこのエラーの対処法が載っていないので
困っています。ご教授お願い致します。

343 名前:デフォルトの名無しさん [2020/04/07(火) 16:35:32.77 ID:G5F9VLMpF.net]
知恵をくれで概出
https://detail.chieb

344 名前:ukuro.yahoo.co.jp/qa/question_detail/q10208842775
ぐぐれ
[]
[ここ壊れてます]



345 名前:デフォルトの名無しさん (ワッチョイ cb68-CuPJ) mailto:sage [2020/04/07(火) 16:48:40 ID:FvbCZ7uW0.net]
>>330さん
ググったのですが意味が解らず…
DOSプロンプトで見たらインストールは正常にされたみたいです。

詳しく教えていただければおっぱい見せます。

346 名前:デフォルトの名無しさん mailto:sage [2020/04/07(火) 17:19:34.70 ID:ivfSfUTD0.net]
>print(”Hello, Ruby.\n")
全角文字、(” を使っちゃいけない!

プログラミングは、半角英数字しか使えないので、すべて半角英数字で入力し直すべし!
print("Hello, Ruby.\n")

特定の条件では、( ) を省略できるので、これでも良い
print "Hello, Ruby.\n"

また、puts なら自動的に改行されるので、最後の改行コード・\n が不要
puts "Hello, Ruby."

347 名前:デフォルトの名無しさん (ワッチョイ cb68-CuPJ) mailto:sage [2020/04/07(火) 18:50:31 ID:FvbCZ7uW0.net]
>>332さん
ありがとうございます。頑張ってみます。

348 名前:デフォルトの名無しさん (オッペケ Sr01-KN+/) mailto:sage [2020/04/07(火) 20:18:18 ID:/JRvNpEdr.net]
おい、おっぱい

349 名前:デフォルトの名無しさん (ワッチョイ c668-KRXG) mailto:sage [2020/04/08(水) 16:21:31 ID:bduWTrbF0.net]
コマンドプロンプトなら実行できるのにRubyコマンドではできません。なぜでしょうか?

350 名前:デフォルトの名無しさん [2020/04/08(水) 18:35:17.62 ID:fnNjblX40.net]
普通は、ソースコードをファイルに書いて実行する。
ruby script.rb

-e オプションで、1-liner も実行できる。
ruby -e 'puts "a"'

Windows のPowerShell では、%Q("a") とダブルクォーテーションを、%Q( ) で囲まないと動かないこともある
ruby -e 'puts %Q("a")'

VSCode などのエディターを使うのがよい

351 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 19:50:16.26 ID:bduWTrbF0.net]
>>336さん

Visual Studio code インストールしました。

エディター、よくわかっていません…

妹の食事を作りつつ勉強していますが難しいですね。

中3女子には難しいでしょうか?

352 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 19:53:23.25 ID:oh4YVJIM0.net]
小6じょちのあたちにもできたんだから
おねぇちゃんののうりょくがないだけだよ

353 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 20:12:59.80 ID:Au8ilpyjr.net]


354 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 20:59:04.51 ID:+ufIeUeW0.net]
>>335
「えんぴつなら書けるのにボールペンでは書けません。なぜでしょうか?」って書いてるのと同じ
これ答えられる?

どういう環境で何をやろうとしてるかもわからない
コマンドプロンプトで何ができたのかもわからない
Rubyコマンドで何がどうできないのか、どういうエラーが出てるのかもわからない

プログラミングに限らず人に質問して自分の欲しい答えを引き出すには最低限の質問力が必要



355 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 22:17:10.21 ID:bduWTrbF0.net]
すみませんんでした。

Rubyコマンドで

print("Hello, Ruby.\n")

と打つと

デバイス PRN を初期化できません

と表示されます。

コマンドプロンプトで打つと実行できます。irbだと実行できるのは解ったのですがなぜRuby
で実行できないのかがわからなかったんです。ググってみても、「たのしいRuby」を
読んでも記載されていません。

356 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 22:22:22.52 ID:bduWTrbF0.net]
環境はWindows10で

Ruby2.7.1です。

Visual Studio codeをインストールして日本語にできました。

エディタ−の使い方を勉強しています。

恥を忍んで質問しました。すみません。

357 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 22:35:28.81 ID:5a3Kp3Hv0.net]
>>341
何をやってどういう結果になったかを、相手に伝わるように正確に書くこと。
おそらくそれができていないから、実行した画面のキャプチャを撮って張り付けること。

>>337みたいなどうでもいい情報を書く前に、どうしたら欲しい回答が相手から得られるかを考えなよ。

358 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 22:37:29.23 ID:+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 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 00:15:03.91 ID:ESGIvA9P0.net]
メモ帳notepad.exeで、ファイルをつくれ?

361 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 10:43:54.76 ID:yDuqE7M0r.net]
Rubyコマンドっていうから端末でruby起動して標準入力からコード書いてんのかと思ったら自作ワードだったか

362 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 11:07:57.57 ID:0FSX5ei3r.net]
パス通ってんなら「puts "Hello, Perverts!"」って内容のhoge.rbをダブルクリックすれば実行されんじゃないの?
ウィンドウズ知らんけど

WSL独り言連投君よ、今こそ君の知識を授けてあげなよ(笑)

363 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 12:17:41.44 ID: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 mailto:sage [2020/04/09(木) 12:41:50.31 ID:pqMoXxyo0.net]
>>341
エクスプローラーで適当なフォルダを作って、
そのフォルダをVSCode の左のサイドバー上のエクスプローラービューへドラッグ&ドロップすれば、
そこがワークスペース(プロジェクト)フォルダになる

エクスプローラービューの上の「新しいファイル」アイコンを押して、適当なファイルを作る。
例えば、script.rb

そのファイル上に、
print("Hello, Ruby.\n")

と書いて、それを選択して、または、ファイル全体を保存して、
右クリックメニューから、Run Code を起動すると、Code Runner で実行できる

VSCode の使い方は、ヘルプのようこそとか、対話型プレイグラウンドで学べる



365 名前:348 mailto:sage [2020/04/09(木) 12:55:29.23 ID: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) mailto:sage [2020/04/09(木) 17:22:58 ID:LYdNiQuc0.net]
>>349さん

皆さんありがとうございます。拡張機能でCode Runnerインストールして

ファイル上にprint("Hello, Ruby.\n")と入力、保存して右クリック、これでRuby動く!

と思ったものの、何も起きません…

私のようなバレーボール馬鹿にはプログラムは

367 名前:向いていないんでしょうか…

夕食後、もう一度やりなおしてみます。
[]
[ここ壊れてます]

368 名前:348 (ワッチョイ 062c-5WFu) mailto:sage [2020/04/09(木) 17:42:02 ID:pqMoXxyo0.net]
ただし、ファイル名が、script.rb みたいに、
Ruby の拡張子、.rb を付けること

それで、そのファイルをRubyで実行すると、判断されるはず!

369 名前:デフォルトの名無しさん (ワッチョイ c668-KRXG) mailto:sage [2020/04/09(木) 19:33:27 ID:LYdNiQuc0.net]
>>348さん
Code Runnner 実行できました。皆さんありがとうございます。

ただ次のステップ、VSCode実行からどうしたらいいでしょうか?

370 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 19:51:56.26 ID:ZpQLfNz3r.net]
そもそも初心者がVSCode使う意味が分からん。
Hello, world.レベルならirb使ってちまちまやった方が絶対勉強になる。
日本語入力に不安があるならコマンドプロンプトに「irb --noreadline」って打って起動すれば問題ないだろう。

371 名前:デフォルトの名無しさん (アウアウウー Sabb-juGi) mailto:sage [2020/04/09(木) 20:09:13 ID:gKTfLKCaa.net]
そもそもRubyの公式エディタはEmacs
VSCodeは邪悪なMSの製品である上に、JavaScript製のAtomを殺したTypeScript製のVSを使うことは動的型に対する静的型付けの勝利を認めることになる
絶対に使ってはならない

372 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 20:15:27.05 ID:7CAQ8ULU0.net]
Emacsは初見殺しなんで
絶望的に初心者に向かない

373 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 20:18:17.27 ID:LYdNiQuc0.net]
製品の詳しいことは解らないんですがそんなにだめなんでしょうか?
脳筋の私でもなんとか理解できてきたような気がするんですが…

374 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 20:21:56.41 ID:7CAQ8ULU0.net]
VSCodeはデフォルトの設定で使うなら
別にそんなに難しくないと思う
なんだかんだMSだからExcelとかと同じで
普通の人が普通に使えるようになってる



375 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 20:28:00.86 ID:LYdNiQuc0.net]
皆さんなんだかんだ言っても優しいですね。Rubyを選んで良かったです。

376 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 20:28:41.78 ID:ESGIvA9P0.net]
>>356
vi/vimよりもはるかにマシ!






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<307KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef