Ruby 初心者スレッド Part 67 (729レス)
上下前次1-新
164: (ワッチョイ 9f5f-woDw) 2021/05/12(水)11:41 ID:iLdhy1ll0(2/2) AAS
>>162
Benchmark.driver do |x|
x.prelude %{require "csv"}
x.prelude %{require "tempfile"}
x.prelude %{ITEMS = Array.new(1000){ ["fooo", 12345,6789] }}
x.report "to_csv", %{ Tempfile.create{ _1.write ITEMS.map(&:to_csv).join } }
x.report "generate", %{ Tempfile.create{ _1.write CSV.generate{|csv| ITEMS.each{|it| csv << it } } }}
end
確かに縮まりはしたが
うちのオンボロPCでも5倍弱の差が出ました。
165: (アウアウウー Sa1f-M6Ch) 2021/05/12(水)22:35 ID:gVUbVQ8ua(1) AAS
何秒が何秒になったんですか?
166(2): (ワッチョイ dbb7-08Bm) 2021/06/01(火)17:26 ID:iV+6o72S0(1/2) AAS
c="C:\Program Files\7-Zip\7z.exe"
p c
で出力は
> "C:Program Files\a-Zip\az.exe"
となってしまうんですが、なんで7がaに変わってしまってるんでしょうか?
2.6.5p114 (2019-10-01 revision 67812) [x64-mingw32]です
167(1): (ワッチョイ b95f-qEHq) 2021/06/01(火)17:31 ID:DkdlQ1eQ0(1) AAS
外部リンク:ja.wikipedia.orgベル文字
> ベル文字は、ASCIIとUnicodeでは十進数で7
> 1972年に作られたC言語では、ベル文字は文字定数 \aで表される。'a'は"alert"や"audible"の頭文字である。'b'は既にバックスペースに使われていた。
168(2): (ワッチョイ 1301-2Amd) 2021/06/01(火)18:04 ID:uwqmKkHK0(1) AAS
>>166
バックスラッシュ記法で8進数表記のパターンとして解釈されるから
式展開が必要なければシングルクウォートにするといい
外部リンク[html]:docs.ruby-lang.org
¥007も¥07も¥7も同じ
C言語由来のエスケープシーケンス
169(1): (ワッチョイ 5133-wy77) 2021/06/01(火)18:56 ID:acqsmkid0(1) AAS
>>166
>>168のシングルクォートよりも、パスの区切り文字を「/」にすることをすすめたい。
パスの区切り文字が「¥」でなければいけないのはコマンドプロンプトなど一部のみ。
だいたいが「/」でも可。
170(3): (ワッチョイ dbb7-08Bm) 2021/06/01(火)21:37 ID:iV+6o72S0(2/2) AAS
>>167-169
まとレスにて失礼します
aに置き換わる謎はわかりました
シングルクォートなのですが、面倒くさいことにWindowsの決め打ちで空白が入っているので
それを考えるとダブルクォートで囲まざるを得ず、けっきょくこんな形になってしまいました
c="\"C:\\Program Files\\7-Zip\\7z.exe\""
このあと
system("#{c} a -mx9 ...")
みたいな形で呼び出します
171(1): (ワッチョイ 137d-W1af) 2021/06/01(火)22:03 ID:eWE6r8CI0(1) AAS
>>170
c = '"C:\Program Files\7-Zip\7z.exe"'
172(1): (オッペケ Sr8d-0MMr) 2021/06/02(水)19:46 ID:onKqKKZNr(1) AAS
>>170
すごく短くまとまってるから、一度公式のリファレンス読んだ方がいいよ
外部リンク[html]:docs.ruby-lang.org
173: (ワッチョイ dbb7-08Bm) 2021/06/02(水)20:29 ID:92rWXivp0(1) AAS
>>171
ああなるほど
それで行けますね
昔は自分でもそんな書き方してたかもしれなかったです
>>172
ご案内ありがとうございます
シングルクォートとダブルクォートの意味とか違いは理解していたのですが
中に\入れたときとか、とくに168さんに指摘されたように8進数での扱いが特別だということは
よく理解していなかったので、これを機会に知識を正確にしておきます
174(1): (ワッチョイ f101-snRc) 2021/06/03(木)18:27 ID:peqY6uPj0(1/2) AAS
完全にプログラミング0からで「スラスラ読めるrubyふりがなプログラミング」を買って始めたのですが
macbookairでrbenvでruby3.0.1をダウンロードしてrbenv versionでは3.0.1と表示されるのですがruby -vでは2.6.3と元々入ってるrubyが表示されます
まだ何も分かってないのにhomebrewとrbenvのダウンロードが上手くいかず色々見ながらやってきたので余計な事をしてしまったのではないかと心配です
175: (ワッチョイ f101-snRc) 2021/06/03(木)18:56 ID:peqY6uPj0(2/2) AAS
>>174ですが
自己解決しました
bash profileに何か誤ったものを書き込んでしまったようで消したら3.0.1に切り替わりました
176(1): (ワッチョイ 8961-szig) 2021/06/05(土)14:54 ID:uC9Joojh0(1) AAS
Rubyで、syntax error 的なものが生じていても、そのまま実行が続けられている
ように見える現象が時々起きる。
これは何が起きている?
errorが起きた場所で停止させる方法はある?
177: (オッペケ Sred-1bbd) 2021/06/05(土)15:26 ID:SGijWivar(1) AAS
rescue SyntaxError
178(1): (ワッチョイ 35bb-l3mb) 2021/06/05(土)20:10 ID:K+vX0E1p0(1) AAS
>>176
そのエラーが起こった時に何が表示されているの?
179(1): (ワッチョイ 8961-szig) 2021/06/06(日)16:19 ID:1amPE6il0(1/5) AAS
>>178
例えば、xxx という変数を定義してない状態で、
[aaa.rb]
def some_func()
・・・
print( "xxx=#{xxx}\n" );
・・・
end
という関数を呼び出すと、
aaa.rb:3882:in `some_func': undefined local variable or method `xxx' for main:Object (NameError)
省3
180(1): (オッペケ Sred-1bbd) 2021/06/06(日)17:06 ID:B1fTG1Q6r(1/3) AAS
>>179
begin
rescue
end
の構造してるだけじゃないの
181(1): (ワッチョイ 8961-szig) 2021/06/06(日)17:09 ID:1amPE6il0(2/5) AAS
>>180
そういうものは使ってない。
182(1): (オッペケ Sred-1bbd) 2021/06/06(日)17:12 ID:B1fTG1Q6r(2/3) AAS
>>181
再現するコードを共有することはできますか?
183: (ワッチョイ 8961-szig) 2021/06/06(日)17:37 ID:1amPE6il0(3/5) AAS
>>182
できない。
大事なコードだから非公開。
上下前次1-新書関写板覧索設栞歴
あと 546 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.010s