プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ
質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。
Ruby on Rails については、WEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 64
https://mevius.5ch.net/test/read.cgi/tech/1535797516/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
Ruby コミュニティ公式
https://www.ruby-lang.org/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
Ruby 初心者スレッド Part 65
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん (ワッチョイ 0f80-JI52)
2018/12/22(土) 04:43:34.03ID:84E3pYZa0831デフォルトの名無しさん (ワッチョイ ef8c-z4KY)
2019/11/07(木) 03:28:55.37ID:QKW84+pO0 外字と引っ掛けた洒落や
気い悪くしたんならすまんかった
気い悪くしたんならすまんかった
832デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/07(木) 08:58:28.91ID:debRpYWr0 >>830
>エンコーディングは変わっていないが文字集合は変わってるので
>最新のUnicodeを表示させると一部文字化けする
じゃ文字集合だけ更新すれば文字化け解消するのかな?
文脈理解せず無意味なレス繰り返してるとそりゃ外字言われるわ
>エンコーディングは変わっていないが文字集合は変わってるので
>最新のUnicodeを表示させると一部文字化けする
じゃ文字集合だけ更新すれば文字化け解消するのかな?
文脈理解せず無意味なレス繰り返してるとそりゃ外字言われるわ
833デフォルトの名無しさん (ワッチョイ 9f2c-E8Ce)
2019/11/07(木) 11:38:26.80ID:LDERshfw0 そりゃ、新しい文字集合を使うと、新しい絵文字も正しく表示されるだろ?
834デフォルトの名無しさん (ワッチョイ 2b14-6wYC)
2019/11/07(木) 12:52:46.05ID:sEmiRyTj0 正確に言えば、新しい文字集合に対応したフォントを使うとだね。
>>832の言う「文字集合だけ更新すれば」が意味不明だが
「仕様書を更新すれば、なにも変更はいらない」って意味なら
そんなことは誰も言ってない
>>832の言う「文字集合だけ更新すれば」が意味不明だが
「仕様書を更新すれば、なにも変更はいらない」って意味なら
そんなことは誰も言ってない
835デフォルトの名無しさん (ワッチョイ ef8c-z4KY)
2019/11/07(木) 20:03:36.67ID:1chRDjs40 ㋿
最近だと令和対応が記憶に新しいな
最近だと令和対応が記憶に新しいな
836デフォルトの名無しさん (ワッチョイ 9f2c-E8Ce)
2019/11/08(金) 15:49:09.19ID:bNpOstnB0 よく出てくる、&:メソッド名は、proc オブジェクトですが、
たまに出てくる、:メソッド名は、何ですか?
違いが、よく分からない
nums = %w(1 2 3 4).map!( &:to_i ) # 数値の配列
p nums.inject( :+ ) # 10
たまに出てくる、:メソッド名は、何ですか?
違いが、よく分からない
nums = %w(1 2 3 4).map!( &:to_i ) # 数値の配列
p nums.inject( :+ ) # 10
837デフォルトの名無しさん (ドコグロ MM3f-keNo)
2019/11/08(金) 17:07:06.66ID:GYgLC2XDM シンボル
実用的には単なる変更不可能な文字列と見做してよい
Rubyの初期からの大きな失敗の一つで、特に意味はない
実用的には単なる変更不可能な文字列と見做してよい
Rubyの初期からの大きな失敗の一つで、特に意味はない
838デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/08(金) 18:26:17.63ID:q9/Fdf+e0 マニュアルの「シンボルの実装と用途」ってところを読むと良いと思う
https://docs.ruby-lang.org/ja/2.6.0/class/Symbol.html
&:to_iも":to_i"がシンボルで、そのシンボルが"&"で修飾されてるだけ
"&"はProcオブジェクトやto_procメソッドを持つオブジェクトをブロックとして渡す時に引数につける修飾記号
実行時にSymbol#to_procが呼ばれてそれがブロックとして渡される
https://docs.ruby-lang.org/ja/2.6.0/class/Symbol.html
&:to_iも":to_i"がシンボルで、そのシンボルが"&"で修飾されてるだけ
"&"はProcオブジェクトやto_procメソッドを持つオブジェクトをブロックとして渡す時に引数につける修飾記号
実行時にSymbol#to_procが呼ばれてそれがブロックとして渡される
839デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/08(金) 18:31:13.82ID:q9/Fdf+e0 mapはシンボルを引数にとらないからmap(&:to_i)でブロックとして渡すけど
injectはシンボルを引数に取るからinject(:+)で実行できる
inject(&:+)としてブロックとして渡してもいいけど無駄処理が入るので普通はやらない
injectはシンボルを引数に取るからinject(:+)で実行できる
inject(&:+)としてブロックとして渡してもいいけど無駄処理が入るので普通はやらない
840836 (ワッチョイ 9f2c-E8Ce)
2019/11/08(金) 18:48:10.88ID:bNpOstnB0 漏れは、いつも、メソッドがシンボルを引数に取るかどうか、分からないから、
ひとまず、map!( :to_i ) みたいに、シンボルを渡して、エラーになったら、
map!( &:to_i ) と、& を付けることにしている
ひとまず、map!( :to_i ) みたいに、シンボルを渡して、エラーになったら、
map!( &:to_i ) と、& を付けることにしている
841デフォルトの名無しさん (ワッチョイ df33-rCU0)
2019/11/08(金) 21:56:04.93ID:ZY78KkPA0842デフォルトの名無しさん (ワッチョイ 0fd3-QrFL)
2019/11/08(金) 22:54:04.88ID:u/1VJcWC0 ていうか、なんでそんな半端な設計なの?
injectのみシンボル受け取れるようにするメリットってなに?
injectのみシンボル受け取れるようにするメリットってなに?
843デフォルトの名無しさん (ワッチョイ eb14-6wYC)
2019/11/08(金) 23:51:37.33ID:sLgGgSr40 シンボル・・・型が無い言語で、型を気付かれないように書くための手段の一つ
型がないとされる言語でも、123は数字だが、"123"は文字というように
書き方で型をこっそりと記述している。
他にも/abc/は正規表現型、1.0は浮動小数点型などの定義方法がある。
シンボルはその一つで、:で始めることにより、シンボル型の値を書くことができる
型がないとされる言語でも、123は数字だが、"123"は文字というように
書き方で型をこっそりと記述している。
他にも/abc/は正規表現型、1.0は浮動小数点型などの定義方法がある。
シンボルはその一つで、:で始めることにより、シンボル型の値を書くことができる
844デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/08(金) 23:57:04.08ID:q9/Fdf+e0845デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/08(金) 23:59:15.28ID:q9/Fdf+e0 >>843
その「型が無い言語」とか「型がないとされる言語」という理解は間違ってるよ
その「型が無い言語」とか「型がないとされる言語」という理解は間違ってるよ
846デフォルトの名無しさん (ワッチョイ 9f9c-G+r6)
2019/11/09(土) 00:09:55.38ID:PhKUzZj90 シンボルと文字列を区別したのは失敗だったとmatzも言ってるな
streamという途中でぶん投げた新言語ではその区別がなくなってる
streamという途中でぶん投げた新言語ではその区別がなくなってる
847デフォルトの名無しさん (ワッチョイ eb14-6wYC)
2019/11/09(土) 02:32:49.02ID:d5YSql6x0 >>845
反論は「あってるよ」だけで十分そうだねw
反論は「あってるよ」だけで十分そうだねw
848デフォルトの名無しさん (ドコグロ MM3f-keNo)
2019/11/09(土) 12:03:54.60ID:u1W/mjBNM >>842
文字列リテラルよりも記述が簡便だからという理由により、本来文字列を使うべき用途にもシンボルが乱用された結果、
シンボルGCなどという頭の悪いものが誕生したりしたんだよな
誰がどう見ても完全に失敗
文字列リテラルよりも記述が簡便だからという理由により、本来文字列を使うべき用途にもシンボルが乱用された結果、
シンボルGCなどという頭の悪いものが誕生したりしたんだよな
誰がどう見ても完全に失敗
849デフォルトの名無しさん (ワッチョイ 9f2c-E8Ce)
2019/11/09(土) 12:04:25.68ID:Ypm9+s0e0 シンボルは、識別子を表すために作られたのか、数字で始められないだろ。
下はエラーになる
p :"1" # OK
p :1 # エラー
下はエラーになる
p :"1" # OK
p :1 # エラー
850デフォルトの名無しさん (ワッチョイ 0fd3-QrFL)
2019/11/09(土) 12:13:45.55ID:X62CmnUE0851デフォルトの名無しさん (ドコグロ MM3f-keNo)
2019/11/09(土) 12:16:59.76ID:u1W/mjBNM852デフォルトの名無しさん (ドコグロ MM3f-keNo)
2019/11/09(土) 12:19:33.79ID:u1W/mjBNM853デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/09(土) 14:08:02.54ID:MvykJ39t0 >>850
sliceやchunkのような分割系以外は
ブロックがなければEnumeratorを返すのを基本ルールにしてるから
mapはシンボルを取る形がないんじゃないかな
injectはEnumeratorを返すものじゃないから
ちょっと気を利かしてシンボルを取る形を加えたのかもね
sliceやchunkのような分割系以外は
ブロックがなければEnumeratorを返すのを基本ルールにしてるから
mapはシンボルを取る形がないんじゃないかな
injectはEnumeratorを返すものじゃないから
ちょっと気を利かしてシンボルを取る形を加えたのかもね
854デフォルトの名無しさん (ワッチョイ 068c-W3rk)
2019/11/14(木) 00:10:26.40ID:GMI1Y3D90 今年が2.7ってことは
2022年には3か2.10か
2022年には3か2.10か
855デフォルトの名無しさん (アウアウカー Sa89-AiI5)
2019/11/14(木) 17:40:11.04ID:BO+nDgNta Rubyで2値の差を得る簡単なメソッドとかないかな
def diff(num1, num2)
max = [n1, n2].max
min = [n1, n2].min
(max - min)
end
p diff(-3, 7) #=> 10
とかだと見てくれ良くないし無駄も多い
def diff(num1, num2)
max = [n1, n2].max
min = [n1, n2].min
(max - min)
end
p diff(-3, 7) #=> 10
とかだと見てくれ良くないし無駄も多い
856デフォルトの名無しさん (オッペケ Sr11-iZ7S)
2019/11/14(木) 18:15:34.71ID:baSi3t2Kr (num1 - num2).absじゃあかんのか?
857デフォルトの名無しさん (ワッチョイ 8201-NhnT)
2019/11/15(金) 01:07:32.58ID:em064pO70 オラもそう思った
858デフォルトの名無しさん (アウアウエー Sa8a-9qGC)
2019/11/15(金) 07:32:43.98ID:1PuPU5S7a >>854
最初の小数点の次の数は二桁以上にしない縛りなかったっけ?
最初の小数点の次の数は二桁以上にしない縛りなかったっけ?
859デフォルトの名無しさん (アウアウウー Sa9d-5f43)
2019/11/21(木) 19:57:13.88ID:0YdMrNdaa Rubyの平均年収は全言語中最低
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/01068/111100004/
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/01068/111100004/
860デフォルトの名無しさん (ワッチョイ f98f-Sa3v)
2019/11/21(木) 23:28:58.12ID:tUWUNbqx0 そんなに年収ほしければCOBOLやれば?
861デフォルトの名無しさん (ワッチョイ 9305-CPe6)
2019/11/23(土) 01:26:32.66ID:DazDco060 今月までプログラミングに一切触れたことのなかった初心者です
引数を配列にして
メソッド内で変数aに引数を代入
その後変数aの0番目にnを代入すると引数の0番目まで巻き添えでnになってしまうんですがそういう仕様なんでしょうか?
配列だけで起こる現象のようなんですが
method(0,1)と呼んで
def method(array)
a = array
a[0] = 10
puts a
puts array
end
とするとaもarrayも[10,1]となってしまいます
引数を配列にして
メソッド内で変数aに引数を代入
その後変数aの0番目にnを代入すると引数の0番目まで巻き添えでnになってしまうんですがそういう仕様なんでしょうか?
配列だけで起こる現象のようなんですが
method(0,1)と呼んで
def method(array)
a = array
a[0] = 10
puts a
puts array
end
とするとaもarrayも[10,1]となってしまいます
862デフォルトの名無しさん (ワッチョイ 9305-CPe6)
2019/11/23(土) 01:27:53.59ID:DazDco060 method([0,1])でした
失礼しました
失礼しました
863デフォルトの名無しさん (ワッチョイ 9301-wiXz)
2019/11/23(土) 03:03:35.14ID:8xX8HZu80864デフォルトの名無しさん (ワッチョイ 9305-CPe6)
2019/11/23(土) 10:59:21.53ID:DazDco060865デフォルトの名無しさん (ワッチョイ 9301-wiXz)
2019/11/23(土) 14:01:09.34ID:8xX8HZu80 >>864
使い方にもよるのかもしれんが階層が浅くて固定ならdupで十分じゃない?
foo = [[1,2], [3,4], [5,6,7]]
bar = foo.dup
bar[0] = [9,9,9]
foo #=> [[1, 2], [3, 4], [5, 6, 7]]
bar #=> [[9, 9, 9], [3, 4], [5, 6, 7]]
bar[1].push 200
foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]]
bar #=> [[9, 9, 9], [3, 4, 200], [5, 6, 7]]
bar[2] = bar[2].dup.push 300
foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]]
bar #=> [[9, 9, 9], [3, 4, 200], [5, 6, 7, 300]]
階層が深くて手動でdupするのが大変ならdeep_dup
require 'active_support'
require 'active_support/core_ext/object/deep_dup'
baz = foo.deep_dup
baz[1].push 300
foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]]
baz #=> [[1, 2], [3, 4, 200, 300], [5, 6, 7]]
使い方にもよるのかもしれんが階層が浅くて固定ならdupで十分じゃない?
foo = [[1,2], [3,4], [5,6,7]]
bar = foo.dup
bar[0] = [9,9,9]
foo #=> [[1, 2], [3, 4], [5, 6, 7]]
bar #=> [[9, 9, 9], [3, 4], [5, 6, 7]]
bar[1].push 200
foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]]
bar #=> [[9, 9, 9], [3, 4, 200], [5, 6, 7]]
bar[2] = bar[2].dup.push 300
foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]]
bar #=> [[9, 9, 9], [3, 4, 200], [5, 6, 7, 300]]
階層が深くて手動でdupするのが大変ならdeep_dup
require 'active_support'
require 'active_support/core_ext/object/deep_dup'
baz = foo.deep_dup
baz[1].push 300
foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]]
baz #=> [[1, 2], [3, 4, 200, 300], [5, 6, 7]]
866デフォルトの名無しさん (ワッチョイ 132c-4eZD)
2019/11/23(土) 20:53:58.93ID:fygFNKSM0 年収は、5大SIer, Java などの土方系・奴隷、多重請負構造では、1社間に入る度に、3割抜かれる!
顧客が100万円払っても、間1 が、30万円抜いて、
自社には70万円で来るので、自分の給料は、25万円ぐらいw
顧客が100万円払っても、間1 が、30万円抜いて、間2 が、20万円抜くと、
自社には50万円で来るので、自分の給料は、20万円ぐらいw
だから、ハローワークのIT 講座でも、奴隷になる2次請け以降に、就職しないように言われる。
Javaの平均年収が600万円なら、300万円の奴隷と、900万円の大企業の奴隷使いがいる。
元々、大企業の人は、給料が良いだけ。
給料は言語に関係ない。労働形態による!
抜きを警戒する人は、派遣なら3割抜かれて、後は自分の給料になるけど、
仕事がない期間の保証がない。
それか、フリーランスのエージェントで、1割ぐらいの抜きを探すか
一方、Ruby などの自社サービス系は、多重請負構造じゃないから抜かれない
顧客が100万円払っても、間1 が、30万円抜いて、
自社には70万円で来るので、自分の給料は、25万円ぐらいw
顧客が100万円払っても、間1 が、30万円抜いて、間2 が、20万円抜くと、
自社には50万円で来るので、自分の給料は、20万円ぐらいw
だから、ハローワークのIT 講座でも、奴隷になる2次請け以降に、就職しないように言われる。
Javaの平均年収が600万円なら、300万円の奴隷と、900万円の大企業の奴隷使いがいる。
元々、大企業の人は、給料が良いだけ。
給料は言語に関係ない。労働形態による!
抜きを警戒する人は、派遣なら3割抜かれて、後は自分の給料になるけど、
仕事がない期間の保証がない。
それか、フリーランスのエージェントで、1割ぐらいの抜きを探すか
一方、Ruby などの自社サービス系は、多重請負構造じゃないから抜かれない
867デフォルトの名無しさん (ワッチョイ 132c-4eZD)
2019/11/23(土) 21:01:37.75ID:fygFNKSM0 C/C++ 以外のほとんどの言語では、参照がコピーされるだけ!
インスタンスを作っていない
だから、実際のインスタンス数は、clone, dup, new された回数を、チェックすれば良い
インスタンスを作っていない
だから、実際のインスタンス数は、clone, dup, new された回数を、チェックすれば良い
868デフォルトの名無しさん (ワッチョイ fb8c-qZD/)
2019/11/23(土) 22:03:14.93ID:uAZdpObm0 土方系の仕事って何ですか
869デフォルトの名無しさん (ドコグロ MM63-5f43)
2019/11/23(土) 22:07:51.58ID:jA/F562DM870デフォルトの名無しさん (ワッチョイ 6914-6o6Z)
2019/11/24(日) 01:52:22.27ID:iwyjZSbL0 >>868
顧客に価値を提供すること
顧客に価値を提供すること
871デフォルトの名無しさん (ワッチョイ 139c-rLNN)
2019/11/24(日) 02:00:18.56ID:2vFps37N0 土方にはなるな
SIerにはなるな
SIerにはなるな
872デフォルトの名無しさん (アウアウウー Sa9d-5f43)
2019/11/24(日) 02:02:59.56ID:Q6cceAnpa しかし現実には大半のRubyistよりもSIerのドカタの方が給料は高いのであった
873デフォルトの名無しさん (ワッチョイ 3333-a70H)
2019/11/24(日) 04:46:27.73ID:kT5P2hJJ0 給料だけでもないやろ。
つーか、どうでもいいから。んな話は。
つーか、どうでもいいから。んな話は。
874デフォルトの名無しさん (ワッチョイ f98f-Sa3v)
2019/11/24(日) 15:33:55.35ID:Gqvqz24c0 要件定義、外部設計を受注できるプライマリの
会社に行かないと高収入はないよ。
内部設計、プログラミングは下流工程だから下請けに流される。
3割抜くとか言うが、粗利3割はどの業界でも普通だし。
会社に行かないと高収入はないよ。
内部設計、プログラミングは下流工程だから下請けに流される。
3割抜くとか言うが、粗利3割はどの業界でも普通だし。
875デフォルトの名無しさん (ワッチョイ fb8c-qZD/)
2019/11/24(日) 18:51:34.90ID:ednGVdun0 言語を知っている。いや知っているだけで金になる仕事はないから
876デフォルトの名無しさん (ワッチョイ 132c-4eZD)
2019/11/24(日) 23:07:40.54ID:Q5WFFNoW0 上流工程が、下級工程の給料を決める
だから、YouTube で有名なKENTA が、
クライアント側ではなく、サーバー側・構築運用へ行った
今世紀最大の起業家、Ruby でVagrant を作った、
HashiCorp のMitchell Hashimoto も、Go でTerraform を作った!
富・技術革新が集中する所に、Hashimoto は行く!
実際に、車のメーカーの企業の時価総額は変わらないけど、
アマゾン・Google などのサーバー屋は、100兆円企業になってる!
だから、YouTube で有名なKENTA が、
クライアント側ではなく、サーバー側・構築運用へ行った
今世紀最大の起業家、Ruby でVagrant を作った、
HashiCorp のMitchell Hashimoto も、Go でTerraform を作った!
富・技術革新が集中する所に、Hashimoto は行く!
実際に、車のメーカーの企業の時価総額は変わらないけど、
アマゾン・Google などのサーバー屋は、100兆円企業になってる!
877デフォルトの名無しさん (ワッチョイ 139c-rLNN)
2019/11/25(月) 04:07:09.54ID:gVPe0v4t0878デフォルトの名無しさん (ワイーワ2 FF63-KqLj)
2019/11/25(月) 12:33:00.08ID:pjJuONFZF >上流工程が、下級工程の給料を決める
>クライアント側ではなく、サーバー側・構築運用へ行った
上流ってそういう意味か?ωωω
>クライアント側ではなく、サーバー側・構築運用へ行った
上流ってそういう意味か?ωωω
879デフォルトの名無しさん (ドコグロ MMe5-5f43)
2019/11/25(月) 16:27:01.28ID:Lb2w9ntUM Amazonの売上の大半はEC
Googleの売上の大半は広告
どっちも実際には上物で稼いでいて、AWSやGCPの売上比率は15%程度に過ぎない
キチガイの目に映る世界と実態の間にはは大きな乖離があることがわかるだろう
Googleの売上の大半は広告
どっちも実際には上物で稼いでいて、AWSやGCPの売上比率は15%程度に過ぎない
キチガイの目に映る世界と実態の間にはは大きな乖離があることがわかるだろう
880デフォルトの名無しさん (ワッチョイ f914-6o6Z)
2019/11/25(月) 17:19:36.92ID:vZmdeQAZ0 まあ利益出してるところじゃなくて"売上"というのなら、
ECが一番やろうな。そりゃ
ECが一番やろうな。そりゃ
881デフォルトの名無しさん (ワッチョイ 922c-Ql8R)
2019/11/28(木) 00:37:50.62ID:WsOSEkue0 Windows10, WSL, Ubuntu 16.4 で、
libruby2.3, ruby2.3 の更新が来た!
Ruby2.3 は、もうサポート切れだけど、まだ誰かがサポートしてるw
Ubuntu チームか
libruby2.3, ruby2.3 の更新が来た!
Ruby2.3 は、もうサポート切れだけど、まだ誰かがサポートしてるw
Ubuntu チームか
882デフォルトの名無しさん (オイコラミネオ MM91-pi24)
2019/11/28(木) 17:42:14.05ID:dnvj190uM ビルドしてるだけやろ。
883デフォルトの名無しさん (ワッチョイ 922c-Ql8R)
2019/11/30(土) 04:33:29.25ID:HbGyzSLF0 Vagrant, Chef, RSpec, Serverspec などの、
DSL の書き方だけができる、ライブラリ・フレームワークはないの?
DSL の書き方だけができる、ライブラリ・フレームワークはないの?
884デフォルトの名無しさん (ワッチョイ 1214-Sv7j)
2019/11/30(土) 07:04:52.88ID:WKFbtD9B0885883 (ワッチョイ 922c-Ql8R)
2019/11/30(土) 09:10:10.03ID:HbGyzSLF0 環境の構築テストなどを、すごく簡潔に、宣言っぽく書いている
例えば、ファイル・ディレクトリなどを作る場合でも、エラー処理もなく、1行で書いてる。
Maven, Gradle も、こういう宣言っぽい感じかな?
便利だなと思って
例えば、ファイル・ディレクトリなどを作る場合でも、エラー処理もなく、1行で書いてる。
Maven, Gradle も、こういう宣言っぽい感じかな?
便利だなと思って
886デフォルトの名無しさん (ワッチョイ a9da-o7DB)
2019/12/02(月) 07:50:51.40ID:sFARCTmI0 k-sato_at_oiaxって実はもう死んでたりするの?
887デフォルトの名無しさん (ワッチョイ 922c-Ql8R)
2019/12/02(月) 22:47:05.03ID:H5nAExhM0 改訂4版 基礎 Ruby on Rails、黒田努・佐藤和人、2018/9/7
この本が、株式会社オイアクス監修だろ。
著者2人は、株式会社ルビキタスにも所属している
この本が、株式会社オイアクス監修だろ。
著者2人は、株式会社ルビキタスにも所属している
888デフォルトの名無しさん (ワッチョイ 12a5-dfs3)
2019/12/03(火) 09:08:31.07ID:I9YoNGrF0 義務教育にrubyが組み込まれなかった時点でrubyは終わりだろ
ポジション取られたのがscratch
ついでにオブジェクト脳の本の社長起立プログラム、あれ最高にキモイ
ポジション取られたのがscratch
ついでにオブジェクト脳の本の社長起立プログラム、あれ最高にキモイ
889デフォルトの名無しさん (ワッチョイ 232c-+J45)
2019/12/05(木) 09:12:33.74ID:fTTGdtWT0 Windows のPowerShell で、1-liner で、webrick サーバーを立てるのに、
上だとエラーになって、
下のように、%Q("./") でクォートすると、正常に動くのは、なぜでしょう?
どういうカラクリなの?
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => "./", :Port => 8888).start'
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => %Q("./"), :Port => 8888).start'
上だとエラーになって、
下のように、%Q("./") でクォートすると、正常に動くのは、なぜでしょう?
どういうカラクリなの?
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => "./", :Port => 8888).start'
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => %Q("./"), :Port => 8888).start'
890デフォルトの名無しさん (オッペケ Src1-8zr5)
2019/12/05(木) 09:19:26.64ID:wT3fRGGOr windowsで-e の後にシングルクォーテーション使ってるからでしょ
ruby -e 'puts "hello"'
でもエラーになるぞ
ruby -e 'puts "hello"'
でもエラーになるぞ
891デフォルトの名無しさん (オッペケ Src1-8zr5)
2019/12/05(木) 09:20:45.92ID:wT3fRGGOr ちな
ruby -e 'puts \"hello\"'
や
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => \"./\", :Port => 8888).start'
なら問題ない
ruby -e 'puts \"hello\"'
や
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => \"./\", :Port => 8888).start'
なら問題ない
892889 (ワッチョイ 232c-+J45)
2019/12/05(木) 10:48:53.10ID:fTTGdtWT0 ruby -e 'puts "hello"'
は、コマンドプロンプトではエラーにならないが、
PowerShell ではエラーになるw
ruby -e 'puts %Q("hello")'
は、コマンドプロンプト・PowerShell の両方で正常
ruby -e 'puts "hello"'
が、コマンドプロンプト・PowerShell から、Rubyに渡る際に、どう変換されるのか?
そのカリクリを知りたい
は、コマンドプロンプトではエラーにならないが、
PowerShell ではエラーになるw
ruby -e 'puts %Q("hello")'
は、コマンドプロンプト・PowerShell の両方で正常
ruby -e 'puts "hello"'
が、コマンドプロンプト・PowerShell から、Rubyに渡る際に、どう変換されるのか?
そのカリクリを知りたい
893デフォルトの名無しさん (アウウィフ FFa9-MVf8)
2019/12/05(木) 10:57:49.63ID:IbmhSLeWF WSL使え
あるいはWindowsのコマンドプロンプトなら
ruby -e "puts 'hello'"
あるいはWindowsのコマンドプロンプトなら
ruby -e "puts 'hello'"
894デフォルトの名無しさん (オッペケ Src1-8zr5)
2019/12/05(木) 11:11:38.90ID:wT3fRGGOr だから'使うなっつってんだろアホか
895デフォルトの名無しさん (ワッチョイ 7501-MVf8)
2019/12/05(木) 11:21:52.16ID:q0kDwfyl0 製造者がWindowsが憎いMicrosoftが憎いと言ってるのに、わざわざWindows上で使わなくても。
896デフォルトの名無しさん (ワッチョイ 8333-lxm3)
2019/12/05(木) 21:12:26.41ID:h+M+c6Hd0 コマンドプロンプトのクォート解釈は、控えめに言ってメチャクチャだからな。
昔のものだし、しかたない。
それに比べたら、PowerShellははるかにまともで現代的。
昔のものだし、しかたない。
それに比べたら、PowerShellははるかにまともで現代的。
897889 (ワッチョイ 232c-+J45)
2019/12/05(木) 23:40:17.64ID:fTTGdtWT0 まとめ。
Windows10 で、1-liner のruby -e で順に、1〜3 を実行した場合
1. 'puts "hello"'
2. 'puts %Q("hello")'
3. "puts 'hello'"
1〜3は、コマンドプロンプトと、WSL, Ubuntu 16.04 では、
hello, "hello", hello
PowerShell では、
エラー, "hello", hello
Windows10 で、1-liner のruby -e で順に、1〜3 を実行した場合
1. 'puts "hello"'
2. 'puts %Q("hello")'
3. "puts 'hello'"
1〜3は、コマンドプロンプトと、WSL, Ubuntu 16.04 では、
hello, "hello", hello
PowerShell では、
エラー, "hello", hello
898デフォルトの名無しさん (ワイーワ2 FF93-MVf8)
2019/12/06(金) 10:14:28.56ID:uUae0oO6F pythonは””も’’も意味一緒だが
rubyは””と''は微妙に意味違うよな
rubyは””と''は微妙に意味違うよな
899デフォルトの名無しさん (ワイーワ2 FF93-MVf8)
2019/12/06(金) 10:16:15.68ID:uUae0oO6F 'puts %Q(hello)'
あるいは
"puts %Q(hello)"
で良いのに
あるいは
"puts %Q(hello)"
で良いのに
900889 (ワッチョイ 232c-+J45)
2019/12/06(金) 12:46:17.58ID:IktivxOB0 >>899
まとめ。
Windows10 で、1-liner のruby -e で順に、1〜2 を実行した場合
1. 'puts %Q(hello)'
2. "puts %Q(hello)"
コマンドプロンプト・PowerShell、WSL, Ubuntu 16.04 のすべてで、
hello
と出力された!
まとめ。
Windows10 で、1-liner のruby -e で順に、1〜2 を実行した場合
1. 'puts %Q(hello)'
2. "puts %Q(hello)"
コマンドプロンプト・PowerShell、WSL, Ubuntu 16.04 のすべてで、
hello
と出力された!
901デフォルトの名無しさん (アウアウウー Saa9-LXAx)
2019/12/06(金) 20:18:06.92ID:nE0DnhAQa902デフォルトの名無しさん (ワッチョイ 23a5-q23Y)
2019/12/06(金) 21:53:56.86ID:P1BfZN9u0 ‘‘
’’
””
‘’
眼力チェック
’’
””
‘’
眼力チェック
903889 (ワッチョイ 232c-+J45)
2019/12/06(金) 23:26:41.64ID:IktivxOB0 1-liner を、" " で囲むと「$ \ ` !」などの機能が働くので、
それよりも強いエスケープである、' ' で囲む
' ' で、すべての特殊文字を無効化して、シェルに解釈させないため
それよりも強いエスケープである、' ' で囲む
' ' で、すべての特殊文字を無効化して、シェルに解釈させないため
904デフォルトの名無しさん (ワイーワ2 FF93-MVf8)
2019/12/07(土) 14:11:49.26ID:qPdUR/SgF >>902
``
``
905デフォルトの名無しさん (ワッチョイ 8333-lxm3)
2019/12/07(土) 16:01:04.83ID:9WC+Jh540 >>903
それが結局、シェルによるっつー話やろ。
それが結局、シェルによるっつー話やろ。
906デフォルトの名無しさん (ワッチョイ 232c-+J45)
2019/12/09(月) 06:17:52.14ID:+FpDkG8n0 rdoc の説明を読んでるけど、難しい
皆、自作ライブラリをrdoc用に書いてるの?
皆、自作ライブラリをrdoc用に書いてるの?
907906 (ワッチョイ 232c-+J45)
2019/12/09(月) 06:52:14.04ID:+FpDkG8n0 RDoc よりも、YARD の方が簡単かな?
908デフォルトの名無しさん (ワッチョイ 62ad-I3wE)
2019/12/17(火) 13:35:16.51ID:ObjwLX/w0 配列に0から任意の整数を重複なく格納するメソッドを作ってみたんですが、戻り値がnillになってしまいます
どうすれば解決できますか?
def random_sort(array, n)
array = []
judgement_array = [false]
i = 0
while(i < n + 1)
array[i] = rand(n + 1)
k = 0
while(k < i)
judgement_array[k] = array[k] == array[i]
k += 1
end
next if judgement_array.any?
i += 1
end
end
array1 = []
p random_sort(array1, 9)
どうすれば解決できますか?
def random_sort(array, n)
array = []
judgement_array = [false]
i = 0
while(i < n + 1)
array[i] = rand(n + 1)
k = 0
while(k < i)
judgement_array[k] = array[k] == array[i]
k += 1
end
next if judgement_array.any?
i += 1
end
end
array1 = []
p random_sort(array1, 9)
909デフォルトの名無しさん (アウウィフ FF3b-uKDx)
2019/12/17(火) 13:41:59.97ID:rApV4krMF shuffle! shuffle!
910デフォルトの名無しさん (ワッチョイ 62ad-I3wE)
2019/12/17(火) 14:23:19.78ID:ObjwLX/w0911デフォルトの名無しさん (オイコラミネオ MM67-tAOx)
2019/12/17(火) 16:20:58.58ID:kLn+0u7yM ズコー
912デフォルトの名無しさん (ワッチョイ c37d-tOoD)
2019/12/17(火) 16:47:49.10ID:o3ShK0md0 p [*0..9].shuffle
913デフォルトの名無しさん (ワッチョイ efd2-LrQS)
2019/12/18(水) 17:27:34.36ID:JutxhN8f0 digitsメソッドが返す配列を元の数値に戻すには
自分で計算するしかないのかな
何かついになるメソッドがないかと
探してみたけどわからなかった
自分で計算するしかないのかな
何かついになるメソッドがないかと
探してみたけどわからなかった
914デフォルトの名無しさん (オッペケ Srdf-f14Z)
2019/12/18(水) 22:00:34.91ID:LSlKy/12r ないね
p [1, 1, 0, 1, 'hoge'].to_i(2) # => 11
みたいなString#のあってもいいよね
p [1, 1, 0, 1, 'hoge'].to_i(2) # => 11
みたいなString#のあってもいいよね
915デフォルトの名無しさん (オッペケ Srdf-f14Z)
2019/12/18(水) 22:01:10.07ID:LSlKy/12r 誤爆
みたいなString#to_iに相当するメソッドがあってもいいよね
みたいなString#to_iに相当するメソッドがあってもいいよね
916デフォルトの名無しさん (ワッチョイ e22c-3siJ)
2019/12/18(水) 23:03:33.03ID:j3JURanB0 これの逆を考えるか
123.to_s.chars.map(&:to_i).reverse
123.digits
#=> [3, 2, 1]
他には、Array#pack、String#unpack とか
123.to_s.chars.map(&:to_i).reverse
123.digits
#=> [3, 2, 1]
他には、Array#pack、String#unpack とか
917デフォルトの名無しさん (ワッチョイ a201-VrMI)
2019/12/18(水) 23:17:07.42ID:N9ghlCsW0 自分で計算というか.reverse.join.to_iすればいいよね?
918デフォルトの名無しさん (ワッチョイ bf8c-c09P)
2019/12/19(木) 01:41:56.39ID:GB4b8bgW0 見た目シンプルだけど一旦文字列を経るのがモヤっとする
かといってreverse_each.inject(0){|v,d|v*10+d}とかやると何やってるのか分かりづらいしなあ
かといってreverse_each.inject(0){|v,d|v*10+d}とかやると何やってるのか分かりづらいしなあ
919デフォルトの名無しさん (ワッチョイ 9fa5-/xyN)
2019/12/19(木) 11:46:12.90ID:rpR+KBR90 >>914
Math::BaseCalc - Convert numbers between various bases - metacpan.org
https://metacpan.org/pod/Math::BaseCalc
昔探したがperlにはあるがrubyにはないtpyhonにも無い
なんで無いのか分からないほど便利な関数なのになんで無いんだ?
Math::BaseCalc - Convert numbers between various bases - metacpan.org
https://metacpan.org/pod/Math::BaseCalc
昔探したがperlにはあるがrubyにはないtpyhonにも無い
なんで無いのか分からないほど便利な関数なのになんで無いんだ?
920デフォルトの名無しさん (ワイーワ2 FFdf-yOET)
2019/12/19(木) 12:17:12.46ID:+cpLTGtZF tpyhonは知らんけどpythonにはnumpyでpackbitsがあるんやで
921デフォルトの名無しさん (ワッチョイ 9f01-pdcM)
2019/12/19(木) 14:26:11.65ID:snKgfw1x0922デフォルトの名無しさん (ワッチョイ d714-TY+5)
2019/12/19(木) 18:11:13.04ID:4hkxYlHE0 こういう基本的なものは、言語そのものに内蔵しないといけない
gem作っても流行らない
gem作っても流行らない
923デフォルトの名無しさん (オッペケ Srcb-SJkM)
2019/12/19(木) 19:30:39.32ID:xlnTqgd4r だな
これだけなら自分で書いた方が速いもんね
これだけなら自分で書いた方が速いもんね
924デフォルトの名無しさん (ワッチョイ 1f33-FZ5D)
2019/12/19(木) 19:39:22.26ID:NWHUALIi0 基本的でもないやろ。
925デフォルトの名無しさん (ワッチョイ 9f01-pdcM)
2019/12/19(木) 21:39:52.45ID:snKgfw1x0 2/8/10/16進数の変換は基本的だろうけど
それはInteger#to_s, String#to_i, Integer()で十分
遊びで作るようなプログラムを除くと
それ以外で必要なのってBase64くらいでそれは別途用意されてる
それはInteger#to_s, String#to_i, Integer()で十分
遊びで作るようなプログラムを除くと
それ以外で必要なのってBase64くらいでそれは別途用意されてる
926デフォルトの名無しさん (ワッチョイ bf7d-e4Q/)
2019/12/20(金) 00:26:43.84ID:Eyw3tJ4L0 digits/undigits 作ってみた (baseに配列が使える)
https://ideone.com/QJgsBR
[1, 1, 0, 1, 'hoge'].to_i(2) # => 11
123456789.to_i([24,60,60]) #=> [9,33,21,1428]
[9,33,21,1428].undigits([24,60,60]) #=> 123456789
https://ideone.com/QJgsBR
[1, 1, 0, 1, 'hoge'].to_i(2) # => 11
123456789.to_i([24,60,60]) #=> [9,33,21,1428]
[9,33,21,1428].undigits([24,60,60]) #=> 123456789
927926 (ワッチョイ bf7d-e4Q/)
2019/12/21(土) 23:51:56.40ID:u8N2YXrT0 digits/undigits 拡張してみた (baseをbit数に出来る,負の数で符号拡張)
https://ideone.com/xvXVfv
0b0011_100_01.my_digits([4,3,2],1) #=> [1,4,3]
[1,4,3].undigits([4,3,2],1).to_s(2) #=> "1110001" -> 11_100_01
0b0011_100_01.my_digits([-4,-3,-2],1) #=> [1,-4,3] (-4:符号拡張)
[1,-4,3].undigits([4,3,2],1).to_s(2) #=> "1110001"
https://ideone.com/xvXVfv
0b0011_100_01.my_digits([4,3,2],1) #=> [1,4,3]
[1,4,3].undigits([4,3,2],1).to_s(2) #=> "1110001" -> 11_100_01
0b0011_100_01.my_digits([-4,-3,-2],1) #=> [1,-4,3] (-4:符号拡張)
[1,-4,3].undigits([4,3,2],1).to_s(2) #=> "1110001"
928デフォルトの名無しさん (ワッチョイ d714-TY+5)
2019/12/22(日) 00:15:06.50ID:O05uH48x0 さて問題です。>>926-927を説明なしに理解できますか?
929デフォルトの名無しさん (ワイーワ2 FFdf-hPjh)
2019/12/22(日) 13:06:26.92ID:6Us+wzVLF 質問です
Ruby on Rails で SQLite は使えますか?
使えるならどうやれば良いですか?
Ruby on Rails で SQLite は使えますか?
使えるならどうやれば良いですか?
930デフォルトの名無しさん (アウアウウー Sa5b-On3P)
2019/12/22(日) 13:15:06.84ID:dEobfqv4aレス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 高市総理で期待してるかもしれないけど、自民党はもうダメだから、超党派の勢力が出てくるみたいだぞ。 [134367759]
- 自閉症が「んなっしょい」と連呼するお🏡
- トヨタ、反日だった。2027年に中国にレクサスのEV工場を設立。高市 [931948549]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
