プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 61
https://mevius.5ch.net/test/read.cgi/tech/1503644351/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
探検
Ruby 初心者スレッド Part 62
レス数が1000を超えています。これ以上書き込みはできません。
2017/11/24(金) 00:35:29.31ID:rLZHdQ3Q
913デフォルトの名無しさん
2018/04/08(日) 15:16:13.15ID:nkM5b3tX Rubyは主流じゃない
914デフォルトの名無しさん
2018/04/08(日) 16:26:08.93ID:ikNNlzZg PHPが下火でRubyが主流がねーわ。
人気を捏造しないと好きな言語も恥ずかしくて使えないのか軟弱者め。
たとえ世界の全てが使わなくても自分だけはRubyを使い続けるという気概を持てよ情けない奴
人気を捏造しないと好きな言語も恥ずかしくて使えないのか軟弱者め。
たとえ世界の全てが使わなくても自分だけはRubyを使い続けるという気概を持てよ情けない奴
915デフォルトの名無しさん
2018/04/08(日) 17:41:41.41ID:mE+8rAwy 2ch/5chでは、日本人が作ったというだけで、だめ扱いする書き込みがあるから
注意すべし。どこかぞの国から書き込まれている事がある。
注意すべし。どこかぞの国から書き込まれている事がある。
916デフォルトの名無しさん
2018/04/09(月) 11:49:58.15ID:M/BmQ9Z1 以下の半角空白区切りの行から、稼働時間を求めるには、どうやるの?
夜、24:00 以上の数字もあります
2018/09/09 09:45-24:00
2018/10/10 23:00-27:15
夜、24:00 以上の数字もあります
2018/09/09 09:45-24:00
2018/10/10 23:00-27:15
917デフォルトの名無しさん
2018/04/09(月) 12:21:03.03ID:2h6IFanV >>916
date = "2018/09/09 09:45-24:00"
m = date.match(/(\d\d):(\d\d)-(\d\d):(\d\d)/)[1, 4].map(&:to_i)
min = (m[2] - m[0])*60 + m[3] - m[1]
p "%d:%d" % min.divmod(60) # => "14:15"
date = "2018/09/09 09:45-24:00"
m = date.match(/(\d\d):(\d\d)-(\d\d):(\d\d)/)[1, 4].map(&:to_i)
min = (m[2] - m[0])*60 + m[3] - m[1]
p "%d:%d" % min.divmod(60) # => "14:15"
918916
2018/04/09(月) 13:15:44.73ID:M/BmQ9Z1 ありがとう
Date, DateTime, Time などの形で、引算で求められませんか?
Date, DateTime, Time などの形で、引算で求められませんか?
919デフォルトの名無しさん
2018/04/09(月) 13:42:09.51ID:2h6IFanV date = "2018/09/09 09:45-24:00"
m = date.match(%r!\A(?<year>\d{4})/(?<month>\d\d)/(?<day>\d\d) (?<begh>\d\d):(?<begm>\d\d)-(?<finh>\d\d):(?<finm>\d\d)\z!)
beg = Time.new(m[:year], m[:month], m[:day], m[:begh], m[:begm])
fin = Time.new(m[:year], m[:month], m[:day], m[:finh], m[:finm])
min = (fin - beg)/60
p "%d:%d" % min.divmod(60) # => "14:15"
m = date.match(%r!\A(?<year>\d{4})/(?<month>\d\d)/(?<day>\d\d) (?<begh>\d\d):(?<begm>\d\d)-(?<finh>\d\d):(?<finm>\d\d)\z!)
beg = Time.new(m[:year], m[:month], m[:day], m[:begh], m[:begm])
fin = Time.new(m[:year], m[:month], m[:day], m[:finh], m[:finm])
min = (fin - beg)/60
p "%d:%d" % min.divmod(60) # => "14:15"
920916
2018/04/09(月) 14:17:26.06ID:M/BmQ9Z1 ありがとう
24:00 では、Time インスタンスを作れるけど、
27:15 では、エラーで作れなかった
回避策を考えてみます
24:00 では、Time インスタンスを作れるけど、
27:15 では、エラーで作れなかった
回避策を考えてみます
921デフォルトの名無しさん
2018/04/09(月) 14:23:48.18ID:GdkyYm9A pythonスレにマルチするのやめれ
922デフォルトの名無しさん
2018/04/09(月) 14:39:12.15ID:2h6IFanV >>920
date = [
"2018/09/09 09:45-24:00",
"2018/10/10 23:00-27:15"
]
begfin = lambda do |m|
d = Time.new(m[:year], m[:month], m[:day])
[[m[:begh], m[:begm]], [m[:finh], m[:finm]]].map { |hour, min|
3600 * hour.to_i + 60 * min.to_i
}
end
date.each do |d|
m = d.match(%r!\A(?<year>\d{4})/(?<month>\d\d)/(?<day>\d\d) (?<begh>\d\d):(?<begm>\d\d)-(?<finh>\d\d):(?<finm>\d\d)\z!)
beg, fin = begfin[m]
min = (fin - beg)/60
puts "%d:%d" % min.divmod(60) # => "14:15"
end
# =>
14:15
4:15
ってマルチかい
date = [
"2018/09/09 09:45-24:00",
"2018/10/10 23:00-27:15"
]
begfin = lambda do |m|
d = Time.new(m[:year], m[:month], m[:day])
[[m[:begh], m[:begm]], [m[:finh], m[:finm]]].map { |hour, min|
3600 * hour.to_i + 60 * min.to_i
}
end
date.each do |d|
m = d.match(%r!\A(?<year>\d{4})/(?<month>\d\d)/(?<day>\d\d) (?<begh>\d\d):(?<begm>\d\d)-(?<finh>\d\d):(?<finm>\d\d)\z!)
beg, fin = begfin[m]
min = (fin - beg)/60
puts "%d:%d" % min.divmod(60) # => "14:15"
end
# =>
14:15
4:15
ってマルチかい
923916
2018/04/09(月) 15:24:13.18ID:M/BmQ9Z1 python スレの書き込みとは別人。
ID も異なるはず
その書き込みを見て、Ruby ではどうプログラミングするべきか、考えてみたが難しかった
ID も異なるはず
その書き込みを見て、Ruby ではどうプログラミングするべきか、考えてみたが難しかった
924デフォルトの名無しさん
2018/04/09(月) 15:46:38.36ID:aj6Oy7j8925916
2018/04/09(月) 16:17:52.99ID:M/BmQ9Z1 d = Time.new(m[:year], m[:month], m[:day])
d_next = d + 60 * 60 * 24
24時以上の場合は、hour から24を引いて、1日足すけど、これはややこしい
d_next = d + 60 * 60 * 24
24時以上の場合は、hour から24を引いて、1日足すけど、これはややこしい
926デフォルトの名無しさん
2018/04/09(月) 21:36:13.46ID:0VIzl/J9 クソコードばっかりだなw
927デフォルトの名無しさん
2018/04/09(月) 22:04:45.24ID:cXk52I1j 25以上の数字の入力を許している次点でクソコード。
928916
2018/04/10(火) 00:28:34.01ID:oEQHPFsL 表計算ソフトなどで、時間管理していると、こういう表記もある。
2018/10/10 23:00-27:15
上を一旦、変換して
2018/10/10 23:00-24:00
2018/10/11 00:00-03:15
これも、1日足すのも結構、難しい。
Date, DateTime に変換してから、1日足さないと、月末・うるう年などで、バグる
>>925
>d_next = d + 60 * 60 * 24
これで1日足すのも、うるう秒の時が、どうなるか不安
2018/10/10 23:00-27:15
上を一旦、変換して
2018/10/10 23:00-24:00
2018/10/11 00:00-03:15
これも、1日足すのも結構、難しい。
Date, DateTime に変換してから、1日足さないと、月末・うるう年などで、バグる
>>925
>d_next = d + 60 * 60 * 24
これで1日足すのも、うるう秒の時が、どうなるか不安
929デフォルトの名無しさん
2018/04/10(火) 00:34:12.01ID:PJbB3F/q 時刻じゃなくて時間を表すクラスが欲しくなるな
930デフォルトの名無しさん
2018/04/10(火) 01:03:05.44ID:TtMX4ea2 24,60,60進法による演算ということね
931デフォルトの名無しさん
2018/04/10(火) 03:53:20.97ID:gEpzqPRo 時間は最重要項目なんだから
完璧なライブラリとか無いのかな?
完璧なライブラリとか無いのかな?
932デフォルトの名無しさん
2018/04/10(火) 08:52:25.96ID:OCO/nUgk RubyのDateTimeは充分以上だよ。
日付を増減するときは、それ時分秒の値はさわらずに、めんどくさくても日の値を変更すればいい。
日付を増減するときは、それ時分秒の値はさわらずに、めんどくさくても日の値を変更すればいい。
933デフォルトの名無しさん
2018/04/10(火) 08:58:36.32ID:wPoJQnkn じゃあエポックタイムで十分だな。めんどくさくても計算すればいい。
934デフォルトの名無しさん
2018/04/10(火) 09:31:38.98ID:Pta2sQP4 DateTimeは完璧なライブラリだから24時以降はRangeErrorになる
完璧な仕様だ
完璧な仕様だ
935デフォルトの名無しさん
2018/04/10(火) 09:55:10.36ID:wPoJQnkn rubyの不便はいい不便
936デフォルトの名無しさん
2018/04/10(火) 17:47:37.08ID:yDOt+2aU rubyに不便なんてないぞ
何を言ってんだ
何を言ってんだ
937デフォルトの名無しさん
2018/04/10(火) 18:25:57.56ID:6CkCb20Q えーっ、そんなこといちいち書かなきゃいけないのw?rubyなら組込メソッドで一発だよwww
「時間は?」
____
/ \
/ ─ ─\
/ (●) (●) \ 必要ない。計算すればいい
| (__人__) |
\ ` ⌒´ /
,,.....イ.ヽヽ、___ ーーノ゙-、.
: | '; \_____ ノ.| ヽ i
| \/゙(__)\,| i |
> ヽ. ハ | ||
「時間は?」
____
/ \
/ ─ ─\
/ (●) (●) \ 必要ない。計算すればいい
| (__人__) |
\ ` ⌒´ /
,,.....イ.ヽヽ、___ ーーノ゙-、.
: | '; \_____ ノ.| ヽ i
| \/゙(__)\,| i |
> ヽ. ハ | ||
938デフォルトの名無しさん
2018/04/10(火) 18:40:12.63ID:+90qRIYS RubyはUNIX文化だから、時刻はUNIXタイムスタンプを生で扱うのが基本
MRIのコアの連中自身が使ってないから改善されないんだろう
MRIのコアの連中自身が使ってないから改善されないんだろう
939デフォルトの名無しさん
2018/04/11(水) 00:12:29.76ID:5V3NvSPI rubyなら日本の休日祝日にも対応してるはず
940デフォルトの名無しさん
2018/04/11(水) 07:23:56.00ID:jfPKheqL941デフォルトの名無しさん
2018/04/13(金) 22:47:53.01ID:Hxh7hpmx Windowsの文字エンコードはどうなってんだよ呪われてるな。
942デフォルトの名無しさん
2018/04/13(金) 22:56:58.03ID:AzlDcdDn Windowsの文字エンコードはLinux/Unixよりも対応の幅が広い。
まずNT系は古くからUnicode(UTF-16)に対応
Unicode対応アプリであれば全世界で共通に使える
それでいて9x系との互換性のために、Unicodeに対応してないアプリは
それぞれの国のエンコード設定が使用される
その設定はコントロールパネルから変更できるのだが
その変更できる文字コードがLinux/Unixよりも遥かに多い
しかもANSIと互換性がない文字コードでも使用可能
まずNT系は古くからUnicode(UTF-16)に対応
Unicode対応アプリであれば全世界で共通に使える
それでいて9x系との互換性のために、Unicodeに対応してないアプリは
それぞれの国のエンコード設定が使用される
その設定はコントロールパネルから変更できるのだが
その変更できる文字コードがLinux/Unixよりも遥かに多い
しかもANSIと互換性がない文字コードでも使用可能
943デフォルトの名無しさん
2018/04/14(土) 03:27:42.04ID:lnTeyTPJ chcp 65001 バグ治してから言え
944デフォルトの名無しさん
2018/04/14(土) 03:48:53.88ID:6pCy057f945デフォルトの名無しさん
2018/04/15(日) 21:31:41.02ID:r1bqrkta OneDriveでコード管理していたのだけど、
久しぶりにコーディング(エディタはVSCode)してOneDrive上のRubyファイルを実行しようとしたら
[BUG] Segmentation fault
というエラーがでて、
puts 'A'
というコードさえ実行出来なくなっていた。
ローカルハードディスクに落としたら実行出来たんだけどどうしたものだろう。
久しぶりにコーディング(エディタはVSCode)してOneDrive上のRubyファイルを実行しようとしたら
[BUG] Segmentation fault
というエラーがでて、
puts 'A'
というコードさえ実行出来なくなっていた。
ローカルハードディスクに落としたら実行出来たんだけどどうしたものだろう。
946デフォルトの名無しさん
2018/04/15(日) 21:49:45.43ID:0NMpmKAm UTF-16とかじゃねーの?
947デフォルトの名無しさん
2018/04/15(日) 22:51:17.13ID:MhEmdnyU そっか。
ありがとうございます。
別にOneDriveをストレージにしても問題ないということだね。
試行錯誤してみます。
ありがとうございます。
別にOneDriveをストレージにしても問題ないということだね。
試行錯誤してみます。
948デフォルトの名無しさん
2018/04/15(日) 23:30:04.01ID:xpwShDOv WebDAVか
949945
2018/04/16(月) 07:27:54.33ID:1U+gAd+J GoogleDrive上のRubyファイルは動いた。
何か仕様変更があったのかしら。
ともかく、現状、GoogleDriveでコード管理することにします。
何か仕様変更があったのかしら。
ともかく、現状、GoogleDriveでコード管理することにします。
950デフォルトの名無しさん
2018/04/16(月) 08:55:29.96ID:PnJWHI/9 なぜGitを使わないのか
BitBucketなら無料でプライベートリポジトリ持てるぞ
BitBucketなら無料でプライベートリポジトリ持てるぞ
951デフォルトの名無しさん
2018/04/16(月) 09:47:03.26ID:75OnkAat Azureで自前のgitとSSH鯖で桶
952デフォルトの名無しさん
2018/04/16(月) 09:53:08.11ID:PnJWHI/9 AzureならGitはVSTS使うのが普通だろ
AWSならCodeCommit使えば完全無料だ
今時たかがGitのホスティングごときにサーバー運用の手間かけるとか頭悪すぎ
AWSならCodeCommit使えば完全無料だ
今時たかがGitのホスティングごときにサーバー運用の手間かけるとか頭悪すぎ
953デフォルトの名無しさん
2018/04/16(月) 10:08:13.69ID:pZQ1SPWZ じゃあ、これも
Google Cloud Platform でホストされている複数のプライベート Git レポジトリ
https://cloud.google.com/source-repositories/?hl=ja
5ユーザー、50GBストレージ、50GB通信量(下り)まで無料だから
個人用途なら無料で使えそうだね
Google Cloud Platform でホストされている複数のプライベート Git レポジトリ
https://cloud.google.com/source-repositories/?hl=ja
5ユーザー、50GBストレージ、50GB通信量(下り)まで無料だから
個人用途なら無料で使えそうだね
954デフォルトの名無しさん
2018/04/16(月) 10:10:23.68ID:pZQ1SPWZ > AWSならCodeCommit使えば完全無料だ
AWSの方は完全無料なのか?って思ったら
やっぱり無料制限あるじゃんw
だいたい一緒みたいね
https://aws.amazon.com/jp/codecommit/pricing/
最初の 5 人のアクティブユーザー
50 GB のストレージ/月
10,000 回の Git リクエスト/月
AWSの方は完全無料なのか?って思ったら
やっぱり無料制限あるじゃんw
だいたい一緒みたいね
https://aws.amazon.com/jp/codecommit/pricing/
最初の 5 人のアクティブユーザー
50 GB のストレージ/月
10,000 回の Git リクエスト/月
955デフォルトの名無しさん
2018/04/16(月) 10:31:35.04ID:X9HGFo0K956デフォルトの名無しさん
2018/04/16(月) 10:33:36.56ID:X9HGFo0K いやコミットじゃなくてプッシュやフェッチか
人間の手動操作なら事実上無制限だな
人間の手動操作なら事実上無制限だな
957デフォルトの名無しさん
2018/04/16(月) 10:40:27.16ID:pZQ1SPWZ >>956
1 push 1リクエストとは限らんぞ、どういう計算しているか知らんけど、
例えば1 pushに含まれる1ファイルが1リクエストになってるかもしれない
そう考えるとGoogleの方がわかりやすいかもね。
1 push 1リクエストとは限らんぞ、どういう計算しているか知らんけど、
例えば1 pushに含まれる1ファイルが1リクエストになってるかもしれない
そう考えるとGoogleの方がわかりやすいかもね。
958デフォルトの名無しさん
2018/04/16(月) 10:45:48.83ID:pVewTO76959デフォルトの名無しさん
2018/04/16(月) 15:08:56.12ID:lu0LQeBN >>960
踏んだらすれたてよろしく
踏んだらすれたてよろしく
960デフォルトの名無しさん
2018/04/16(月) 15:17:41.22ID:r1/f7Sud うんこ
961デフォルトの名無しさん
2018/04/16(月) 15:20:39.48ID:pZQ1SPWZ ↑うんこ踏んだ奴
962デフォルトの名無しさん
2018/04/16(月) 16:18:05.44ID:ZFIHRn8x うんこってrubyのこと?
963デフォルトの名無しさん
2018/04/16(月) 17:10:36.81ID:tsXOlUfW >>952
gitだけしか使わないわけないだろ
gitだけしか使わないわけないだろ
964デフォルトの名無しさん
2018/04/16(月) 17:25:19.50ID:pZQ1SPWZ965デフォルトの名無しさん
2018/04/16(月) 18:47:04.65ID:PnJWHI/9966デフォルトの名無しさん
2018/04/17(火) 03:27:09.27ID:QMWYQNUe スジはなめるためにある
967デフォルトの名無しさん
2018/04/17(火) 17:49:09.11ID:GYuBFjQi968デフォルトの名無しさん
2018/04/17(火) 23:55:53.10ID:AHLVIZ+p >>965
なんで筋が悪いと思うんだ?
なんで筋が悪いと思うんだ?
969デフォルトの名無しさん
2018/04/18(水) 00:43:52.27ID:lRwbg5zI >>967
おつ
おつ
970デフォルトの名無しさん
2018/04/18(水) 01:12:53.91ID:6DBcsPYG >>968
逆に聞くが、あえてGit自前運用かつサーバー相乗りという選択肢を選ぶ積極的な理由が何か一つでもあるの?
コストが高い、信頼性が低い、運用が面倒臭い、便利なWebインターフェイスもない、CIなど外部との連携もしづらい
また、サーバーに複数のサービスを同居させるのは、運用が面倒になるので一般的には避ける方向で検討するのが基本だ
オンプレならハードのコストやハード運用も勘定に入れた結果そうせざるを得ない場合も多いが、
クラウドなら安く小さいサーバーを沢山持ててハード運用の手間もないから問題にならない
逆に聞くが、あえてGit自前運用かつサーバー相乗りという選択肢を選ぶ積極的な理由が何か一つでもあるの?
コストが高い、信頼性が低い、運用が面倒臭い、便利なWebインターフェイスもない、CIなど外部との連携もしづらい
また、サーバーに複数のサービスを同居させるのは、運用が面倒になるので一般的には避ける方向で検討するのが基本だ
オンプレならハードのコストやハード運用も勘定に入れた結果そうせざるを得ない場合も多いが、
クラウドなら安く小さいサーバーを沢山持ててハード運用の手間もないから問題にならない
971デフォルトの名無しさん
2018/04/18(水) 01:21:24.00ID:UfQjex1N 関数の取扱いが非常に筋の悪い言語があるらしい。
何かしらのメソッドとして表したいという、初期設計時のオナニーがこの事態を招いた。
block、proc、lambdaと笑っちゃうくらいぐっちゃぐちゃ。
どういうときにどの形式使えばいいのか、変換するルールは…
はい、お約束。全部覚えましょうw
一事が万事この調子だよなw
そのうち「3+5を計算する機能」レベルで組み込まれてしかも数通りバリエーションが仕込まれそうw
宣伝文句は「えーっ、3+5計算するのにそんなこと書かなきゃいけないの?wそれrubyなら組み込みの呼び出すだけで一発だよ?ww」
何かしらのメソッドとして表したいという、初期設計時のオナニーがこの事態を招いた。
block、proc、lambdaと笑っちゃうくらいぐっちゃぐちゃ。
どういうときにどの形式使えばいいのか、変換するルールは…
はい、お約束。全部覚えましょうw
一事が万事この調子だよなw
そのうち「3+5を計算する機能」レベルで組み込まれてしかも数通りバリエーションが仕込まれそうw
宣伝文句は「えーっ、3+5計算するのにそんなこと書かなきゃいけないの?wそれrubyなら組み込みの呼び出すだけで一発だよ?ww」
972デフォルトの名無しさん
2018/04/18(水) 02:03:46.12ID:1MQV5vND >>970
git使うだけで面倒とかどれだけ初心者想定してんだよ
うちはredmineと連携させてるからwebからも見れるよ
バックアップも他と一緒にとってるから楽よ
別にホストがクラウドでないなんて言ってないし
git使うだけで面倒とかどれだけ初心者想定してんだよ
うちはredmineと連携させてるからwebからも見れるよ
バックアップも他と一緒にとってるから楽よ
別にホストがクラウドでないなんて言ってないし
973デフォルトの名無しさん
2018/04/18(水) 02:08:25.73ID:1MQV5vND サーバーが、か
974デフォルトの名無しさん
2018/04/27(金) 16:47:32.90ID:vghG7n/V ぼくがRubyを使う理由
http://www.eimei4coding.blog/entry/2017/07/17/164923
http://www.eimei4coding.blog/entry/2017/07/17/164923
975デフォルトの名無しさん
2018/05/03(木) 09:37:28.31ID:vrPjbtA8 なんかbundlerがエラー吐くようになってしまって困っています。
対応策は知りませんか?
Traceback (most recent call last):
2: from /usr/local/bin/bundler:23:in `<main>'
1: from /usr/local/lib/site_ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/usr/local/lib/site_ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundler (Gem::GemNotFoundException)
対応策は知りませんか?
Traceback (most recent call last):
2: from /usr/local/bin/bundler:23:in `<main>'
1: from /usr/local/lib/site_ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/usr/local/lib/site_ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundler (Gem::GemNotFoundException)
976デフォルトの名無しさん
2018/05/03(木) 12:26:03.69ID:vrPjbtA8 bundler -v
も動かないです。
も動かないです。
977デフォルトの名無しさん
2018/05/03(木) 14:39:04.35ID:M52LYEAa コンバトラーV
978デフォルトの名無しさん
2018/05/03(木) 15:03:53.22ID:bkPu29QU super electromagnetic yoyo
979デフォルトの名無しさん
2018/05/03(木) 19:04:14.74ID:9RHeN1ko sudo gem install bundler
980デフォルトの名無しさん
2018/05/04(金) 16:02:47.13ID:FNtgJ1dj981デフォルトの名無しさん
2018/05/04(金) 16:16:59.88ID:YzOLlJfQ 今主流言語と言えるのはJavaScriptのみだからね
982デフォルトの名無しさん
2018/05/04(金) 16:24:40.64ID:plo/RuVs google、ms・・・流れ込んでる資金量・人員数が違う
あれだけ人・金かけられたらどんなクソ言語でも主流になる
そうさせたのはブラウザで唯一実行可能というアドバンテージだったがそういう意味では今後はrustやgoにも可能性はある
rubyはそれもない
あれだけ人・金かけられたらどんなクソ言語でも主流になる
そうさせたのはブラウザで唯一実行可能というアドバンテージだったがそういう意味では今後はrustやgoにも可能性はある
rubyはそれもない
983デフォルトの名無しさん
2018/05/04(金) 17:01:30.15ID:HDydWALv >>982
Dartの悪口はそこまでだ
Dartの悪口はそこまでだ
984デフォルトの名無しさん
2018/05/08(火) 04:34:33.88ID:ws+EcsEk @lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
>>> [fib(n) for n in range(16)]
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]
Ruby には、上のPython のような、デコレーターは無いの?
上はフィボナッチだが、引数・答えを、メモ化するような関数はある?
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
>>> [fib(n) for n in range(16)]
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]
Ruby には、上のPython のような、デコレーターは無いの?
上はフィボナッチだが、引数・答えを、メモ化するような関数はある?
985デフォルトの名無しさん
2018/05/08(火) 07:23:01.16ID:6Z/Mi3tg986デフォルトの名無しさん
2018/05/08(火) 07:44:23.18ID:6Z/Mi3tg987デフォルトの名無しさん
2018/05/08(火) 09:01:44.06ID:ws+EcsEk class A
def initialize (a = 5)
@a = a
end
p (0..@a)
end
p a = A.new
>p (0..@a)
@a が初期化されていないのか、エラーになる
クラス内の地の文は、A.new・initializeよりも、先に実行されてしまうのか?
>>985-986
ありがとう
def initialize (a = 5)
@a = a
end
p (0..@a)
end
p a = A.new
>p (0..@a)
@a が初期化されていないのか、エラーになる
クラス内の地の文は、A.new・initializeよりも、先に実行されてしまうのか?
>>985-986
ありがとう
988デフォルトの名無しさん
2018/05/08(火) 09:09:56.84ID:XzXTdruW >>987
その通り。具体的にはファイルを読み込んだ時に実行されるよ
その通り。具体的にはファイルを読み込んだ時に実行されるよ
989デフォルトの名無しさん
2018/05/08(火) 12:18:20.40ID:XzXTdruW スレたてられなかったから誰か代わりに建ててくれないか
>>987
ついでだけどその書き方だと p (0..@a) の @a は A のインスタンスのインスタンス変数じゃなくて、 A という『Class クラスのインスタンス』のインスタンス変数だから注意ね
>>987
ついでだけどその書き方だと p (0..@a) の @a は A のインスタンスのインスタンス変数じゃなくて、 A という『Class クラスのインスタンス』のインスタンス変数だから注意ね
990デフォルトの名無しさん
2018/05/08(火) 14:05:39.62ID:XzXTdruW と思ったら結構前に次スレ立ってたんだね……重複しなくてよかった
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
991デフォルトの名無しさん
2018/05/08(火) 22:51:57.39ID:FvmTtIIh992987
2018/05/08(火) 23:24:38.69ID:ws+EcsEk class A
def initialize (a = 5)
@a = a
puts "init : #{@a.class}" # 1
end
puts @a.class # 2
end
p a = A.new
p b = A.new(2)
出力結果
NilClass
init : Integer
#<A:0x00000000050dc230 @a=5>
init : Integer
#<A:0x00000000050dc078 @a=2>
実行前のファイル読み込み時に、1回だけ、#2 puts が呼ばれて、
initialize内の#1 puts は、new 毎に呼ばれる
def initialize (a = 5)
@a = a
puts "init : #{@a.class}" # 1
end
puts @a.class # 2
end
p a = A.new
p b = A.new(2)
出力結果
NilClass
init : Integer
#<A:0x00000000050dc230 @a=5>
init : Integer
#<A:0x00000000050dc078 @a=2>
実行前のファイル読み込み時に、1回だけ、#2 puts が呼ばれて、
initialize内の#1 puts は、new 毎に呼ばれる
993デフォルトの名無しさん
2018/05/08(火) 23:28:50.06ID:XzXTdruW 当たり前だと思うのだが、何が言いたいのか不明
994デフォルトの名無しさん
2018/05/09(水) 00:19:25.75ID:p+TFQEkm ファイル内の空行数を数える
ruby -e "puts File.read(\'test22_data.txt\').scan(/^$/).length"
ruby -e 'puts File.read(\"test22_data.txt\").scan(/^$/).length'
Windows PowerShell で、1-liner を実行する際、
クォーテーション内に、クォーテーションがある時に、\ でエスケープしないと、
PowerShell が、内側のクォーテーションを除去してしまって、エラーになるけど、
皆こういう場合、どうしてる?
ruby -e "puts File.read(\'test22_data.txt\').scan(/^$/).length"
ruby -e 'puts File.read(\"test22_data.txt\").scan(/^$/).length'
Windows PowerShell で、1-liner を実行する際、
クォーテーション内に、クォーテーションがある時に、\ でエスケープしないと、
PowerShell が、内側のクォーテーションを除去してしまって、エラーになるけど、
皆こういう場合、どうしてる?
995デフォルトの名無しさん
2018/05/09(水) 00:37:53.06ID:aySw10Ot WindowsでRubyは苦行
996デフォルトの名無しさん
2018/05/09(水) 02:06:31.30ID:VltSHCvQ >>994
%qクォートを使う。
%qクォートを使う。
997デフォルトの名無しさん
2018/05/09(水) 08:36:03.80ID:DadRmw9B >>995
+1
+1
998デフォルトの名無しさん
2018/05/09(水) 08:36:55.27ID:DadRmw9B >>996
ほんそれ
ほんそれ
999デフォルトの名無しさん
2018/05/09(水) 08:37:56.36ID:DadRmw9B >>994
1-liner にこだわるのはなぜ
1-liner にこだわるのはなぜ
1000デフォルトの名無しさん
2018/05/09(水) 08:38:27.55ID:DadRmw9B Ruby 初心者スレッド Part 63
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 166日 8時間 2分 58秒
新しいスレッドを立ててください。
life time: 166日 8時間 2分 58秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 中国国営メディア「沖縄は日本ではない」…★7 [BFU★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 高市早苗、岸田政権(当時)に「台湾有事は日本の有事か」という質問をしていた [175344491]
- 【悲報】高市早苗周辺「支持層が離れるので今更発言を撤回できない」 [935793931]
- 青椒肉絲、牛肉ではなく豚肉を使うのが本物だった
- 【悲報】中国→日本行きの航空チケット、高市有事の影響で50万人分がキャンセルされる [834922174]
- んなっしょい🍬禁止🈲のお🏡
