Ruby 初心者スレッド Part 67 (724レス)
1-

39: (ワッチョイ 9233-cbZ0) 2021/01/07(木)09:59 ID:d5tQYhLy0(1) AAS
つーか、あとは自分でできるやろ。
やりたいようにやれ。
40: (ワッチョイ 468c-1BNf) 2021/01/07(木)18:15 ID:BvHUxMcb0(2/2) AAS
うむ。>>23で解決した
あとはお題として書いてみた
41: (u_・y) (アウアウウー Saa5-Jh9r) 2021/01/07(木)20:00 ID:pRSWPdMla(1) AAS
友達いなそう
42
(1): (ワッチョイ 5fda-Cbw0) 2021/01/11(月)00:35 ID:RMa4jLhx0(1) AAS
ruby初心者です。

調べたけどわからないので教えて下さい

neriでexeファイルを作ろうとすると、簡単なもので試したのですが、
internal:C:/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in
`require': cannot load such file -- Win32API (LoadError)
のエラーが出ます。
Windows 10
ruby 3.0 x64
Bat_To_Exe_Converter v3.2
43
(1): (オッペケ Srb3-VpI/) 2021/01/11(月)00:42 ID:XvdCBu9Er(1) AAS
>>42
gem list にWin32APIはあるのか?
44: (ササクッテロラ Spb3-eSWr) 2021/01/11(月)09:03 ID:LZqNfRTHp(1) AAS
>>43
gem listでwin32-api(1.9.2 universal-mingw32)
はありました。
45: (ワッチョイ ff2c-9hkR) 2021/01/11(月)11:30 ID:RwOnRvzI0(1) AAS
「ruby `require': cannot load such file -- Win32API」で検索!
46
(1): (アウアウウー Saa3-zMe3) 2021/01/11(月)15:49 ID:NK5j5E+la(1) AAS
Win32APIはruby3.0から廃止
当然Win32APIを使ってたgemsはRuby3.0では作者がメンテナンスするまで動かないからneri作者の尻ひっぱたくか前のバージョン使え
47
(1): (アメ MMe3-nOiR) 2021/01/11(月)15:52 ID:Yn+GwDZFM(1) AAS
さすがの互換性w
48: (ワッチョイ df01-zMe3) 2021/01/11(月)16:04 ID:KSKcxhht0(1) AAS
Windowsに嫌われてるとか言ってたな。
49: (ワッチョイ ff68-Q/Jp) 2021/01/11(月)21:15 ID:iHOPiDVy0(1) AAS
>>47
いや、さすがにWin32APIはしゃあない。
むしろ、とっくに避けていなければならんかったレベル。
50: (ササクッテロ Spb3-eSWr) 2021/01/11(月)22:59 ID:jE21Oyzwp(1) AAS
>>46
なるほど。ありがとうございます。
わからず、ずっと悩んでました。
51: (ワッチョイ e1da-A78j) 2021/01/21(木)04:05 ID:wRHR1dSL0(1) AAS
環境変数の設定を一切せず
rubyの起動オプションですべて明示するというやり方って
現実的になにかトラブルが発生したりしますか?
52: (ワッチョイ ae68-8Eyn) 2021/01/21(木)04:54 ID:GWoeC7/l0(1) AAS
コマンドラインの長さとか?
最近ならもうだいじょうぶかな?
53: (ワッチョイ 87da-Jq7D) 2021/01/22(金)08:44 ID:MPceXAls0(1) AAS
そんなに長い指定はないので今の所問題く動いているっぽいです
ありがとうございます
54
(3): (ワッチョイ 5f06-jsk3) 2021/01/23(土)12:19 ID:joIGd+XG0(1) AAS
教えていただきたいのですが、rubyのclassでそのclassに存在するプロパティ一覧を取得する方法ありますか?

以下の様なクラスを作ってます。

class Data
def self.csv_header
return 'name,id,data1,data2'
end

attr_reader :name, :id, :data1, :data2

def initialize(name:, id:, data1:, data2)
@name = name
@id = id
省10
55: (オッペケ Sr7b-3C30) 2021/01/24(日)22:13 ID:kU4Polklr(1) AAS
>>54
hoge = Data.new('name', id: 0, data1: 1, data2: 2)
ivs = hoge.instance_variables
ivs.each{|iv| puts "%s => %p" % [iv, hoge.instance_variable_get(iv)]}
# =>
name => "name"
id => 0
data1 => 1
data2 => 2
56: (ワッチョイ 7f2c-8PYP) 2021/01/25(月)17:06 ID:+q31tGtg0(1) AAS
黒魔術・メタプログラミングで、よく見る

インスタンス変数用のinstance_variables、
クラス/モジュールには、クラス変数(@@these_things)用のclass_variables
57: (ワッチョイ 5f01-oRbG) 2021/01/25(月)18:43 ID:co/Rkwpa0(1/2) AAS
>>54
そういう用途はStruct使うといいんでない?

Foo = Struct.new("Foo", :name, :id, :data1, :data2)
foo = Foo.new("foo", 1, "123", "456")
foo.to_h.keys
#=> [:name, :id, :data1, :data2]
foo.to_h.keys.to_csv
#=> "name,id,data1,data2¥n"
58: (ワッチョイ 5f01-oRbG) 2021/01/25(月)18:47 ID:co/Rkwpa0(2/2) AAS
Structは初期化時の引数の数が一致してなくてもエラーにならずにnilがデフォルト値になる
それがいやな場合は継承してコンストラクタを上書き

class Bar < Struct.new("Bar", :name, :id, :data1, :data2)
def initialize(name, id, data1=nil, data2=nil)
super
end
end
1-
あと 666 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.014s