プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 60
https://mevius.2ch.net/test/read.cgi/tech/1493398918/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
探検
Ruby 初心者スレッド Part 61 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
2017/08/25(金) 15:59:11.22ID:HsL9LVKJ
861デフォルトの名無しさん
2017/11/17(金) 21:57:12.32ID:5DUWZGJy (-6..6).each{|i|p n[i]}と試せばすぐにわかることをなぜ人に聞くのか
862デフォルトの名無しさん
2017/11/17(金) 21:58:54.04ID:5DUWZGJy というかp n.slice(-1,0)は""じゃないのか
863デフォルトの名無しさん
2017/11/17(金) 22:22:53.66ID:+zjghEIw864デフォルトの名無しさん
2017/11/17(金) 22:48:06.98ID:5DUWZGJy866デフォルトの名無しさん
2017/11/17(金) 23:17:48.28ID:g+LRYPuD イミュータブルの話していい?
記憶違いかもしれないけど、なんか将来のRubyでStringがイミュータブルになるって話だかを小耳にしたんだけど、どういうこと?
今のStringって書き換える操作に見えても実は別の生成したStringへ参照を換えているだけだで、
イミュータブルだと思ってたんだけど違うの?
記憶違いかもしれないけど、なんか将来のRubyでStringがイミュータブルになるって話だかを小耳にしたんだけど、どういうこと?
今のStringって書き換える操作に見えても実は別の生成したStringへ参照を換えているだけだで、
イミュータブルだと思ってたんだけど違うの?
867デフォルトの名無しさん
2017/11/17(金) 23:27:32.19ID:2lBbqhr3868デフォルトの名無しさん
2017/11/17(金) 23:33:09.94ID:urhgHz9b >>867
ソースプリーズ
ソースプリーズ
869デフォルトの名無しさん
2017/11/17(金) 23:44:19.35ID:fWRDFZO8 現実的に考えて、今のRuby界にPython3ショック並の非互換を乗り越える体力はない
そもそも3がリリースされる日が本当に来るのかは怪しいけど、もし出てもRails系には完全スルーじゃないかな
静的型もメタプログラミング全開のRailsに役立つようなものにはならないだろうし
そもそも3がリリースされる日が本当に来るのかは怪しいけど、もし出てもRails系には完全スルーじゃないかな
静的型もメタプログラミング全開のRailsに役立つようなものにはならないだろうし
870デフォルトの名無しさん
2017/11/17(金) 23:56:41.31ID:IylgmQJ2 >>866
今はリテラル文字列のオブジェクトが別だけど
ruby3になったらおなじオブジェクトになるって事
今のrubyでもコマンドラインオプションやソースコードのマジックコメントで挙動を確認できる
$ ruby24 -e '5.times{ p "abcdefg".object_id }' 17208605440
17208605280
17208605200
17208605120
17208605020
$ ruby24 --enable frozen-string-literal -e '5.times{ p "abcdefg".object_id }'
17208605640
17208605640
17208605640
17208605640
17208605640
rubyの実装レベルの話だと内部で共有文字列オブジェクトがcopy on writeされるようになってるだけ
ruby3になると共有文字列オブジェクトが直接表に出てくるってことになるんだろうね
今はリテラル文字列のオブジェクトが別だけど
ruby3になったらおなじオブジェクトになるって事
今のrubyでもコマンドラインオプションやソースコードのマジックコメントで挙動を確認できる
$ ruby24 -e '5.times{ p "abcdefg".object_id }' 17208605440
17208605280
17208605200
17208605120
17208605020
$ ruby24 --enable frozen-string-literal -e '5.times{ p "abcdefg".object_id }'
17208605640
17208605640
17208605640
17208605640
17208605640
rubyの実装レベルの話だと内部で共有文字列オブジェクトがcopy on writeされるようになってるだけ
ruby3になると共有文字列オブジェクトが直接表に出てくるってことになるんだろうね
871デフォルトの名無しさん
2017/11/18(土) 00:42:51.61ID:llwTwelI 一番の違いは文字がイミュータブルになるってことだろ
だからcopy on writeする必要もない
writeできないんだからcopyも不要
だからcopy on writeする必要もない
writeできないんだからcopyも不要
872デフォルトの名無しさん
2017/11/18(土) 00:49:48.52ID:sDELvJVN873デフォルトの名無しさん
2017/11/18(土) 00:50:21.77ID:18l+ABsp874デフォルトの名無しさん
2017/11/18(土) 00:55:46.00ID:pAjRC1cg ruby3にショックを起こしそうな変更が大してなさそうな所がショックなのではないだろうか
文字列といえば、SHARABLE_MIDDLE_SUBSTRINGはruby3で標準になるのか誰か知らんか
文字列といえば、SHARABLE_MIDDLE_SUBSTRINGはruby3で標準になるのか誰か知らんか
875デフォルトの名無しさん
2017/11/18(土) 01:01:26.66ID:sDELvJVN876デフォルトの名無しさん
2017/11/18(土) 02:23:57.54ID:v7CgBLN2 >C extension
詳細プリーズ
詳細プリーズ
877デフォルトの名無しさん
2017/11/18(土) 03:03:45.56ID:pAjRC1cg 文字列のデータがヌル終端文字列とは限らないので、char*取る時はStringValueCStr()使うとか
878デフォルトの名無しさん
2017/11/18(土) 04:44:28.98ID:LQXdQwI7 たのしいruby読みとおしたけどあんまたのしくない
879デフォルトの名無しさん
2017/11/18(土) 06:34:47.32ID:O/cG1rmo プログラミングが楽しいんであって
本で勉強するのが楽しいわけじゃないからな
本で勉強するのが楽しいわけじゃないからな
880デフォルトの名無しさん
2017/11/18(土) 16:31:16.15ID:6foiYhRZ 関数型言語 Elixir からの影響
文字列が、immutable なら、安全で効率的
文字列が、immutable なら、安全で効率的
881デフォルトの名無しさん
2017/11/18(土) 21:45:21.11ID:W95R0KgI >>866
Rubyで文字列をfreezeしまくるのが流行ってて
なんでかって、最適化のため
> http://d.hatena.ne.jp/ku-ma-me/20151004/p1
> 2 行目は 1 行目の 2 倍くらい速いです。
だもんで、freeze付けまくるっていう手動の最適化が蔓延していて
(二倍も速くなるならせざるを得ない)
なにかCとかアセンブラでシコシコ最適化していた90年代の香りがする
これもRubyが意味もなく遅すぎるのが原因で
主要言語と比べて30〜50倍ぐらい遅いので、3.0GHzの最新CPUで走らせても
実質60〜100MHzの激遅化石CPUで走らせていることになるので
まぁ90年代といわれれば、ちょうどそのあたりかもしれない
> https://qiita.com/sue738/items/6c312672cecd9e0400a2
あの頃はちょっとの速度差がクリティカルで、何か懐かしいね
Rubyはコンピュータに出来ることはコンピュータにやらせる主義なので
プログラマに手動の最適化を強いるし、型チェックもプログラマにやらせる
何か矛盾したことを言っているように思えるが
言語開発者の視点に立って、全力で手抜きして言語処理系を作ることを考えると
別に間違ったことは言ってない
幽遊白書風に言うと、仙水の言う「俺達七人」に君らは入ってないってことだな
Rubyで文字列をfreezeしまくるのが流行ってて
なんでかって、最適化のため
> http://d.hatena.ne.jp/ku-ma-me/20151004/p1
> 2 行目は 1 行目の 2 倍くらい速いです。
だもんで、freeze付けまくるっていう手動の最適化が蔓延していて
(二倍も速くなるならせざるを得ない)
なにかCとかアセンブラでシコシコ最適化していた90年代の香りがする
これもRubyが意味もなく遅すぎるのが原因で
主要言語と比べて30〜50倍ぐらい遅いので、3.0GHzの最新CPUで走らせても
実質60〜100MHzの激遅化石CPUで走らせていることになるので
まぁ90年代といわれれば、ちょうどそのあたりかもしれない
> https://qiita.com/sue738/items/6c312672cecd9e0400a2
あの頃はちょっとの速度差がクリティカルで、何か懐かしいね
Rubyはコンピュータに出来ることはコンピュータにやらせる主義なので
プログラマに手動の最適化を強いるし、型チェックもプログラマにやらせる
何か矛盾したことを言っているように思えるが
言語開発者の視点に立って、全力で手抜きして言語処理系を作ることを考えると
別に間違ったことは言ってない
幽遊白書風に言うと、仙水の言う「俺達七人」に君らは入ってないってことだな
882デフォルトの名無しさん
2017/11/18(土) 21:46:45.02ID:18l+ABsp また粘着君か
883デフォルトの名無しさん
2017/11/18(土) 22:36:14.71ID:fA1Yzd5Y 早くしたいなら言語変えろよ
JavaでもC#でもGoでもさ
JavaでもC#でもGoでもさ
884デフォルトの名無しさん
2017/11/18(土) 23:34:36.39ID:kadopebp 腕振り回すのが早いからって、野球選手にはなれないんだけどね。
885デフォルトの名無しさん
2017/11/18(土) 23:41:43.75ID:W95R0KgI 速度が必要なら他の言語を使え、と言いつつも
巷ではfreeze祭り開催中
(事実それが理由で3.0で検討されてるわけで)
やはりちょっとでも早くしたいというね
遅いといっても限度があるんだろうな
1.2倍とか1.5倍とかなら我慢できるが
30〜50倍は別次元というか、もはや別物
折角3.0GHzの最新CPUを使ってるのに
100MHz以下になるとはねトホホ
プログラムは遅くて困ることは有っても速くて困ることはないわけだが
遅くなった原因が、今となっては何のメリットもない動的型を採用したことと
コンパイラの最適化の手抜き、だからな
ちっとも利用者視点じゃなく、単に言語を作る側の手間の都合なわけだが
教祖様よろしく巧みに隠して言いくるめてきたが、もうウソがばれて限界ってところかな
巷ではfreeze祭り開催中
(事実それが理由で3.0で検討されてるわけで)
やはりちょっとでも早くしたいというね
遅いといっても限度があるんだろうな
1.2倍とか1.5倍とかなら我慢できるが
30〜50倍は別次元というか、もはや別物
折角3.0GHzの最新CPUを使ってるのに
100MHz以下になるとはねトホホ
プログラムは遅くて困ることは有っても速くて困ることはないわけだが
遅くなった原因が、今となっては何のメリットもない動的型を採用したことと
コンパイラの最適化の手抜き、だからな
ちっとも利用者視点じゃなく、単に言語を作る側の手間の都合なわけだが
教祖様よろしく巧みに隠して言いくるめてきたが、もうウソがばれて限界ってところかな
886デフォルトの名無しさん
2017/11/18(土) 23:56:34.49ID:W95R0KgI >腕振り回すのが早いからって、野球選手にはなれないんだけどね。
さすがに意味不明すぎて吹いた
他の主要言語は、腕振り回しているだけだとも?
随分だな
さすがに意味不明すぎて吹いた
他の主要言語は、腕振り回しているだけだとも?
随分だな
887デフォルトの名無しさん
2017/11/19(日) 00:08:39.46ID:ViJ+9/xP ちょっとどころか3倍速くしたいのがruby3だ
888デフォルトの名無しさん
2017/11/19(日) 00:09:28.92ID:ico5wL+/ >>885
じゃぁアセンブラ使っておけば?
じゃぁアセンブラ使っておけば?
889デフォルトの名無しさん
2017/11/19(日) 00:30:02.83ID:udvNJGPu 今やC/C++、Java、C#などの主要言語はコンパイラの最適化が鬼だから
常識的には人間がアセンブラで書くより速いわけ
だから書くなら
じゃぁC/C++、Java、C#使っておけば?
だし、言われるまでもなく世の中そうなってて
んーだから何?って感じなんだが
なんというか・・・
速度が速い代わりに使い勝手が悪い、だの
使い勝手が良い代わりに速度が遅い、だの
そういう厨が好みそうなマンガの設定みたいなトレードオフは発生してない
非常だわなぁ
では全てにおいてメリットが無い方式なら
いったい誰が作って、誰が支持するのかというと
これがなかなか北朝鮮のような国があったりもするので
存在していることだけを理由に正しいとは言えない
常識的には人間がアセンブラで書くより速いわけ
だから書くなら
じゃぁC/C++、Java、C#使っておけば?
だし、言われるまでもなく世の中そうなってて
んーだから何?って感じなんだが
なんというか・・・
速度が速い代わりに使い勝手が悪い、だの
使い勝手が良い代わりに速度が遅い、だの
そういう厨が好みそうなマンガの設定みたいなトレードオフは発生してない
非常だわなぁ
では全てにおいてメリットが無い方式なら
いったい誰が作って、誰が支持するのかというと
これがなかなか北朝鮮のような国があったりもするので
存在していることだけを理由に正しいとは言えない
890デフォルトの名無しさん
2017/11/19(日) 00:45:07.64ID:ico5wL+/ >>889
アホか?
C++がマジで使いやすくて速いとか思ってるなら、一回脳みそ洗濯機にかけた方がいいぞ?
C++は速さのために色々と犠牲にした言語だということを理解できないならエンジニアとして
致命的欠陥があると言わざるをえない
アホか?
C++がマジで使いやすくて速いとか思ってるなら、一回脳みそ洗濯機にかけた方がいいぞ?
C++は速さのために色々と犠牲にした言語だということを理解できないならエンジニアとして
致命的欠陥があると言わざるをえない
891デフォルトの名無しさん
2017/11/19(日) 00:50:56.77ID:ANnOsUYp Javaや.NETは起動時にコンパイルしてるから
実行速度ではなく起動速度が遅い
そしてRailsも起動が遅い。こっちは理由が少し
異なっていて動的型だからコンパイルが不要なんだが
読み込むファイルが多くなりすぎて起動速度が遅い
実行速度ではなく起動速度が遅い
そしてRailsも起動が遅い。こっちは理由が少し
異なっていて動的型だからコンパイルが不要なんだが
読み込むファイルが多くなりすぎて起動速度が遅い
892デフォルトの名無しさん
2017/11/19(日) 02:43:18.14ID:tAVjO9Xo いくら早くたってC++は複雑で読み書きしにくい
Rubyは実行速度より開発速度に振ってるから
Rubyは実行速度より開発速度に振ってるから
893デフォルトの名無しさん
2017/11/19(日) 04:19:06.14ID:/3rRHq6p894デフォルトの名無しさん
2017/11/19(日) 08:33:08.93ID:RgqRbH7C >>890
C++11以降はRubyよりはるかに使いやすい。
C++11以降はRubyよりはるかに使いやすい。
895デフォルトの名無しさん
2017/11/19(日) 08:55:34.34ID:kYPwLJsc スタートアップにはRailsが好まれるというのも眉唾だよな
ソースの量なんて最初のうちはすぐに増えるもんだし、事業が軌道に乗るまでは大きな変更も多いはず
とりあえず今手っ取り早く動くものを作りたいからという理由でRailsを選ぶような奴がテストなんか書いてるわけないし、
テストがないと変更が困難になるという動的型の性質がネックになるのは意外とすぐなんじゃないかという気がする
ソースの量なんて最初のうちはすぐに増えるもんだし、事業が軌道に乗るまでは大きな変更も多いはず
とりあえず今手っ取り早く動くものを作りたいからという理由でRailsを選ぶような奴がテストなんか書いてるわけないし、
テストがないと変更が困難になるという動的型の性質がネックになるのは意外とすぐなんじゃないかという気がする
896デフォルトの名無しさん
2017/11/19(日) 09:42:25.92ID:IcfiaN/i C#は「とても」書きやすいかといわれるとふんぬうううううって感じだ
書きやすいようにするモダンな構造はたくさん含まれてて文法未来も明るいが、全体としてはRubyのほうがまだいいと思う
今のところRubyよりいいなと思ってるのはKotlin+IntelliJ
Javaで書かなければいけない部分がもっと減れば書きやす四天王に入ると思うのでどんどんKotlin部分増やして欲しい
書きやすいようにするモダンな構造はたくさん含まれてて文法未来も明るいが、全体としてはRubyのほうがまだいいと思う
今のところRubyよりいいなと思ってるのはKotlin+IntelliJ
Javaで書かなければいけない部分がもっと減れば書きやす四天王に入ると思うのでどんどんKotlin部分増やして欲しい
897デフォルトの名無しさん
2017/11/19(日) 10:51:15.62ID:/3rRHq6p C#は、IDEのサポートが前提だからな。
898デフォルトの名無しさん
2017/11/19(日) 11:10:12.09ID:tAVjO9Xo >書きやす四天王
面白そうだからみんなで書いてみれば?
オレの場合書きやすいのはRuby一強で
二位以下はPythonとかLLが団子状態で並ぶけど
面白そうだからみんなで書いてみれば?
オレの場合書きやすいのはRuby一強で
二位以下はPythonとかLLが団子状態で並ぶけど
899デフォルトの名無しさん
2017/11/19(日) 11:42:50.02ID:udvNJGPu いや、洗脳されてる(というより確信犯←本来の意味でも誤用の意味でも)人の意見は
誰も興味ないというか常に無視されるというか
社民党が何か言っててもみんな聞き流してるわけで
大人な人達の言うところの民主主義というか
そもそも数に入ってないから無視してよいという暗黙の鬼畜現象
誰も興味ないというか常に無視されるというか
社民党が何か言っててもみんな聞き流してるわけで
大人な人達の言うところの民主主義というか
そもそも数に入ってないから無視してよいという暗黙の鬼畜現象
900デフォルトの名無しさん
2017/11/19(日) 12:15:25.95ID:ico5wL+/901デフォルトの名無しさん
2017/11/19(日) 12:24:31.26ID:lEYmgXHF 同じ事させるなら、「実行速度」がRubyより早い言語が有るのは当たり前。
Rubyは例えばCで書いた巨大ライブラリ・ツールとも言える訳だから。
Rubyは例えばCで書いた巨大ライブラリ・ツールとも言える訳だから。
902デフォルトの名無しさん
2017/11/19(日) 13:37:32.97ID:udvNJGPu ↑唐突になんだ?
903デフォルトの名無しさん
2017/11/19(日) 14:12:32.54ID:ojBPgPKj 話を変えるけど、
mswin32版のRuby2.4インスコして、今は懐かしきRDEで何か出来ないかハックしてんだけど普通に動くなコレ
動かない部分は、debug2から経由してrde.dllかrde.soを呼ぶデバッグ機能の辺りで、
バイナリについてきたこれらのファイルをロードできないのが原因だけど、
RDE1.1.1バイナリや1.0.1ソース拾えたんで何とかなりそう
mswin32版のRuby2.4インスコして、今は懐かしきRDEで何か出来ないかハックしてんだけど普通に動くなコレ
動かない部分は、debug2から経由してrde.dllかrde.soを呼ぶデバッグ機能の辺りで、
バイナリについてきたこれらのファイルをロードできないのが原因だけど、
RDE1.1.1バイナリや1.0.1ソース拾えたんで何とかなりそう
904デフォルトの名無しさん
2017/11/19(日) 14:26:48.86ID:GIoVTHnu RDEはすごく使いやすかったな
1.9や2.x以降も対応してくれるなら今でも使いたい
文字列コード関係とか問題ないの?
1.9や2.x以降も対応してくれるなら今でも使いたい
文字列コード関係とか問題ないの?
905デフォルトの名無しさん
2017/11/19(日) 15:34:37.97ID:ojBPgPKj >>904
特に問題ない
というかRubyの多言語化はCSI方式と呼ばれるもので、
ruby内部では種々の文字コードを認識せずバイナリとして扱い、指定した文字コード用のメソッドでバイナリに処理してるだけだから
マジックコメントでUTF-8指定して(2.x以降はデフォルトがUTF-8だから指定しなくても良い)、RDEもUTF8N指定しとけばOK
後、RDEについてるrde_export.rbみてたらちょっとした書き換えで2.4用の入力補完データを自動で出せるようになってる
RDEハック中だから、他にも聞きたいことあったら言ってくれ
特に問題ない
というかRubyの多言語化はCSI方式と呼ばれるもので、
ruby内部では種々の文字コードを認識せずバイナリとして扱い、指定した文字コード用のメソッドでバイナリに処理してるだけだから
マジックコメントでUTF-8指定して(2.x以降はデフォルトがUTF-8だから指定しなくても良い)、RDEもUTF8N指定しとけばOK
後、RDEについてるrde_export.rbみてたらちょっとした書き換えで2.4用の入力補完データを自動で出せるようになってる
RDEハック中だから、他にも聞きたいことあったら言ってくれ
906デフォルトの名無しさん
2017/11/19(日) 19:59:54.94ID:ojBPgPKj 問題は2.4用のrde.dllが無いことだからmswin32ruby1.8用のrde.dllをバイナリ改造して
msvcrt-ruby18.dllのロードをmsvcr100-ruby240.dllに書き換えて、
メソッドあわせれば楽に出来るんじゃないかと思いついたんだけど躓いた
msvcr100-ruby240.dllをPEviewで確認したらrb_str_new2が無いじゃないか
こういった内部に詳しい人、誰かいない?
msvcrt-ruby18.dllのロードをmsvcr100-ruby240.dllに書き換えて、
メソッドあわせれば楽に出来るんじゃないかと思いついたんだけど躓いた
msvcr100-ruby240.dllをPEviewで確認したらrb_str_new2が無いじゃないか
こういった内部に詳しい人、誰かいない?
907デフォルトの名無しさん
2017/11/19(日) 21:43:50.59ID:oda4btU4 日経Linux 11月号
Windows Subsystem for Linux (WSL) 特集。
ついに、ベータ版から正式版へ変わりました!
Docker の記事もある
Ubuntu 側では、Dockerデーモンが動かないため、
Windows 側の、VirtualBox に、Vagrant で、CoreOS を入れて、
その中に、Dockerデーモンをインストール
Ubuntu側から、Dockerコマンドで使う
付録は、サーバーがゼロから分かる本、100ページ。
サーバーでできること、77
付録DVD は、
Ubuntu 17.04 日本語 Remix (64 ビット版)
Ubuntu Server 17.04 (64 & 32 ビット版)
CentOS 7.3 LiveGNOME (64 ビット版)
Windows Subsystem for Linux (WSL) 特集。
ついに、ベータ版から正式版へ変わりました!
Docker の記事もある
Ubuntu 側では、Dockerデーモンが動かないため、
Windows 側の、VirtualBox に、Vagrant で、CoreOS を入れて、
その中に、Dockerデーモンをインストール
Ubuntu側から、Dockerコマンドで使う
付録は、サーバーがゼロから分かる本、100ページ。
サーバーでできること、77
付録DVD は、
Ubuntu 17.04 日本語 Remix (64 ビット版)
Ubuntu Server 17.04 (64 & 32 ビット版)
CentOS 7.3 LiveGNOME (64 ビット版)
908デフォルトの名無しさん
2017/11/19(日) 23:04:24.43ID:xn28G12Z mrubyをブラウザで実行するまで (WebAssembly) - Qiita
https://qiita.com/noontage/items/da846e78eebd1d3b2a78
https://qiita.com/noontage/items/da846e78eebd1d3b2a78
909デフォルトの名無しさん
2017/11/19(日) 23:16:02.85ID:wHgZOTEo >>906
外部シンボルの有無だけじゃなくstruct RStringとかRArray、RStructなんかは
要素数が少ない時にRObject内へと埋め込むようになってるし、
文字列オブジェクトとかは文字のエンコーディング情報を
抱えるようになってるしでまず無理
ソースコードを対応するrubyに合わせたパッチで当てて再ビルドした方がまだ近道だろうな
外部シンボルの有無だけじゃなくstruct RStringとかRArray、RStructなんかは
要素数が少ない時にRObject内へと埋め込むようになってるし、
文字列オブジェクトとかは文字のエンコーディング情報を
抱えるようになってるしでまず無理
ソースコードを対応するrubyに合わせたパッチで当てて再ビルドした方がまだ近道だろうな
910デフォルトの名無しさん
2017/11/20(月) 08:23:21.29ID:rLtj6AOb マジで?
ruby2.4(maswin32)いれたRDEのデバッグオプションを"-r debug2"から"-r debug"に書き換えると変数ウィンドウもデバッグも普通に問題なくうごくけど、
変数ウィンドウのオブジェクト表示タブで、一部オブジェクトの型が表示されず"(1)"表記されるのはそれが理由か
それと、rde.dlやrde.soをいれなくても、出来るってことは変数ウィンドウ辺りはRDE本体の機能かな?
これら機能が"debug"や"debug2"にどこまで依存してるのかいまいち分らない
ぱっとみrde.dlやrde.soだけruby2.4(mswin32)に対応したのをコンパイルすれば解決かと思ってたけど、
とりあえず、
SourceForgeやOSDNから拾ってこれるrde 0.9.9.0のソース(1.0.1はソースじゃなくバイナリだった、ごめん。一番新しいソースは0.9.9.0になる)をもう少し見てみるよ
現時点でもデバッグオプションを"-r debug2"から"-r debug"に書き換えればまともに動くんだからそれほど不都合は無いんだけど
ruby2.4(maswin32)いれたRDEのデバッグオプションを"-r debug2"から"-r debug"に書き換えると変数ウィンドウもデバッグも普通に問題なくうごくけど、
変数ウィンドウのオブジェクト表示タブで、一部オブジェクトの型が表示されず"(1)"表記されるのはそれが理由か
それと、rde.dlやrde.soをいれなくても、出来るってことは変数ウィンドウ辺りはRDE本体の機能かな?
これら機能が"debug"や"debug2"にどこまで依存してるのかいまいち分らない
ぱっとみrde.dlやrde.soだけruby2.4(mswin32)に対応したのをコンパイルすれば解決かと思ってたけど、
とりあえず、
SourceForgeやOSDNから拾ってこれるrde 0.9.9.0のソース(1.0.1はソースじゃなくバイナリだった、ごめん。一番新しいソースは0.9.9.0になる)をもう少し見てみるよ
現時点でもデバッグオプションを"-r debug2"から"-r debug"に書き換えればまともに動くんだからそれほど不都合は無いんだけど
911デフォルトの名無しさん
2017/11/20(月) 09:56:40.05ID:E4Z6XoUc RDEってwin7や8、10でも動くの?
912デフォルトの名無しさん
2017/11/20(月) 12:04:09.60ID:ohy70QIE RDE自体書き換えて再ビルドすりゃいいじゃん
ソース何で作ってあんのよ
……Delphiか…
すばらしい言語とすばらしい仕様とすばらしくない会社に翻弄された不遇の子か…
ほかのIDEのアドオンとかに注力したほうがいい…?
ソース何で作ってあんのよ
……Delphiか…
すばらしい言語とすばらしい仕様とすばらしくない会社に翻弄された不遇の子か…
ほかのIDEのアドオンとかに注力したほうがいい…?
913デフォルトの名無しさん
2017/11/20(月) 12:10:43.25ID:m3rw4xgt Delphiは打たれる
914デフォルトの名無しさん
2017/11/22(水) 22:47:26.40ID:Iq8RJWyk RDEもどきはGUI周りはGTKとかQtを使うにしても
基本的にRubyだけで再実装できないものなのかな?
基本的にRubyだけで再実装できないものなのかな?
915デフォルトの名無しさん
2017/11/22(水) 23:21:49.21ID:ITKojXQF 観念してVSCodeを使おう
TypeScript製なのでRubyistにとっては敵のケツを舐めることになる屈辱的なエディタだけど、他のを使う理由が見つからないレベルの出来
TypeScript製なのでRubyistにとっては敵のケツを舐めることになる屈辱的なエディタだけど、他のを使う理由が見つからないレベルの出来
916デフォルトの名無しさん
2017/11/22(水) 23:29:38.25ID:5on9dylu RDEってさして知らないんだけどemacsじゃあかんの?
917デフォルトの名無しさん
2017/11/22(水) 23:33:30.62ID:S4KAr5dn irbでコードを直接打ち込むとちゃんと動作するんだけどそれと全く同じコードをメソッドとして定義してそれを実行するとできないのなんでよ
918デフォルトの名無しさん
2017/11/22(水) 23:53:50.99ID:5on9dylu >>917
コード書かないで他人がわかるとでも?
コード書かないで他人がわかるとでも?
919デフォルトの名無しさん
2017/11/23(木) 00:00:05.02ID:Nvdrrync >>918
def binsort(a)
bin = []
(a.max+1).times do |i|
bin.push(a.count(i))
end
a = []
bin.length.times do |k|
bin[k].times do
a.push(k)
end
end
end
aは整数値の配列
この中身をirbで直接実行するとちゃんとソートしてくれるんだけどbinsort(a)で実行すると何もしてくれないのよ
def binsort(a)
bin = []
(a.max+1).times do |i|
bin.push(a.count(i))
end
a = []
bin.length.times do |k|
bin[k].times do
a.push(k)
end
end
end
aは整数値の配列
この中身をirbで直接実行するとちゃんとソートしてくれるんだけどbinsort(a)で実行すると何もしてくれないのよ
920デフォルトの名無しさん
2017/11/23(木) 00:06:20.01ID:Q47DTjos irbでもソートされないんだけど?
ちゃんと戻り値使いましょうね
def binsort(a)
bin = []
(a.max+1).times do |i|
bin.push(a.count(i))
end
ary = []
bin.length.times do |k|
bin[k].times do
ary.push(k)
end
end
ary # ←これ
end
ちゃんと戻り値使いましょうね
def binsort(a)
bin = []
(a.max+1).times do |i|
bin.push(a.count(i))
end
ary = []
bin.length.times do |k|
bin[k].times do
ary.push(k)
end
end
ary # ←これ
end
921デフォルトの名無しさん
2017/11/23(木) 00:08:55.64ID:Nvdrrync うちのirbだとさっきのでちゃんとソートされたんだが
922デフォルトの名無しさん
2017/11/23(木) 00:14:07.25ID:Q47DTjos 殆どのバージョンで試したけどそのようにはなりませんでした
君の実行環境を書いてください
君の実行環境を書いてください
923デフォルトの名無しさん
2017/11/23(木) 00:21:12.86ID:Nvdrrync a=Array.new(100) do rand(5) end
とかでaを決めてさっきのコードをirbで実行
それでもう一度aを表示するとソートされた配列が表示されるけど、binsort(a)でやってaを表示するとaそのものは変わってないって状況
だったんだけど
a=[]
のとこを
a.slice!(0..-1)
にしてやったらa自体を変えられた
とかでaを決めてさっきのコードをirbで実行
それでもう一度aを表示するとソートされた配列が表示されるけど、binsort(a)でやってaを表示するとaそのものは変わってないって状況
だったんだけど
a=[]
のとこを
a.slice!(0..-1)
にしてやったらa自体を変えられた
924デフォルトの名無しさん
2017/11/23(木) 00:33:11.45ID:Q47DTjos へーよかったね
925デフォルトの名無しさん
2017/11/23(木) 00:39:33.47ID:BeZbsl9b 日本語として何が言いたいのかさっぱりわからん
同じアルゴリズムなら俺ならこう書く
def binsort(a)
(0..a.max).inject([]){|s, i| s + [i]*a.count(i)}
end
同じアルゴリズムなら俺ならこう書く
def binsort(a)
(0..a.max).inject([]){|s, i| s + [i]*a.count(i)}
end
926デフォルトの名無しさん
2017/11/23(木) 03:06:34.20ID:AxcPEcxT これは多分あれだな
実引数aを表示してると思ってるけど実は仮引数aを表示しているパターン
実引数aを表示してると思ってるけど実は仮引数aを表示しているパターン
927デフォルトの名無しさん
2017/11/23(木) 08:53:22.23ID:XBDj7YCq >>915
朝鮮脳かー。
朝鮮脳かー。
928デフォルトの名無しさん
2017/11/23(木) 11:03:40.27ID:AMXsylzt Ruby書くのにVSCode使ってるわ
Ruby陣営にとっては多少アウェイなのかもしれんが
使いやすければどうでもいい
Ruby陣営にとっては多少アウェイなのかもしれんが
使いやすければどうでもいい
929デフォルトの名無しさん
2017/11/23(木) 11:43:03.92ID:tA8CL5L/930デフォルトの名無しさん
2017/11/23(木) 12:30:20.24ID:UCxNEg1Y 現在のプログラマーにとって
統合開発環境使わないのであれば
VSCodeは王道だろう。
秀丸とか使っているならアウェイだろうけど
統合開発環境使わないのであれば
VSCodeは王道だろう。
秀丸とか使っているならアウェイだろうけど
931デフォルトの名無しさん
2017/11/23(木) 13:33:37.41ID:DqyU4UwD VSCodeは使用する言語のためにゴリゴリに整えられたemacs的な環境がクソ簡単に作れるのが強いよね
エディタの設定にアホみたいに手間かけてドヤ顔してた奴等がただの老害になってしまった
さすがに30年近く開発環境作ってるだけのことはあるわ
エディタの設定にアホみたいに手間かけてドヤ顔してた奴等がただの老害になってしまった
さすがに30年近く開発環境作ってるだけのことはあるわ
932デフォルトの名無しさん
2017/11/23(木) 13:55:25.39ID:YnWOoALk 現在のつづりの途中からファイル内全検索で補完候補を表示したり、クラスやモジュールのメソッドや定数まで定義したもの全て(もちろん、自分で定義したものも含む)から関連した補完候補を表示してくれたり、
ファイルジャンプやエラー時の該当コードへのジャンプジャンプ機能、
変数ウィンドウでリアルタイムにグローバル、ローカル等表示機能、
デバッグ時のブレークポイント・ステップイン・ステップアウトといった基本から、シームレスにコンソール入力できCLIでデバッグしたりと、
RDEを使えるならずっと使い続けたい
逆にRDEで欠けているところって何かある?
ファイルジャンプやエラー時の該当コードへのジャンプジャンプ機能、
変数ウィンドウでリアルタイムにグローバル、ローカル等表示機能、
デバッグ時のブレークポイント・ステップイン・ステップアウトといった基本から、シームレスにコンソール入力できCLIでデバッグしたりと、
RDEを使えるならずっと使い続けたい
逆にRDEで欠けているところって何かある?
933デフォルトの名無しさん
2017/11/23(木) 14:09:00.28ID:AMXsylzt934デフォルトの名無しさん
2017/11/23(木) 14:18:55.83ID:DqyU4UwD >>932
どれだけ高度な機能があろうが所詮Rubyでしか使えないだろ
Rubyがメインの開発でも開発作業というのはRubyだけで完結するものではない
VSCodeはシェルスクリプトもHTMLもCSSもJSもXMLもJSONもYAMLも他の言語も何でもそこそこ便利に扱える
どれだけ高度な機能があろうが所詮Rubyでしか使えないだろ
Rubyがメインの開発でも開発作業というのはRubyだけで完結するものではない
VSCodeはシェルスクリプトもHTMLもCSSもJSもXMLもJSONもYAMLも他の言語も何でもそこそこ便利に扱える
935デフォルトの名無しさん
2017/11/23(木) 14:24:20.62ID:YnWOoALk936デフォルトの名無しさん
2017/11/23(木) 14:28:42.62ID:DqyU4UwD937デフォルトの名無しさん
2017/11/23(木) 14:45:04.91ID:YnWOoALk >>636
HTMLでデバッグってどういう事?
強調表示と文章構造化機能があり、
Rubyから扱うならRDEの変数ウィンドウだってあるんだから、見ながらできるでしょ
RDEにはコンソールウィンドウだってあるんだから、どんなやり方だって可能だよ
HTMLでデバッグってどういう事?
強調表示と文章構造化機能があり、
Rubyから扱うならRDEの変数ウィンドウだってあるんだから、見ながらできるでしょ
RDEにはコンソールウィンドウだってあるんだから、どんなやり方だって可能だよ
938デフォルトの名無しさん
2017/11/23(木) 14:47:34.43ID:tA8CL5L/939デフォルトの名無しさん
2017/11/23(木) 19:55:08.71ID:AMXsylzt940デフォルトの名無しさん
2017/11/23(木) 20:59:27.76ID:uF7hi9HH VSCodeってメール読めるの?
941デフォルトの名無しさん
2017/11/23(木) 21:26:51.78ID:3UvXGadQ VSCode使ってるようなチームが今時開発のコミュニケーションにメールはないでしょ
githubのプルリクを扱ったりSlackの送受信したりするプラグインはもちろんあるよ
githubのプルリクを扱ったりSlackの送受信したりするプラグインはもちろんあるよ
942デフォルトの名無しさん
2017/11/23(木) 21:56:15.36ID:MR0Gu97U IronRubyて死んだと思っていいの?
943デフォルトの名無しさん
2017/11/23(木) 22:07:17.46ID:tA8CL5L/ >>939
機能の豊富さやモダンな設計部分は確かに惹かれる点がないわけではない
ただ、VSCodeには絶対移れない理由は、カーソル移動すらホームポジションから指を
離さないといけない部分だ(Mac版はいいんだが)
もちろん「そんなのカスタマイズでどうにでもなるよ」という意見は承知しているが、すべての機能を
再配置するには無理があるし、拡張機能まで考えるとキーバインドはなるべくデフォルトでいきたい
そうなるとカーソル移動にカーソルキー以外のキーが割当たってないのは大いなる不満だな
ちなみにこれは実際にVSCodeを使ってみた感想だ
Emacs風キーバインドとかも試してはみたが、不完全だし、拡張機能を入れると簡単に破綻した
機能の豊富さやモダンな設計部分は確かに惹かれる点がないわけではない
ただ、VSCodeには絶対移れない理由は、カーソル移動すらホームポジションから指を
離さないといけない部分だ(Mac版はいいんだが)
もちろん「そんなのカスタマイズでどうにでもなるよ」という意見は承知しているが、すべての機能を
再配置するには無理があるし、拡張機能まで考えるとキーバインドはなるべくデフォルトでいきたい
そうなるとカーソル移動にカーソルキー以外のキーが割当たってないのは大いなる不満だな
ちなみにこれは実際にVSCodeを使ってみた感想だ
Emacs風キーバインドとかも試してはみたが、不完全だし、拡張機能を入れると簡単に破綻した
944デフォルトの名無しさん
2017/11/23(木) 22:09:43.98ID:UCxNEg1Y 慣れているものがあるのにわざわざ移る必要はないよ、
便利な機能は追加されているけど
それの習熟までの時間考えるとマイナスじゃん
便利な機能は追加されているけど
それの習熟までの時間考えるとマイナスじゃん
945デフォルトの名無しさん
2017/11/23(木) 22:17:47.02ID:SZ3Ksiuh946デフォルトの名無しさん
2017/11/23(木) 22:25:49.79ID:AMXsylzt947デフォルトの名無しさん
2017/11/23(木) 23:11:44.50ID:tA8CL5L/ >>945
それならばVSCodeが正しいキーバインドを提供すればいいだけなのに、それはされなかった
Mac版VSCodeに至ってはカーソル移動はEmacsと同じだ
(というかMacのカーソル移動は基本Emacsと同じなんだが)
それならばVSCodeが正しいキーバインドを提供すればいいだけなのに、それはされなかった
Mac版VSCodeに至ってはカーソル移動はEmacsと同じだ
(というかMacのカーソル移動は基本Emacsと同じなんだが)
948デフォルトの名無しさん
2017/11/23(木) 23:43:56.00ID:SZ3Ksiuh MacがEmacsと同じ?どうやってコピペするんだよw
949デフォルトの名無しさん
2017/11/23(木) 23:52:47.43ID:3UvXGadQ Macは通常のショートカットキーはCtrlではなくコマンドキーという別のキーを使うんだよ
950デフォルトの名無しさん
2017/11/24(金) 00:17:48.44ID:rLZHdQ3Q 便利だけど重いんだよな
951デフォルトの名無しさん
2017/11/24(金) 00:28:12.46ID:rLZHdQ3Q 踏んだか
次スレ立ててくるわ
次スレ立ててくるわ
952デフォルトの名無しさん
2017/11/24(金) 00:37:55.32ID:rLZHdQ3Q953デフォルトの名無しさん
2017/11/24(金) 00:53:32.89ID:YIPeFSUb954デフォルトの名無しさん
2017/11/24(金) 07:14:12.21ID:WYDS9FKw955デフォルトの名無しさん
2017/11/24(金) 07:53:06.70ID:fclmHXnw 多分だけど、客とのメールまでプログラミングエディタでやりたがる基地外は世の中にあまりいないだけじゃないかな
Emacs老害の全盛期と違って、今の開発者はさすがにエディタの他にブラウザだけは常に開いてるもんだし
Emacs老害の全盛期と違って、今の開発者はさすがにエディタの他にブラウザだけは常に開いてるもんだし
956デフォルトの名無しさん
2017/11/24(金) 08:06:52.50ID:h77OWA0a 今時だと連絡手段が社内SNSだったりチャットだったりビデオ通話だったりと多様化してどうせブラウザや他のアプリも触らざるを得ないんだから
メールだけをテキストエディタ内でやることにあまり意味を感じない人が増えたんだろうな
個人的には開発エディタに客のメールが届くのは精神衛生上も嫌だが
メールだけをテキストエディタ内でやることにあまり意味を感じない人が増えたんだろうな
個人的には開発エディタに客のメールが届くのは精神衛生上も嫌だが
957デフォルトの名無しさん
2017/11/24(金) 13:57:41.39ID:jGNvQKc+ メールというモデルが現代には合わなくなってきただけなんだけどね。
958デフォルトの名無しさん
2017/11/24(金) 16:00:10.93ID:tVS6N6Kc それは全くの嘘である
嘘を言うのを止めたまえ
嘘つき君
嘘を言うのを止めたまえ
嘘つき君
959デフォルトの名無しさん
2017/11/24(金) 17:39:01.93ID:WYDS9FKw960デフォルトの名無しさん
2017/11/24(金) 18:04:37.20ID:3vzBmmRs 注意、
荒らしが自演でスレを荒らそうとしているので以下スルーしてください
今後この話題を続ける人は荒らしである事がほぼ間違いないので、
規制等に巻き込まれないようご注意下さい
荒らしが自演でスレを荒らそうとしているので以下スルーしてください
今後この話題を続ける人は荒らしである事がほぼ間違いないので、
規制等に巻き込まれないようご注意下さい
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★4 [樽悶★]
- 「“なり得る”って言っただけだから…」高市早苗“存立危機”答弁後に漏らした本音 ★2 [Hitzeschleier★]
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で ★4 [お断り★]
- 歩道で93歳男性が女子大学生の自転車にはねられ意識不明 坂を下った先「気付いたときには目の前に」 [七波羅探題★]
- 【テレビ】佐野岳 TBS『最強スポーツ男子頂上決戦』収録で重傷… 右膝半月板損傷と靭帯断裂 全治8カ月~9カ月間 [冬月記者★]
- 中国が水産物の輸入停止、首相答弁撤回を要求…中国共産党機関紙「輸入停止は一つのシグナルにすぎない」 [ぐれ★]
- 片山さつき「私が市場動向について言及すると不測の影響を及ぼす懸念ある。だから直接は何も言わない」→円安加速 [237216734]
- 【悲報】高市早苗「積極財政!補正予算21兆円!」⇒結果 [115996789]
- 海外大手メディア、高市が中国に宣戦布告したと次々報道し始める。どんどん外堀が埋められる [931948549]
- 田崎史郎「日本側は切るカードがないから我慢するしかない」 [445522505]
- 🏡PUNCHマッチ💥🥊😅🥊💥超重量級決戦🏡
- 日経平均、157.5の円安ブーストにも関わらず5万割れで終了へ… 本当にゴミ [402859164]
