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/ >>674
まったく別の言語だからね。しかたないね。
Perl5は今でもアップデートされてる。
ただ、互換させようともしてたはず。
Perl5スクリプトをPerl6エンジンが直接解釈できるようにして。 >>661
「ruby == === eql equal」で検索!
たいてい、Ruby では、== 、JavaScript では、=== を使う
>>665
「ruby python strptime strftime 」で検索! >>678
JAVA とJavaScriptくらい違うよね。 Windows10 で、MSYS2 を入れていないので、WebSocket gem がコンパイルできません。
どこかに、バイナリがありませんか?
Rails の日付時刻や、数字をカンマで3桁区切りにする関数などを使いたいので、
Rails のUtility 関数だけ、インストールできませんか?
WebSocket が無いので、Rails をインストールできないのです >>682
そんな不便なWindows 10なんか、さっさと捨てなさいな。 >>682
ActiveSupport だけ入れればよろし ありがとう
Windows10 で、WSL は入れているけど、コンパイル環境は数GB もあるだろ。
漏れのノートPC は、100GB ほどのSSD で、Windows だけで半分使っているから
コンパイル済み、バイナリだけ欲しい ドキュメント軽視とWindows蔑視はRubyコミュニティの伝統。
コードが仕様だ!Windowsなんて使ってる奴が悪い! Unixで開発してるとGCCツールチェインは自然に入ってるからね
はっきり言うね、Windows使いに人権はありません Windows 10「WSLでその常識を全部覆してみせたで?」 まあWSLはUNIXそのものだからね
Macより互換性高いくらいだ
いっそ「WinならWSL使え」でWin版は完全に切り捨てたほうが、
初心者が勘違いしてWin版入れてしまって得るものの皆無な地獄を見る悲劇が起きなくて幸せだと思うわ UNIXじゃなくてLinuxな
NTカーネル上でLinuxカーネルを全く使うことなく
Linuxカーネルそのものをエミュレートしてしまった >>682
VirtualBoxにCentOS7を入れてやるのが現実的だと思う Windows10 で、MSYS2 無しのRuby Installer を入れた
漏れのノートPC は、2コア・i3 の安物だから、VirtualBox を使えない。
SSD の残りも、数十GB しかないし
Windowsのirb は日本語でバグるから、WSL で、grep, irb を使っている
WindowsのExplorer では、BOM 無しUTF-8 は、日本語で検索できないから、WSLからgrepを使う。
BOM 有りUTF-8なら、Explorerでも検索できるけど、Linux系のアプリでバグるから使えない もっと言えばSSDの残りが何バイトとかも関係ないしな vmware playerの方が良くね?(非営利の個人なら無料) >>697
VirtualBoxは営利でもサポート不要なら無料って見解が出てたのと
VMwareはWindowsゲストのパフォーマンスには力入れてるけど
Linuxゲストはあんまり充実してないイメージ(偏見) Perlは正規表現で貢献した
ただ、そのおかげで将来正規表現だけでプログラム書けそうな気がしてくる >>699
Linuxディストリビューションが多くてサポートできないから、vm-toolsをオープン化するので、各ディストリビューターが自分達で用意してねっじゃなかった? SQLなんてプログラミング言語じゃないだろ
っていうのと
正規表現なんてプログラミング言語じゃないだろ
っていうのと
どっちが違和感ある? SQLはQuery Language(言語)
正規表現はRegular Expression(表現) >>704
前者。ただSQLはクエリーだけにとどめておきたい。 Rubyでexeファイルを作る方法を調べWindowsのコマンドラインプロンプトで実行する
プログラムをocraを使いexeファイル化しました。コマンドプロント画面がすぐに閉じてしまうのですが、
どうすれば表示したままにできますか?
教えてくださいよろしくお願いします。
Ocraで、rubyからWindowsの実行ファイル(exe)を作る
http://myruby.seesaa.net/article/124126159.html
sleepコマンドとか使うんですか??
助けてください。。。 >>709
コンソールアプリケーションはダブルクリックで実行するものではない
予めコンソールが開いている状態で、その中で実行すれば勝手に閉じない
被差別ドザには分からないかもしれないが、Ruby界における唯一絶対のプラットフォームであるUNIXにおいては、
コンソールは常に開いていてコマンドでの作業を日常的に行うもんなんだよ
コマンドプロンクソなんかとは根本的に違うの >>709
日本語環境ならneriの方がお勧めだよ(そもそもexeにするのがお勧めじゃないというのはナシ)
コマンドプロンプトから実行するかrbファイルの最後に
puts '終了します'
gets
とでも付け足しておこう exeで配布するようなアプリで最後にputsとか最低最悪でしょ
そのようなユーザーとの対話を必要とするコマンドラインアプリは自動化の妨げになるため、非常識な行為として極めて嫌われ蔑まれる
ドザはただでさえRuby界では人間扱いされてないんだから、路上にウンコしない程度の畜生としての最低限のマナーは守りなさい rubyエンジニアはエンジニアの頂点に位置するからドザみたいなミジンコの糞みたいな存在は許さないんだよ > そのようなユーザーとの対話を必要とするコマンドラインアプリは自動化の妨げになるため、
vim「・・・」 >>714
vimはCUIアプリではあるけど通常はコマンドラインアプリではないし、非対話モードにも対応しておりコマンドラインから使用することも可能だ
そんなだからいつまでもRubyistが真の上級民から蔑まれてドザがはけ口にされるんだよ だから対話モードのコマンドプロンプトアプリとして作れば良いのだよ >>712
配布じゃなくてocra試してみただけなんだと思ってレスしたんですけど…… >>717
配布する予定がないなら試す必要ないでしょ
時間の無駄じゃね?
どうせRubyなら実運用環境はLinuxなんだし >>718
それはさすがにエンジニア心を分かってなさすぎな発言だと思うけど
エンジニアは「面白そうだからやってみる」という好奇心で動くことも多いんだし macbook無印でRailsやってる人、開発してる中でCPUの性能不足を感じることあります? ない
Railsは10年前に流行ったレガシープラットフォームであり、当時から開発環境はほとんど進化していない 開発はサーバー上でやってるからMacだろうがWindowsだろうが何も変わらない
CPU性能すら普通で問題ない U-22プログラミング・コンテスト2018 最終審査会
2018/10/21(日) 11:50開始
http://live.nicovideo.jp/watch/lv315793125?ref=qtimetable&zroute=index 問題文も不親切だと思う
名前を入れたら年齢と住所が出てくるようにすればいいのか、名前を入れて住所だけ表示する、住所を入れて年齢だけ表示すると言うふうにしないといけないのか……
わからない…… >>726
profiles の要素を一つ一つ調べて与えられた条件と比較してtrueを返す要素を返せばよい
def search(profiles, key)
profiles.select{|profile| yield profile[key]}
end
search(profiles, :age){|age| age >= 20}
# => [{:name=>"静岡 太郎", :age=>34, :address=>"静岡県"},
{:name=>"名古屋 次郎", :age=>25, :address=>"愛知県"}] というか>>726の模範解答間違ってるな
=~使ってるせいでageでsearchできない ruby でストリームで zip を作るのってどうしたらいいんですか?
zip を扱うには rubyzip っていうのを使う記事が多いけど
zip を作るときにストリームでファイル1つ1つ追加できるっていうだけで
出力は完成してからしないといけないみたいで
少しずつ中身を取り出す方法ってないでしょうか?
ZIP自体はストリームに対応してるみたいなんですが zlib ドキュメントよんでみたんですけど
複数ファイルをZIPにするってどうやるんですか?
単一ファイル操作しかないようにみえるんですけど 以下を実行したら、ABCDE, 0 の順番で出力された。
( )に関係なく、左側から順番に評価された!
Java でも同じらしい
ary = [ ]
def getValue ( str )
puts str; 0
end
p ary[ getValue("A") ] = getValue("B") + ( getValue("C") + ( getValue("D") + getValue("E") ) ) irbの設定ファイルである~/.irbrcを任意の場所に任意の名前で設定することってできますか?
irb(1)のマニュアルを読む限り設定できなさそうなのですが なにぶん素人なので実は勘違いだということもあり質問しました。
よろしくおねがいします。
https://linux.die.net/man/1/irb >>737
うーん。ログインシェルで
export IRBRC=~/LOCAL/irbrc
としてるんですけどどうやら反映されていませんね。
irbにおいて
> puts ENV['IRBRC']
とやると/home/username/LOCAL/irbrc
と返ってくるので場所は読み込まれていると思うんですけどね……。
irb 0.9.6 on Debian 9 railsのform_withって何をループさせてるの? >>738
/home/username/LOCAL/irbrc
ここに、ディレクトリ・ファイルを作っていないとか? >>730です
サーバーサイドで複数のファイルをZIPにつめてダウンロードさせたいけど
ファイル数が多いから一度にメモリ上におきたくない >>743
そんなもん一旦ファイルに保存してzipコマンド呼んで解凍すればよい
それがスクリプト言語やUNIXの正しい使い方だ
他のプロセスに役割を任せることは恥ではない あきらめてその方向で実装してるけど
今度はダウンロードが始まるまでに時間がかかるせいで
JSで何かしらプログレスかindicatoorつけなきゃいけないんだけどめちゃめちゃ難しい
これ以上はスレチだからいわないけど正直rubyでストリームDLできればこんな苦労しなくてすむのに… >>744
> それがスクリプト言語やUNIXの正しい使い方だ
APIやライブラリ呼ぶなってこと?
C言語使う意味ないだろ はぁ、zlibってzipなどのファイル形式で使用されてる
圧縮アルゴリズムのライブラリじゃん
アルゴリズムだけあったってファイル作れるわけ無いだろ >>747
思想を理解してないみたい
APIやライブラリを呼ぶことこそUnix流なんじゃないの?
だから、Pythonはその代表格 APIやライブラリを呼ぶのと役割以上の余計なことをしないのは別問題だよ
zipコマンドがzlibを使うのは当然だが、例えばインターネットのURLからのダウンロード機能を備えるべきではない アプロダの様にタイムカウンターを付けて時間を稼ぎ、用意できたらリンクを表示するようにすれば良いのでは? >>749
だからどうすればいいか質問したんだけど
zlibよめばできるっていうから… ていうか独学で半年 じつむで半年rubyさわったけど
ここみてるとまだ初心者でもなかったんだなって
回答のレベルが高すぎるのか不親切なのかわからないけどまったくやり方がわからない
Railsの案件なんか手出すんじゃなかったわ
JavaやJavascriptは独学でも質問スレやteratailあたりで回答してくれる人が結構いるんだけど… 初心者スレには初心者しかいないんだから、
茶化すだけでちゃんと答えもったやつがいるわけないだろ >>730
完成前に内容を取り出すのは、Ruby の機能じゃない。
YouTube などのライブ配信機能
やって来たデータだけを変換して、すぐに送り返す
質問者は名前欄に、質問したレス番号を入れてくれ gemについての質問です
$ gem install xxx --user-install
とした場合
~/.gem/ruby/2.3.0/bin/
に実行可能なファイルが作成されますがこのディレクトリを取得する方法を知りたいです。
$ gem env GEM_PATH
などでも一意に絞れず……。
$ gem install xxx --user-install
した時のパスを取得する方法ってないんですかね。 >>757
$ ruby -e 'puts Gem.bindir(Gem.user_dir)' >>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くらいは有効にしてるけど
なんかインタラクティブで便利な小関数とかあったら教えてほしいです。 ■ このスレッドは過去ログ倉庫に格納されています