Ruby 初心者スレッド Part 67 (724レス)
上下前次1-新
599(1): (ワッチョイ 7110-9O0i) 2023/01/12(木)17:42 ID:k/txfnyN0(1) AAS
今どき2行目が必要な環境ってある?
コードは全部ASCIIだし脳死で書いてない?
>Fiber,schedule は、Fiber を新規作成して即時実行のはず
これを信用するとしてputsもI/Oだからとか(しらんけど)
配列pushなんかに変えてみて最後に出力してみては
600(1): (ワッチョイ 8610-wtyD) 2023/01/14(土)16:20 ID:XG+wNT9X0(1) AAS
irb 1.6.2(ruby 3.2.0付属)について質問です。
文字入力時には自動補完せず、タブキーを押したときに自動補完させるにはどうすればよいでしょうか?
入力時の自動補完だと入力の邪魔になってしまうので任意のタイミングで自動補完させたい、という意図です。
.irbrcに IRB.conf[:USE_AUTOCOMPLETE] = false (あるいは --noautocomplete で起動)
とした場合、タブキーで補完候補が一気に出力されてしまい補完候補の選択ができませんでした。
601: (アウアウウー Sa91-wtyD) 2023/01/14(土)23:55 ID:v+aDVA7Ga(1) AAS
Stack Overflow 2023年の年収。高中低
Ruby, Elixir : 9.3 万ドル
Go : 8.9
Rust : 8.7
Python : 7.1
TypeScript, C# : 7
Kotlin : 6.9
C++ : 6.8
C : 6.7
JavaScript : 6.6
省5
602: (アウアウウー Sa91-wtyD) 2023/01/15(日)03:00 ID:6m68H/Iaa(1/2) AAS
確かに、puts もI/O だから、表示される順番は確定しないのかも
603: (アウアウウー Sa91-wtyD) 2023/01/15(日)03:04 ID:6m68H/Iaa(2/2) AAS
>>600
irb よりも、VSCode の拡張機能・Code Runner を使えば?
右クリックメニューから、ファイル全体または選択したコード片を実行できる
604: (アウアウウー Sa91-w88e) 2023/01/15(日)16:50 ID:aMclAZtfa(1/2) AAS
>>599
なるほど、と試した結果
r=[]
r << "Go to sleep!"
Fiber.schedule do
r << "Going to sleep"
sleep(1)
r << "I slept well"
p r
end
省8
605: (アウアウウー Sa91-w88e) 2023/01/15(日)16:52 ID:aMclAZtfa(2/2) AAS
一行目がexitの前の出力で、2行目が Fiberのブロックからの出力です
606: (ワッチョイ 4310-Jpma) 2023/01/22(日)21:54 ID:mu8Nl5mu0(1) AAS
RubyのBigdecimalの最大桁数っていくつ?
puts (BigDecimal("2",1000) ** ((BigDecimal("2",1000) ** (BigDecimal("1031",1000) - BigDecimal("1",1000))) - BigDecimal("1",1000))) * (BigDecimal("2",1000) - (BigDecimal("2",1000) ** BigDecimal("-3705346855594118253554271520278013051304639509300498049262642688253220148476920",1000)))
が計算できない。
外部リンク:ideone.com
607: (アウアウウー Sa93-qdck) 2023/02/06(月)12:23 ID:t0SsOUx4a(1) AAS
パソコンのメモリサイズが大きければ、大きくなるのかも。
Bigdecimal の最大桁数の設定は無いの?
Elixir では、130GB メモリで、
1秒間に、5千万の小プロセスを起動できたという記事を見た
608: (ワッチョイ 0d5f-FP2p) 2023/02/23(木)19:35 ID:bE7hCXJI0(1/2) AAS
公式サイトの日本語ドキュメントって内容ものすごく古いままなんだな
例えばC API一覧にrb_compile_cstrが載っているが2.7.7や3.2.1のヘッダファイルにはこの関数は無い(他にも無い関数が多数ある)
WebArchiveから1.8のソースを入手してみたら存在したわ
少なくともC APIを使おうと思ったら英語版ドキュメントを参照しないとだめだな
609: (ワッチョイ 0d5f-FP2p) 2023/02/23(木)20:04 ID:bE7hCXJI0(2/2) AAS
英語ドキュメント読んだらあっさりできましたわ
日本語ドキュメントには「1.xの頃のまま更新していません。最新版は英語版を見てね」と注記しておくべきだと思った
そりゃ「まだまだ書き直しが必要です」と書いてあるけどそんな古いままとか思わんやん
// rubyスクリプトで定義した関数fをCから呼び出す
#include <ruby.h>
int main()
{
ruby_init();
VALUE v = rb_eval_string("def f\np 'Hello'\nend");
rb_funcall(v, rb_intern("f"), 0, 0);
省3
610: (ワッチョイ 23a5-veW0) 2023/02/24(金)13:11 ID:lmfpmsq50(1) AAS
やる気見せんかーい
611: (ワッチョイ 0d5f-FP2p) 2023/02/24(金)20:23 ID:esYaZE7H0(1) AAS
ごめんなさい609のコードだとVisual Studioではruby_initでクラッシュするみたい
正しい初期化は下記の模様
linuxだと609のコードでも何故か動いてしまったけど
// rubyスクリプトで定義した関数fをCから呼び出す
#include <ruby.h>
int main(int argc, char *argv[])
{
ruby_sysinit(&argc, &argv);
RUBY_INIT_STACK
ruby_init();
省6
612: (ワッチョイ 05da-C2qO) 2023/03/02(木)01:01 ID:C78KeSuO0(1) AAS
手動でgem installしたものって
> gem list | grep -v default:
debase (0.2.5.beta2)
debase-ruby_core_source (3.2.0)
debug (1.7.1)
matrix (0.4.2)
minitest (5.17.0, 5.16.3)
...
をメモっておけば別PCでも同じ環境を再現できますか?
613: (ワッチョイ 1a70-XXd9) 2023/03/03(金)01:21 ID:kpW9zhd70(1) AAS
railsチュートリアルやってるけどminitest難しいなあ
実際の現場も使ってるんですか?それともRspec?
どちらも難しいのかね
614: (エアペラ SD25-PLJR) 2023/03/04(土)19:37 ID:ggY8eI1VD(1) AAS
まず、gem のダウンロード時に、ドキュメントをダウンロードしたくなければ、
各ユーザーのホームディレクトリに、.gemrc ファイルを作って、以下の2行を書いておく
install: --no-document
update: --no-document
既にダウンロードしたドキュメントも全て削除する
次に、gemでbundler をダウンロードする。
その後は各プロジェクト毎に、gemではなく、
複数のモジュールの依存関係を解決する、bundlerを使えばよい
Gemfile/Gemfile.lock ファイルは、
JavaScript のpackage.json/package-lock.json/yarn.lock ファイルと同じ
省11
615: (アウアウウー Sa1d-IOBr) 2023/03/05(日)08:30 ID:eEwP+0xWa(1) AAS
Code Runnerを気軽に勧める人おるが
アレわりと邪悪な拡張だと思うんだよなぁ
ちゃんと環境作ったほうがいいし
簡易ですませる場合もコンソール使った方がよくない?
616: (アウアウウー Sa1d-IOBr) 2023/03/05(日)08:36 ID:TCOo6fxCa(1) AAS
邪悪というと、語弊があるか
…邪道もしくは害悪あたり
アレがファイルではなくコードを実行してるあたりを認識せずにハマってる初学者何人か見た
617: 614 (アウアウウー Sa1d-3zFX) 2023/03/07(火)01:04 ID:oFQklhQHa(1) AAS
山田祥寛のRuby 3 の本でも、MSYS2 のRuby Installer を使っているけど、
VSCode の拡張機能・Code Runner を使っている
Code Runner では、この設定をチェックしておくと良い。
Code-runner: File Directory As Cwd
Whether to use the directory of the file to be executed as the working directory.
そうすると実行時にcd で、そのファイルがある場所へカレントディレクトリを移動してから、
ruby "絶対パス/ファイル名.rb"
又は、ruby "絶対パス/tempCodeRunnerFile.rb"
で、そのファイルを実行する
tempCodeRunnerFile.rb は、Rubyのコード片をコピーした一時的なファイル
省7
618: (ワッチョイ 6984-iJGe) 2023/03/07(火)02:03 ID:vk4APYnr0(1/3) AAS
そもそもWindowsを使うべきでないし、
MSYS2も使うべきでないし、
Code Runnerなんか使うべきでない
上下前次1-新書関写板覧索設栞歴
あと 106 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s