[過去ログ] Ruby 初心者スレッド Part 66 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
850: (ワッチョイ 7933-cLMs) 2020/11/03(火)23:15 ID:eTFEu/to0(1) AAS
>>849
遅延評価
851: (アウウィフ FFcd-GqKp) 2020/11/04(水)10:08 ID:wF8lqQTTF(1) AAS
Ruby、信者は、おことわり
852: 846 (ワッチョイ ad2c-j5Tt) 2020/11/04(水)23:31 ID:oOk5Pqvr0(1) AAS
一部のメソッドで、遅延評価できる

instance method Enumerable#lazy
lazy -> Enumerator::Lazy

map/collect, flat_map/collect_concat
select/find_all
reject
grep
省4
853: (ワッチョイ d201-CJ6T) 2020/11/04(水)23:51 ID:lTVc+I7v0(1) AAS
Enumerableは高階関数とともに脱初心者の一番の目安
この2つをパパっと作って使えるようになれば初心者は卒業
854: 846 (ワッチョイ ad2c-j5Tt) 2020/11/05(木)23:53 ID:lCe7ZMVj0(1) AAS
Ruby の強みは、

Array, Hash, Enumerable, Enumerator の豊富なメソッドを、
メソッドチェーンでつなげていくプログラミング

どういうメソッドがあるのか、じっくり見ておくべき!
855: (ワッチョイ 368c-5lCJ) 2020/11/07(土)23:50 ID:DktN1QwS0(1) AAS
TIOBE Index、perlより下じゃん
856: (ワッチョイ 0d4e-3cp2) 2020/11/08(日)03:09 ID:YnyAcD/m0(1) AAS
とうとうperlより下になったかw
誕生経緯w存在意義が…w
857: (ワッチョイ debb-+U3E) 2020/11/08(日)10:17 ID:WJSuSySW0(1) AAS
助成金ひっぱりんごビジネス
858: (アメ MMfd-3cp2) 2020/11/08(日)10:46 ID:msYgn7TJM(1) AAS
エンベデッド詐欺
ストリーム詐欺
859: (ワッチョイ f6e9-Oc6r) 2020/11/08(日)13:35 ID:P6MM9gKe0(1) AAS
問題 Rubyを開発したのはだれか
答え 2ちゃんねる開発者でもあるひろゆき

根拠
外部リンク:programmercollege.jp
860: (ワントンキン MM62-JCXQ) 2020/11/08(日)16:28 ID:2D8TgavPM(1) AAS
もうすっかりマイナー言語だな
861: (ワッチョイ 8101-aWq5) 2020/11/09(月)21:51 ID:A/fRbmyh0(1) AAS
初めまして、現在の状況はRuby、Windows 10、 VSCode(エディターのみ)です。
以前Basic言語をやってましたがRubyの言語は勉強しました。
1.RubyでVSCodeの便利なデバッガーは何がいいですか。
2.RubyでVSCodeのインターネットまたは本等の使い方を勉強したい。
3.gemへのログインの方法を知りたい。
以上の3点知ってる人がいましたら教えてください、お願いします。
862: (ワッチョイ ad2c-faW7) 2020/11/10(火)00:15 ID:TotITmpP0(1) AAS
>>789
に書いた

漏れは、Windows 10, WSL1, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL も使う

WSL2 と言う、Hyper-v を使ったものもあるけど、
安定バージョンかどうかは、知らない

VSCodeの便利な拡張機能については、VSCodeのスレで聞いてください。
省15
863: (オッペケ Sr79-Y0rt) 2020/11/10(火)07:08 ID:yOpM0tMJr(1) AAS
Rubyで本の使い方を勉強するってどういう意味?
864: (ワイーワ2 FF1a-D/bg) 2020/11/10(火)12:09 ID:08CevRpcF(1) AAS
Ruby 卒業しようぜ さっさと
865
(1): (ワッチョイ ed5f-D0pj) 2020/11/12(木)23:43 ID:9JGUhgPP0(1/3) AAS
g++です
undefined reference to `ruby_init'
と表示されます
たぶんdllに入ってると思うのですがどこにあるのでしょうか?
よろしくお願いします
866: (ワッチョイ ed5f-D0pj) 2020/11/12(木)23:44 ID:9JGUhgPP0(2/3) AAS
versionは2.7.0です
867
(1): (ワッチョイ c533-9FM4) 2020/11/12(木)23:46 ID:1kfP87l60(1) AAS
「dumpbin Windows」で検索!
868: (ワッチョイ ed5f-D0pj) 2020/11/12(木)23:48 ID:9JGUhgPP0(3/3) AAS
そもそもDLLが見つかりません
ほんとお願いします
869: (ワッチョイ ed5f-D0pj) 2020/11/13(金)00:13 ID:1m9BN6xD0(1/7) AAS
>>867
初心者には意味不明です
870: 862 (ワッチョイ dd2c-tE7G) 2020/11/13(金)00:22 ID:LLS1FCOb0(1/7) AAS
g++ は、GNU の GCC に含まれる、C++コンパイラ。
GNU で、Windows 向けのDLL を作るの?

RubyInstaller か?
MSYS2/MINGW の、RubyInstaller Development Kit(DevKit)有りか?
ridk install がどうしたこうしたとか?
よく知らないけど

外部リンク:rubyinstaller.org
省3
871: (ワッチョイ ed5f-D0pj) 2020/11/13(金)00:28 ID:1m9BN6xD0(2/7) AAS
c++にruby_initを組み込んでみたいです
コンパイルエラーがでます
さっぱりわかりません
872: (ワッチョイ ed5f-D0pj) 2020/11/13(金)00:34 ID:1m9BN6xD0(3/7) AAS
#include <ruby.h>

int main() {
// Rubyインタプリタの初期化
ruby_init();

// スクリプトの実行
rb_eval_string("print 'Hello World!'");

// Rubyインタプリタのクリーンアップ
省2
873: (ワッチョイ c533-9FM4) 2020/11/13(金)00:55 ID:4qY0TlDt0(1) AAS
「初心者」のやることじゃねえ。w
874: (ワッチョイ dd2c-tE7G) 2020/11/13(金)01:16 ID:LLS1FCOb0(2/7) AAS
正気?
初心者が、こんな事をする訳ないだろ

C/C++ を、数年以上やってからの話
875: (ワッチョイ ed5f-D0pj) 2020/11/13(金)01:17 ID:1m9BN6xD0(4/7) AAS
そう言わずにコンパイルできる方法を教えてください
876: (ワッチョイ dd2c-tE7G) 2020/11/13(金)01:52 ID:LLS1FCOb0(3/7) AAS
ffi は C や C++ ように作成された共有ライブラリを、
Ruby で扱うことができるようにするためのライブラリです

libffi を使っているので、事前にインストールが必要です。
NativeExtensions を直接扱わずに、C を操作できます

ruby ffi 入門
外部リンク[html]:hawksnowlog.blogspot.com
877: (ワッチョイ ed5f-D0pj) 2020/11/13(金)01:57 ID:1m9BN6xD0(5/7) AAS
その逆が知りたいわけで。。。
878: (ワッチョイ dd2c-tE7G) 2020/11/13(金)02:03 ID:LLS1FCOb0(4/7) AAS
C/C++ から、Ruby を呼ぶ方法か

検索すれば?
879: (ワッチョイ ed5f-D0pj) 2020/11/13(金)02:06 ID:1m9BN6xD0(6/7) AAS
検索したんですけど見つかりませんでした
880: (ワッチョイ dd2c-tE7G) 2020/11/13(金)03:33 ID:LLS1FCOb0(5/7) AAS
Windows では、無理じゃない?

Linux で探した方が良いかも
881
(1): (ワッチョイ cbda-Y0tO) 2020/11/13(金)03:35 ID:ZgWaq86m0(1) AAS
Windows使ってるってだけで教祖様の号令一下で石投げられるのがRubyコミュニティだからな
Pythonにしとき
882
(1): (ワッチョイ e3d4-+Dqz) 2020/11/13(金)04:42 ID:b8ug5Yf30(1) AAS
C/C++ から Python を呼ぶ方法なんて袋叩きに逢うのが
Python コミュニティですが、それがなにかどうかされますた???
883: (ワッチョイ ed5f-D0pj) 2020/11/13(金)04:53 ID:1m9BN6xD0(7/7) AAS
難しそうなのであきらめました
884: (ワッチョイ dd2c-tE7G) 2020/11/13(金)06:40 ID:LLS1FCOb0(6/7) AAS
普通は、Ruby から、C 製のNArray みたいな高速なライブラリを呼ぶ

逆に、Cから、Rubyを呼ぶ事はない。
普通に、Rubyコマンドを呼べば良いだけ

例えば、Rubyスクリプト内で、Python3 コマンドを呼ぶ

str = `python3 -c 'print( "あ" )'`

puts str #=> あ
885: (ワッチョイ 1d4e-hLVw) 2020/11/13(金)07:00 ID:PGsPGVPV0(1/2) AAS
まつもと:それから「Backquotes」の地上げも考えていたんですけども、Backquotesをするとシェルで実行して結果を文字列で返すってやつですね。

(参加者から「いける、いける」の声)

まつもと:なんかあの辺で「いける、いける」って言ってる人がいますけど、信じない(笑)。なので、これももうちょっと先で、もう1回くるかもしれませんが、少なくとも3.0では死なないということです。
外部リンク:logmi.jp

バージョンによって使えてたクォートが使えなくなったりするクソ言語
886: (ワッチョイ dd2c-tE7G) 2020/11/13(金)08:51 ID:LLS1FCOb0(7/7) AAS
Python 2/3 のコミュニティーの分断は、地獄だった

だからRubyは、2/3 で絶対に分断させない!
887: (ワッチョイ 1d4e-hLVw) 2020/11/13(金)09:27 ID:PGsPGVPV0(2/2) AAS
マイナーバージョンで細切れ分断してるからな。
その辺は抜かりない。
888: (ワッチョイ 159b-NSHw) 2020/11/13(金)12:02 ID:RWm0omqa0(1/3) AAS
>>882
>C/C++ から Python を呼ぶ方法なんて袋叩きに逢うのが Python コミュニティ
初めて聴いたけどどこ情報?
889: (ワッチョイ 159b-NSHw) 2020/11/13(金)12:09 ID:RWm0omqa0(2/3) AAS
外部リンク:funktor.org
890: (ワッチョイ 7501-NSHw) 2020/11/13(金)14:17 ID:/AMzz1sP0(1) AAS
>>881
「私がWindowsを嫌っているのではなく、WindowsがRubyを嫌っているのだ。だからWindowsを使ってはいけない。」と教組様が言ってたけど。
891: (ワッチョイ 159b-NSHw) 2020/11/13(金)14:22 ID:RWm0omqa0(3/3) AAS
教祖も言ってるけど
windowsならrubyやめてpython使う方が楽ちん
892: (アウアウウー Saa9-rkyG) 2020/11/13(金)14:47 ID:b3aeLCbPa(1/3) AAS
エラーが出たので助けてほしいです…
ターミナルでrails db:createをするの下記のような文が出ます…

Traceback (most recent call last):
4: from bin/rails:3:in `<main>'
3: from bin/rails:3:in `load'
2: from /Users/tech-camp/projects/tweet/bin/spring:10:in `<top (required)>'
1: from /Users/tech-camp/projects/tweet/bin/spring:10:in `read'
省1
893: (アウアウウー Saa9-rkyG) 2020/11/13(金)14:49 ID:b3aeLCbPa(2/3) AAS
エラーが出たので教えてほしいです…
ターミナルでrails db:createをしたらこのようになりました…

Traceback (most recent call last):
4: from bin/rails:3:in `<main>'
3: from bin/rails:3:in `load'
2: from /Users/user/projects/tweet/bin/spring:10:in `<top (required)>'
1: from /Users/user/projects/tweet/bin/spring:10:in `read'
省1
894: (アメ MM09-hLVw) 2020/11/13(金)15:16 ID:9KKZC7FrM(1) AAS
bundle installしてないとか
895: (アウアウウー Saa9-rkyG) 2020/11/13(金)15:45 ID:b3aeLCbPa(3/3) AAS
まさにそれでした…!
ありがとうございます…!
896: (ワッチョイ a301-+irU) 2020/11/13(金)17:04 ID:b4HB1/RK0(1) AAS
>>865
$ export PKG_CONFIG_PATH="$HOME/.rbenv/versions/2.7.2/lib/pkgconfig"
$ gcc $(pkg-config --cflags --libs ruby-2.7) hello.c -o hello

上の例はWindowsじゃなくmacOSでrbenv使ってる環境だけど
Windowsでも.pcファイルあると思うからpkg-configで必要なオプション取得すれば良いと思うよ
897
(1): (ワッチョイ ed5f-D0pj) 2020/11/17(火)15:37 ID:+8mZ0oHh0(1) AAS
拡張ライブラリについての質問です
一次元配列の場合はデータを取得できたんですけど、
二次元配列の場合はどうすればいいんでしょうか?
よろしくお願いします

//一次元配列の場合
num = rb_ary_entry(p_val, offset);
a = FIX2INT(num);
898
(1): (ワッチョイ dd2c-g/iO) 2020/11/17(火)18:11 ID:PuHDpULa0(1/2) AAS
VALUE, FIX2INT, RARRAY, rb_ary_entry

これは、Ruby なのか?
奇妙
899: (ワッチョイ dd2c-g/iO) 2020/11/17(火)18:42 ID:PuHDpULa0(2/2) AAS
Ruby では、ary[offset] だろ。
2次元配列なら、

ary = [ [1, 2], [11, 12], [21, 22] ]

ary[0][1] = 99
p ary #=> [[1, 99], [11, 12], [21, 22]]

p ary.length #=> 3
p ary[0].length #=> 2
900: (ワッチョイ c533-9FM4) 2020/11/17(火)19:23 ID:yKNV/xx90(1) AAS
>>897
配列要素オブジェクトを多段にRArray*にキャストしたらええんちゃうの?知らんけど。

外部リンク[html]:docs.ruby-lang.org
外部リンク[html]:docs.ruby-lang.org

>>898
知らんかったら黙っとくか、ググるくらいしろ。
901: (ワッチョイ 4b5f-cChY) 2020/11/18(水)19:49 ID:XrXdqU1w0(1) AAS
やっと解りました。。。
どうもありがとうございました!
ary = [[0,1],[2,3],[4,5]]

num0 = rb_ary_entry(ary_val, 2);
num1 = rb_ary_entry(num0, 0);
a = FIX2INT(num1);

num0 = rb_ary_entry(ary_val, 2);
省4
902: (ワッチョイ 4b5f-cChY) 2020/11/24(火)05:57 ID:tcZG3tlz0(1/3) AAS
ocraを実行してexe化したのですが、
libssp-0.dllがないというエラーが出てフリーズしました
放っておけばそのうちocraがバージョンアップで対応してくれるんでしょうか?

プログラムは、

puts "hoge"

だけです
903: (オッペケ Srdf-D4Gu) 2020/11/24(火)06:47 ID:/T/Ll6K6r(1/2) AAS
フォルダ名に日本語混ざってるとocra使えないからそれかもね
904: (オッペケ Srdf-D4Gu) 2020/11/24(火)06:50 ID:/T/Ll6K6r(2/2) AAS
日本語Windows環境ならocraよりneri使ったほうがいいと思うよ
905: (ワッチョイ 4b5f-cChY) 2020/11/24(火)07:16 ID:tcZG3tlz0(2/3) AAS
どちらもだめでした
MinGWが64bitなのがいけないいんですかね?
neriの場合は、「アプリケーションを正しく起動できませんでした」
と出ます
日本語は使ってないですよ
906: (アウアウウー Sa3b-cChY) 2020/11/24(火)09:00 ID:gfNKbZsOa(1/2) AAS
最近同じエラー吐いてる人が多いからマルチバイト文字とかじゃなくてocraのバグじゃね
今つっかかってる場所はlibssp-0.dllの有無
libssp-0.dll入手して適切なフォルダに入れれば動くかもしれないし、それを超えてもまた次のエラーメッセージ出るかもしれない

こういう場合むしろ古いバージョンのocraやrubyを使ったほうが正常に動いたりするよ
特定のバージョンとの相性で上手く動作したらむやみにアップデートしないことな
907: (ワッチョイ a32c-ti/z) 2020/11/24(火)09:01 ID:XRJpBbZB0(1) AAS
ひょっとして、フォルダ名・PC のユーザー名に、日本語を使っていないか?

>neriの場合は、「アプリケーションを正しく起動できませんでした」
もっと正確なエラーメッセージを取得して、それで検索すれば?

どういう理由で起動できないのかを、知りたい
色々な理由があるから、このメッセージだけでは原因を特定できない

Linux みたいに、Windows には、OS のログとか無いのか?
908: (アウアウウー Sa3b-cChY) 2020/11/24(火)09:46 ID:gfNKbZsOa(2/2) AAS
日本語じゃないって否定してんのに直前のレスも読めねーのか
外部リンク:stackoverflow.com

Maybe you don't have the libssp-0.dll file installed.
You can download it from 外部リンク[html]:www.dll-files.com
then placing the file where the error says.
909: (ワッチョイ 4b5f-cChY) 2020/11/24(火)12:56 ID:tcZG3tlz0(3/3) AAS
neriのエラー
アプリケーションを正しく起動できませんでした(0xc000007b)。[OK]をクリックしてアプリケーションを閉じてください。

libssp-0.dllはMinGWでgetするdllです

バグか64bitに対応してないかのどちらかだと思います
暫く様子を見ることにしました
あと古いバージョンも試してみます
910: (オッペケ Srdf-D4Gu) 2020/11/24(火)20:33 ID:GlJ0k2Kgr(1) AAS
こっちは64bit windows10でneri使えてるけどなぁ
911: (ワッチョイ 775f-FP8+) 2020/11/25(水)06:01 ID:vPLi7EhQ0(1/2) AAS
2.4で動きました
しかし自作のsoファイルをソースに含めると
ocra test.rb --dll ddddd.so

実行すると
FATAL ERROR: Bad signature in executable.
912
(1): (ワッチョイ b72c-8s6k) 2020/11/25(水)12:15 ID:BeZXjuPe0(1/2) AAS
自分でエラーを作っているから、原因は君にしか分からない

そのエラーメッセージで検索すれば?
913
(1): (ワッチョイ b72c-8s6k) 2020/11/25(水)12:51 ID:BeZXjuPe0(2/2) AAS
文字列内にある、URL を抜き出す、URI.extract、
または、正規表現のURI.regexp は、

Ruby 2.2 から obsolete になっているけど、
それに代わるものは、何ですか?

require 'uri'

URI.extract("文字列", ['http','https'] )

p URI.regexp =~ "外部リンク:www.ruby-lang.org #=> 0
914: (ワッチョイ 775f-FP8+) 2020/11/25(水)16:47 ID:vPLi7EhQ0(2/2) AAS
>>912
neriでexe化できました
ocraは相変わらずですが
ありがとうございました!
915
(1): (u_・y)◆e6.oHu1j.o (アウアウウー Sa5b-FP8+) 2020/11/26(木)17:59 ID:ACzSTlzfa(1) AAS
>>913
text ="
画像リンク[jpg]:i.imgur.com
外部リンク:www.ruby-lang.org
"
text.scan(URI.regexp).map { Regexp.last_match }.each { |uy|
puts uy
省1
916: (ワッチョイ b72c-OOND) 2020/11/27(金)02:05 ID:lOUpIwv20(1/2) AAS
>>915
出力
外部リンク:www.ruby-lang.org
外部リンク:www.ruby-lang.org

2回とも、同じものが表示されるから、ダメ!
917: (オッペケ Srcb-VDAt) 2020/11/27(金)07:36 ID:8Z+4V8c6r(1/2) AAS
text.scan(URI.regexp){|v| puts '%s://%s' % [v.shift, v.compact.join]}
918: 916 (ワッチョイ b72c-OOND) 2020/11/27(金)08:41 ID:lOUpIwv20(2/2) AAS
text.scan( URI.regexp ){ |v| p v }

出力
[ "https", nil, nil, "i.imgur.com", nil, nil, "/UJbFSti.jpg", nil, nil ]
[ "http", nil, nil, "www.ruby-lang.org", nil, nil, "/", nil, nil ]

この奇妙な、nil は何?
それに、外部リンク:が飛ばされている
919: (u_・y)◆e6.oHu1j.o (アウアウウー Sa5b-FP8+) 2020/11/27(金)16:29 ID:6fRHx8hla(1) AAS
てかURI.regexpもobsoluteだった
920: (ワッチョイ 9f01-1+jW) 2020/11/27(金)17:54 ID:tPIe9OcJ0(1) AAS
外部リンク:bugs.ruby-lang.org
はっきりした理由は書いてないけど
RFC2396自体がobsoleteになって新しくRFC3986/3987対応のregex考えるの大変だから
URI.extract/URI.regexpはobsoleteになったように見える

なので今の仕様で問題ないなら使えばいいんじゃないかって気がする
warningを避けたいならURI::DEFAULT_PARSER.extractを直接使ってもいいけど中身は同じ
もう少しちゃんとしたのがよければtwitter-textのExtractor.extract_urls
921: (オッペケ Srcb-VDAt) 2020/11/27(金)21:04 ID:8Z+4V8c6r(2/2) AAS
qiitaにRFC3986対応の正規表現とか出てるけどそんな大変なのかね
詳しく知らんからなんも言えないけど
922: (ワッチョイ 1f33-ZPXR) 2020/11/27(金)21:32 ID:OZT1ua320(1) AAS
多言語対応まで考えるとややこしいから、すっぱりあきらめたんやろ。
923: (ワッチョイ b72c-OOND) 2020/11/28(土)11:23 ID:FGpMIdZG0(1) AAS
RFC3986に準拠したURI検証用正規表現
外部リンク:qiita.com

HTTP/HTTPS の所には、こういうのが出てくるから、これらが特殊文字なんだろう。
もっと簡単な正規表現で良い

終了点を知りたい。ある文字が出たら、そこで終わりみたいな。
URL で使われない文字

^https?:\/\/
省5
924: (ワッチョイ b72c-OOND) 2020/11/30(月)03:48 ID:r8rQ87Qr0(1/3) AAS
コンテンツをファイルに書きこみながら、同時にハッシュ値も求める場合、
Go では、io.MultiWriter で、2回読み込まずに処理できるらしいが、

Ruby にも、こういう機能がありますか?
925: (ワッチョイ ffbb-BCf+) 2020/11/30(月)20:22 ID:G81cwQG00(1) AAS
RailsチュートリアルをRubyの言語自体の入門書としてみた場合、一般的な入門書の何割ぐらいをカバーしてるものなのですか?
926: (ワッチョイ b72c-OOND) 2020/11/30(月)21:45 ID:r8rQ87Qr0(2/3) AAS
Rails チュートリアルは軽く「たのしいRuby」の10倍以上はある

MVC は、構造・デザインパターンなどを学ぶのが大変

おまけに、Linux・サイト製作の基本知識とか、
データベース・ERB・HTML・CSS/SASS・JavaScript・Webpack・テストとか
927: (ワッチョイ 1f33-ZPXR) 2020/11/30(月)22:12 ID:ifp6ptD/0(1) AAS
そして、それでいて文法やメソッドなどの基礎的なところをすっとばしている可能性が。w

要するに、方向性が違うので、どっちが他方をどう含んでるかは何とも言えんやろ。
928: 926 (ワッチョイ b72c-OOND) 2020/11/30(月)22:44 ID:r8rQ87Qr0(3/3) AAS
入門書で文法を学んだら、Enumerable のメソッドの内容を見てから、

プログラミングのお題スレの問題を解いたり、
テキスト処理などを少しやった方が良いと思う

Rails チュートリアルは、時間が掛かるから

まあでも、ウェブサイトの構築運用の最短距離は、Linux・AWS・Rails。
バックエンド・エンジニアなら、Linux・AWS・Ruby
929: (アウアウウー Sa5b-FP8+) 2020/12/01(火)01:00 ID:bLJR8T1fa(1) AAS
3割くらいじゃね
あと別にrubyの魔術コードを書けたり読めたりしなくても生きていける
930: (ワッチョイ 9f01-1+jW) 2020/12/01(火)21:27 ID:gqqffooe0(1) AAS
ちょ、DateTimeがdeprecatedになってるんですが・・・
これいつから?
1-
あと 72 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s