Ruby 初心者スレッド Part 64
■ このスレッドは過去ログ倉庫に格納されています
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。 質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお Ruby on RailsについてはWEBプログラミング板で 前スレ Ruby 初心者スレッド Part 63 https://mevius.5ch.net/test/read.cgi/tech/1523954817/ るりまサーチ (リファレンス検索) http://rurema.clear-code.com/ Rubyist Magazine - るびま http://jp.rubyist.net/magazine/ 逆引きRuby http://www.namaraii.com/rubytips/ Ruby コミュニティ公式 https://www.ruby-lang.org/ >>758 ありがとうございます! 無事、パスが取得できました。 gemコマンドでは取得できないんですね……。 なにか理由あるのでしょうかね。 >>755 やっぱりそうですよねー できないならできないでいいんだけどzlibでできるっていうから調べたのにその後音沙汰ないし できないことをできるっていってソースだしてくれないのが時間だけ無駄になるから一番困る >>756 最終的に a b c 3つのファイルをまとめたZIPを作る際に a だけを追加した瞬間のデータを取り出すというのは プラットフォーム関係ないデータや文字列上の操作の話ですよね それをクライアントに送り消す方法とかになるとサーバーフレームワークやブラウザ依存の話になってくるけど >>760 Kernel.openやIO.popenでコマンドとパイプつなげられる。ファイルがどこかに置いてあるならzipコマンドからSTDOUTに出力させてパイプでつないで受け取ればいいんじゃね? UNIXコマンドよびださなきゃ言語内だけでは何ひとつまともなことができないゴミ言語だってはっきりわかんだね 添付ライブラリにあるzlibとstringioとThread使っても出来そうな気はするがそこまでやる気はない zipの仕様よく知らないけどファイナライズしないで途中の内容確定するのかな > UNIXコマンドよびださなきゃ言語内だけでは何ひとつまともなことができないゴミ言語だってはっきりわかんだね C言語「・・・」 言語の標準機能は必要最小限にしてライブラリを使いましょう派 VS ライブラリなんかいらない、なんでも言語の標準機能にしてしまえ派 俺は前者だな。C言語、JavaScript、Rubyなんかが当てはまる 後者に当てはまる言語はPHPか? 恐ろしいことに、PHPはZIPライブラリが言語標準機能なんだよなぁ http://php.net/manual/ja/zip.installation.php > これらの関数を利用するには、設定オプション --enable-zip を使用して > zip サポートを有効にして PHP をコンパイルしなければなりません。 > > PHP 5.6.0 からは、--with-libzip=DIR オプションが追加されました。これを指定すると、 > システムにインストールされた libzip を利用します。 libzip 0.11 以降が必要です。0.11.2 以降を推奨します。 >>762 そんなゴミ言語スレをわざわざ覗いてるのは何でなんでしょうねぇ… exec からシェル呼び出してコマンドたたいてしかもパイプでつないでとかライブラリとはよばん つまり>>770 が言いたいことは、libz.soとかのC言語などで使った ライブラリをRubyから呼ぶことができるならば、 Rubyは素晴らしい言語ということです。 ようするにシェルスクリプトで十分ということか ルビーみたいなウンコいらないという結論になるな マジレスすると zipline 使え やりたいことが1行でかける なんで回答に出ないのか謎だわ すべてのライブラリの機能を把握してない Rubyプログラマなんてこの程度やで まあこういうレスがくるんでしょうなぁw ~/.irbrcってどんな感じにしてます? readlineとirb/completionくらいは有効にしてるけど なんかインタラクティブで便利な小関数とかあったら教えてほしいです。 ハッシュ内に、あるキーが存在するかどうかだけを知りたい場合、 配列の要素をキーにして、配列からハッシュを作るのに、 以下のように書いていますが、もっとよい書き方がありますか? ただし、ハッシュの値は使わないので、nil 以外なら何でもよい h = { } %w(a b c).map{ |e| h[e] = true } p h なんかhas_keyとかあんだろ? そんなクソコード書くなよ ただ単に、配列の要素を、ハッシュのキーに登録して、その文字列の存在確認だけをしたい場合に、 ハッシュの値は使わないので、nil 以外なら何でもよいので、以下のように書いています もちろん配列で、Enumerable のinclude?, member? を使えば、要素の存在確認ができるのですが、 配列では要素を全探索(計算量 O(N))してしまうため、わざわざハッシュに入れています。 全探索では計算量 O(N)ですが、ハッシュでは、O(1)なので要素数に左右されないため こういう用途で皆さんは、どのように書いていますか? h = { } %w(a b c a).map{ |e| h[e] = true } p h #=> {"a"=>true, "b"=>true, "c"=>true} >>782 Setを使うのが普通だろうね Setは内部ではHashを使ってるので、やってることは変わらないけど commonmarker 0.17.x から0.18.xに上げたら、html混ざりmarkdownをコンバートすると htmlは省略だぁ〜ヒャッハー となるようになってしまった。OTL 知らんがな 自分で直してpull request出してこい Ruby に、set があったのか! 配列で集合演算するから、忘れていたわ 記号の読み方について != はノットイコールだよね? => はファットカンマだよね? =~ に読みかたってある? あと、\(バックスラッシュ)のこと何て呼んでる?そのままバックスラッシュ? 教えて >>791 鶴屋さんだと語尾に思われて思わぬ食い違いがでそう ttps://www.ruby-lang.org/ja/downloadsから 「RubyInstaller1.3.3」をダウンロードしたいんだけど、どこにありますか? >>800 はい。そうです。 >>801 私がやりたいことはバージョンが上でももないとのことでした。 返信ありがとうございました。 >>802 誤字ってたので訂正 × 私がやりたいことはバージョンが上でももないとのことでした。 ○ 私がやりたいことはバージョンが上でも問題ないとのことでした。 >>803 ありがとうございます >>804 この辺>>686-687 も参考にせいぜい頑張ってねw 686 デフォルトの名無しさん 2018/10/17(水) 20:13:17.85 ID:pcmrmHBT ドキュメント軽視とWindows蔑視はRubyコミュニティの伝統。 コードが仕様だ!Windowsなんて使ってる奴が悪い! 687 デフォルトの名無しさん sage 2018/10/17(水) 20:17:44.70 ID:z+Rs6gUv Unixで開発してるとGCCツールチェインは自然に入ってるからね はっきり言うね、Windows使いに人権はありません 30歳無職なんだけど俺にもプログラミングできるかな? https://www.loserblog.net/ Ruby installer のDevkit 無し(ポータブル版)は、MSYS2/MINGW、GNU コンパイラが無いので、 ソースコードからコンパイルできないけど、サイズは2〜3GB 小さい WebSocket, Rails, VSCode のデバッグ機能などは使えないけど、 Sinatra, Nokogiri, Selenium WebDriver などは使える (WebSocket のバイナリをネットで探したけど、見つからなかった。どこかにない?) 漏れは、Windows10 で、ruby 2.4.4 を使っている。 2.5 系は、まだ新しいから使わないように ポータブル版を、C:\Ruby24-x64 に置いて、 ユーザー環境変数PATH に、C:\Ruby24-x64\bin を追加すればよい 漏れは、ユーザー環境変数RUBYOPT に、--encoding=UTF-8 も設定しているけど、 これで、irb は使えなくなる ただし、Windows のirb は、日本語がバグるので、 irb を使うのなら、WSL で、Ubuntu 16.04 に、Ruby 2.3.1 を入れて、そちらを使う。 Ubuntu 18.04 は、まだ新しいから、もうちょっと様子を見る 入力補完が効かないけど、VSCode で作ってる。 MSYS2 を入れれば、入力補完できるのかね? Windows10・WSL の、Ubuntu が、日本語でも入出力できるのは、 コマンドプロンプトの画面と同じものを使っているから でも、irb みたいに、Linux 側のソースコードで、 独自にWindows 向けにコンパイルしたものは、半角英数字しか動かない。 日本語など、他の言語はバグル pry も、irb を使っているのだっけ? 漏れの希望としては、Windows10・WSL の、Ubuntu みたいに、 コマンドプロンプトの画面と同じものを使って、作ってほしい そうそう、最初にgem で、パッケージマネージャーのBundler を入れる。 それ以後は、gem を使わず、Bundler で他のgem をインストールすればよい なんじゃそりゃ windowsでマルチバイト文字が文字化けするのはreadlineの所為 pryとirbはソースレベルで全く別物 こいつ>>810 >>811、Ruby関係ないスレで脈絡なく自分語りとRubyの宣伝しだしたり、他言語専用質問スレでRubyで回答してからRubyの宣伝しだしたり非常にウザいんだが。 このスレから出てこないようにしとけよ。 そのreadline を使っていると、Windows で日本語でバグるのだろう。 Windows で半角英数字以外には、対応していないのだろう Windows10・WSL の、Ubuntu では、 メニューなどもコマンドプロンプトの画面と、全く同じだから、日本語でもバグらない localhostにssh接続して 好きなターミナルエミュレータつかえば vs codeからvimに乗り換えようと思う。マウス捨てればいいんだろ? WinもMacOSも消してLinuxをCUIだけで入れたらいいよ windowsで comポートの一覧出す方法教えてください >>820 require 'win32ole' colItems = WIN32OLE.connect('winmgmts://./root\CIMV2').ExecQuery("Select * from Win32_PNPEntity Where (Name like '%(COM%)')" ) colItems.each{|obj| puts obj.Caption } ぶっちゃけvlmがvscodeに勝ってるところなんてあるか? >>824 vimはRuby界における公式エディタであるemacsの仇敵だし、vscodeはMSという大悪魔に魂を売ることになる 目糞鼻糞 vimからRuby呼び出してスクリプトによる編集処理してもいいんじゃない? >>825 Haskellerの癖にvi使いになった自分からすると、ぶっちゃけ編集能力の割に軽いってのがある。 編集能力単体ならemasやvscoreの方があるかも知れないが、軽さとのコスパはvi。 ちょっと編集したい程度ならviの方が速い。 rubyってちょっと編集するくらいでアプリ作れちゃうの? >>828 MS Accessの劣化版みたいなアプリならね それ以上のことをするなら要件相応の手間は必要 Ruby で、PowerShell から、Web サーバーを起動すると、WEBrick が起動する。 ruby -run -e httpd . -p 8080 これで複数のブラウザから、index.html をアクセスできる。 http://localhost:8080 Nokogiri, Selenium WebDriver, ERB などを使って、 原始的に文字列から、HTML タグを構築して、ブラウザで見る 漏れはその方法で、自分のPC 内の画像フォルダ内の画像を、ブラウザで見てる 他には、5ch の書き込み内のリンク(a タグ)を取得して、 それが画像の拡張子なら、img タグに変換して、画像として表示したりしてる GUI は、HTML, CSS, JavaScript を使えばよい >>830 世界最大のソフトウェア開発プラットフォームで最も人気なプログラミング言語は何なのか? https://gigazine.net/news/20181116-top-programming-languages-2018/ さすがRuby!貫禄のランクイン!! Railsで作られたサービスということを差し引いてもすごい! 改訂2版 Ruby逆引きハンドブック、2018/8/28 株式会社マネーフォワード 今読んでいるけど、この本もすごい! 著者は、初版の「るびきち」から、上場企業のマネーフォワードの9人に変わったけど、 何人か、Rubyコミッターもいる この会社もRubyでは、Cookpad 並みにすごいかも 2015年まで5位の座を占めていたRubyは 2018年になると10位へ転落し、 トップ10から陥落しかけている状況。 rubyは落ち目だな 今のうちにPythonに乗り換えとくわ PythonはもうAIが機械学習で自動コーディングしてくれるそうだ むかしPerlで書いてたような書捨てスクリプトはRubyのが楽だし 適材適所 pycharm-ceの出来がいいから、ついpythonで書いちゃうな rubymineもceバージョン出してくれんかな(´・ω・`) atom使ってる人いる? 何故atomを使うのか聞きたい Railsで世界最高の開発者向けサービスを作って今はMSの社員としてMSから高給を貰っている方々によって開発されたエディタだからな これはもうRubyがAtomを生み出したと言っても過言ではない VSCodeは元々Atomからフォークされたものであるから、VSCodeの起源もまたRubyにあると言っても過言ではない MSは俺が出した金から社員に給料を出しているわけだから、 俺の先祖がAtomを生み出したと言っても過言ではない Railsの超初心者の質問なのですが、例外をキャッチしたらエラー画面を出さずにエラーメッセージをビューに送る処理を書きたいのですがうまく行きません。 コードです。 https://ideone.com/ubaMxO ideoneを使ってるだけで初心者って臭いがするなw >>845 render 使わないと何も返さないよ >>847 その答えは失格だなぁw 正しい答えは「例外をキャッチしたらエラー画面を出さずにエラーメッセージをビューに送る処理を書いたらだめ」だ >>848 あんまりよくわからないです インスタンス変数はビューから参照出来るんですよね? それとも例外の処理書き間違えていますかね? >>849 だから、例外は放っておけばいいの 余計なことしなくていい >>850 ではエラーメッセージはどうやってビューに渡すんですか? 例外が発生したらそのままプログラムを終了させてしまえと主張する気違いはたまに発生する コンソールアプリならアリかな。 それ以外は原則ナシだけども。 なんかバカな質問してました 手段忘れたけど自己解決しました Rails の質問は、web制作管理板の方へ書き込んでください >>851 エラーメッセージやなくて例外やろ? 例外は渡さなくていいって言ってるの rescueもしなくていいって言ってんの なんのためにRails使ってるんだよ? そんなクソ面倒なことRailsにやらせろよ >>852 > 例外が発生したらそのままプログラムを終了させてしまえと主張する気違いはたまに発生する そいつはバカだな。Railsは例外発生してもプログラム終了しないからな。さすがやで 掲示板実装できた これで初心者から初心者にステップアップだ ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる