Ruby 初心者スレッド Part 64
レス数が1000を超えています。これ以上書き込みはできません。
というか>>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くらいは有効にしてるけど
なんかインタラクティブで便利な小関数とかあったら教えてほしいです。 ハッシュ内に、あるキーが存在するかどうかだけを知りたい場合、
配列の要素をキーにして、配列からハッシュを作るのに、
以下のように書いていますが、もっとよい書き方がありますか?
ただし、ハッシュの値は使わないので、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は例外発生してもプログラム終了しないからな。さすがやで 掲示板実装できた
これで初心者から初心者にステップアップだ おめでとう
おれはまだRailsすらinstallできてない 漏れは、Windows10 で、MSYS2 コンパイラを入れていないから、
websocket のバイナリが無いから、Rails は使えない。
どこかに、websocket のバイナリは無いの?
https://www.mirrorcommunications.com/blog/how-to-install-ruby-on-rails-on-windows-10-with-postgresql
2017/04/22
Windows10, WSL
Ruby 2.4.1
Rails 5.0.1
動画もある
まあ、Rails の話は、webprog 板へ書き込んで! rails+windowsはツラすぎるから
WSLかVagrant使え ツラ過ぎるというより意味がないんだよ
どうせ運用環境はLinuxなんだからWinでの苦労なんて便所の落書き以下の意味すらない >>862
これマジ?
既にエディタの環境構築でひと苦労なのに、Linuxの構築もしないといけないのか……
Windowserは不遇だな…… >>864
だから言ったのに… >>686-687
信者も相手のOS確認せずに布教して投げっぱにするなよ。
10人に石投げたら8〜9人がWindowsなんやぞ。
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使いに人権はありません cloud9使えばいいじゃん
端末のOSなど一切関係ないから
ブラウザさえ使えればいいからクソノートでもキーボードさえついていればいい Ruby Mineの調子が悪いのでエディタ・IDEを変えようと思うのですがオススメありますか?
vimキーバインドにできてスペルチェックあって自動でend挿入出来るのがいいです >>867
Ruby教の教義的にはspacemacs
世間一般では圧倒的にVSCode 色々使ったけどやっぱvs code最強だわ
宗教上の理由で使えない奴らかわいそうw VSCodeはカーソル移動でホームポジションから手を離さないといけないのがなー
Mac使えばいいんだろうけど、そのためだけにMacってのも VimやEmacsのキーバインド使えばいいでしょ
コマンド入力による操作体系が強力だから少なくともRubyMineに比べたらキーボード中心で使いやすいし 別にAutoHotkeyでキーバインド変更しているから無問題 MacのキーバインドをWindowsやLinuxでも採用すればよかっただけなのにな
なんでわざわざ変えたんだろう >>873
歴史的に見ればMacの方が後だよ。
Macの今のキーバインドが出来たのは2000年ごろだ >>874
1984 Macintosh
1985 Windows
1991 Linux >>878
1984年ごろのMacのキーバインドはホント糞だったよ OSXからだよ。Unix系の素晴らしいキーバインドを取り入れたのは
Unixは最初から素晴らしかったからね UNIXじゃなくてEmacsだろ
今やUNIXエディタ戦争はVimに完敗し、SublimeやAtomでMacの独壇場だったモダンエディタ系も今やMSの天下
RailsがMacにプリインストールされてイケイケだった頃のRubyが懐かしいな viって使わないとコマンド忘れちゃうね
仕方ないのでnano使ってる 教本に書いてあるクラス定義の例題プログラムが全然理解できない……つらい…… プログラミングには向き不向きがあるから諦めることも大事
向いてない奴が頑張っても生涯クソブラック企業で奴隷だぞ Ruby でオブジェクト指向を勉強するのが、一番よい
Rubyでは、あらゆるものがObject だから、Class 自体もObject
self が、Classからnew したインスタンスを指すのが普通だが、
特異メソッドの文脈では、Class自信を指す
どの文脈なのか注意する。
Classの地の文では、selfはClassだから、ここでは特異メソッドになる。
インスタンスの文脈にならない
@インスタンス変数と、@@クラス変数の他に、@クラスインスタンス変数という変態もある。
これは、selfがClassの文脈で、@を使った場合に起こる。
この場合、クラス自身のインスタンス変数となり、サブクラスへ継承されない
たのしいRuby 第5版、2016
を読んだら、以下の2冊を読むとよい
Effective Ruby、2015
改訂2版 Ruby逆引きハンドブック、2018/8/28 > Rubyでは、あらゆるものがObject だから
あれ?Rubyってメソッドはオブジェクトだっけ?
JavaScriptはメソッドがオブジェクトだから
function foo() {}
console.log(foo.name)
とかできるけど、Rubyって無理だったよね? Rubyではブロック自体や単独のメソッド参照はオブジェクトではないよ
第一級関数ではない block、proc、lamdaを華麗に使い分けるRuby!さすが!
全部functionでやるjavascriptは汚い!さすがjavascriptきたない! 処理は、わざと第一級関数・オブジェクトにしなかった
オブジェクトはレシーバー・主体で、メソッドはそれに対する操作。
この区別を厳格にした
そして、メソッドを持ち運ぶ場合だけ、block, proc, lamda に変換する。
基本は、クロージャの実装ある、block
JavaScript では、関数オブジェクトとは何なのか?
抽象的すぎて、よくわからない >>890
この池沼にも理解できるように意図して設計したとしたらRubyは凄いわ
まあRubyの obj.method がメソッドオブジェクトを返さない実際の理由は、
括弧を省略することで属性のように見えるというアイデアに固執したせいなんだけど ローカル変数・無引数メソッドの、区別が難しい!
無引数メソッドに代入すると、新しいローカル変数が作られて、メソッドが隠される。
ただし、ローカル変数が見えないスコープでは、メソッドが参照されるが、
f( ) のように、( )を付けるとメソッドが呼ばれる
def f( ) "method" end
p f #=> "method"
f = "var"
p f #=> "var"
f = "var"
p f( ) #=> "method" >>889
アロー関数知らんのか
RubyにもUnboundMethodがあることはある。 >>894
知ってるが。
>>889に(function(){}).bind(this)のシンタクティックシュガーを取り立てて書かなきゃならない意味とは?
マウント取りたかったのかな? メソッドをオブジェクト化することはできるけど、メソッド自体は違うね 根本的な思想が違うんだよ
obj.method(arg)
JavaScript : obj から method プロパティの値を取り出し、その値を関数オブジェクトと見做して呼び出す。
Ruby : obj に「method という名前のメソッドを呼び出せ」というメッセージを送る。それにどう反応するかは obj の勝手である。
ただし、Rubyは内部的にはメソッドがオブジェクトとして実装されてたりしてごっちゃになってるので一貫性に欠ける無茶苦茶な仕様になってる。 >>898
(x => x * 2)(3)
//=> 6 >>899
別に無茶苦茶ではないけど
何を持って無茶苦茶と言ってるんだろう?
俺様の感性に合わないこと? >>900
なんで俺に言うんだよ無茶苦茶って言ってる>>898に言え とりあえず、Rubyは全てがオブジェクトだという嘘をつくのはやめろって言う話 知らんよ。なぜかRuby厨の自慢になってるんだよ。
「全てがオブジェクト(嘘)」 あれだろ、数値とかがオブジェクトではないJavaとかPerlと比べてるだけだろ
Rubyが出た当初の自慢話を今も引きずってると思い込んでる時点で何だかなという感じ そもそもなぜそれが自慢になるのかがさっぱり分からんな
しょせんSmalltalkの顰みにならったに過ぎない変態仕様を… 空白に表示されている所は、タブ文字ですが、
{ |row| row } のように、無処理のブロックの短縮形は、ありますか?
require 'csv'
# タブ区切りで、要素中にもタブ文字・カンマあり
text = <<TEXT
あ "A a" 1,11
い "B b" 2,22
TEXT
result = ""
# 区切り文字を、タブ文字からカンマに変える
options = { :input_col_sep => "\t", :output_col_sep => "," }
CSV.filter( text, result, options ) { |row| row }
結果
あ,A a,"1,11"
い,B b,"2,22" >>912
CSV.filter( text, result, options, &:itself) ありがとう
Ruby 2.2 から、Kernel#itself, &:itself が出来たのですか >>914
古いバージョンなら String#.to_s でもいいんじゃない youtubeでプログラミングやれば転職やフリーの仕事がまあまあできる、実際は
どうなんでしょうか。自分も学校に通ってプログラミングを習うつもりですが、
転職の際に役立つスキルとPRとして使えるのか、そのまま転職、または何かのきっかけレベル
になるのか、その辺りがわかならいままです。 中途未経験でPGになるならはじめからまともな労働条件を望むのは非常に厳しい
ド糞ブラックならFizzBuzz書ければ通るから、まずはそこで3年耐えて、実績がついたら転職だ
その覚悟があるならいらっしゃい あと、Rubyはかなり上のレベル(君が日本のITベンチャーと聞いて思い浮かぶようなところ)
までいかないと人並みの給料貰えないし、そういうところは脱Rubyが進みつつあるから、よほどRubyに強い拘りが無い限りはお勧めできない
無難なのはJava、C、C#、JavaScript(できればNodeも)あたりだね 与えられた数値をより短い文字数で表せる計算式を作れたら大金持ちになれる。 YouTube を見たら、学費無料もある。
転職請負人・育成機関だろ。
プログラマーに育て上げて、企業が採用したら、お金をもらう
Ruby は、短時間で学べる事が多い。
バグで時間を取られないから、
その時間でデザインパターン・フレームワーク・Linux コマンド・環境構築運用を学べる
Rubyの人は、広く浅く、システムの全行程がわかる。
Java のような関数だけ書けて、システムがわからない土方じゃない!
Rubyは、SE に近いプログラマー
画面は、HTML, CSS, JavaScript(JS) で作るから、これらにもRubyは応用できる。
JS, Kotlin などは、Rubyに似せているから、他言語にも応用できる お前ら責任持って相手してコイツ↑をこのスレに引き付けとけよ。
他のスレ迷惑してんだからほんと。 >>923
ZeoSyncという会社が100分の1程度にまでランダムなデータを圧縮できる技術を開発した Rubyの勉強したいんだがどのように覚えたらいい?
最終的にはRailsを使えるようになりたい
Rudyの基本的な文法覚えるのと他にやるべき事ってある? さっさとRails使え。RubyとRailsの勉強はあとからだ >>922
>脱Rubyが進みつつある
Ruby から何に移行しようとしているのでしょうか? >>926
ありえない…
ランダムデータは基本的に圧縮できないものなのでは? progate のサイトに、Ruby, Rails 5 の教室がある
無料かどうかは、知らないけど WEB+DB などでも、Ruby で有名な、クックパッドの社員の記事をよく見る
Rubyが、日本を引っ張ってる感じがする >>935
>Rubyが、日本を引っ張ってる感
Rails 以外でとんがった企画があれば、あるいは >>933
それRubyがPowerShellより優先度低いってことなんだけどわかってる? progate のサイトで、Ruby を学んでみたけど、途中から有料になる >>937
ただの順番やん。w
対応されたことに意味があるんやで? irbでコード直打ちで試行錯誤でクラスとか作りながら、「あ、動いた動いた」となったときに
そのコードを保存しておこうと思ったらどうすればいいの?
historyで行を拾っていくしかない? そんなことしないで、テストコード書いて
テストとおったらOKにってやり方にしなさい
テストコードあれば何度でも最初から試行錯誤できる
アクロバット的なことをしなくていい >>941
そんな段階で書いたコードなんか後でクソの約にも立ちません
潔く捨てなさい いや、業務でとかじゃなく暇つぶしでirbでいろいろ試してるのが楽しくて、で、
「あ、こんなこともできるんだ」とふと発見があったときに
そのコードを記録しておく方法がほしいんです、アクロバットとかじゃなく
historyしかない? >>944
そんな小学生レベルのオナニーが楽しいのは初心者のうちだけ
断言するが、その段階を脱した後でそれを見ることは絶対にない 例えばprologとかだとreplでいろいろ遊んだ後にlisting()とかやるとpredicateが一覧できるよね?
そういうことがやりたいんだけど そういうのが好きならPythonに乗り換えてJupyterでも使ったら?
たぶん気にいると思うよ rubyにはあるの?ないの?
それが知りたい
ないんならないで
javascriptだって関数をtoStringすればコードが落とせるよね?
rubyだって簡単に何かありそうだと思うんだけど、rubyはあんまり知らないから聞いてる 拡張機能・テーマも多いし、カラフルな、VSCode で十分
拡張機能のCode Runner で、右クリックメニューから、
ファイル全体または選択部分だけを実行できる
irb は、MSYS2, Windows で、日本語ではバグるから、WSL, Linux で使う。
たぶん、pry も、irbと同じ 5ch から、文章をエディタ(TeraPad)へコピーすると、
行頭・行末に半角空白がつくので、それを除去するために、
Windows, VSCode で、以下のソースに、文章をコピペして実行しています
皆さんは、どうやってますか?
TeraPad では、行頭の半角空白だけは、除去できます
text = <<TEXT
ここに、文章をコピペする
TEXT
text.each_line do | line | # 各行
line.strip! # 先頭末尾の空白類を削除する
puts line
end >>952
破壊的メソッドを使う意味がわからん
puts line.stripで十分だろ
まあおれならこうするが puts text.strip.split(/\s*\n\s*/m) >>948
ここは初心者に優しいスレというよりは
初心者レベルの無知しかいないスレだから
ちゃんとしたところでちゃんとした人に訊いた方がいいよ pryなら"$ Klass"でクラス定義を見ることもできるね
ただ>>941みたいなケースにはあまり役に立たないけど 専ブラで空白除去くらいやってくれるだろ
ちなみに、Ruby2.3で<<~リテラルが追加されたので行頭消せるぞ system "echo あいう | clip"
Windows で、文字列をクリップボードに入れるのは、これで出来るのですが、
文字列の変数を渡すのは、どうすればよいの?
>>954
破壊的メソッドの方が、少しメモリを節約できるかも そんな少量のメモリをケチりたいならCでも使っとけ
str = <<TEXT
aaaaaa
bbbbbb
cccccc
日本語
TEXT
IO.popen('clip', 'w:cp932') do |clip|
clip.print str
end >>958
windows用のclipboardを操作するgemがあるから使うといいよ
win32-clipboard
あと誤差みたいなメモリ気にするより可読性気にしたほうがいい 出来た! これで、5ch の文章をコピペしても、先頭末尾に空白が付かない!
Windows で、__END__ 以下に、先頭末尾に空白がある、複数行文字列を書くと、
それを除去してクリップボードに入れる
ary = [ ]
DATA.read.each_line do | line | # 各行
line.strip! # 先頭末尾の空白類を削除する
ary.push line
end
IO.popen( 'clip', 'w:cp932' ) do | clip |
clip.print( ary.join "\n" )
end
__END__ DATA.read.each_line.map(&:strip)って書きたくなる
それはそうとpry使うときにクリップボードの内容をStringのインスタンスとして取得したり
任意のMarshal.dump可能なインスタンスをdumpした結果をクリップボードに保存しておいて
それからインスタンスを取得したりするメソッド用意しておくと
端末間で手軽に配列コピーしたりできて便利 Windows で、クリップボードから取得して、クリップボードへ入れた
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
新しいpowershell では、クリップボードから文字列も取得できる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip )
IO.popen( 'clip', 'w:cp932' ) do | clip |
clip.print( ary.join "\n" )
end >>963
DATA.each_line.map(&:strip)で良い i⌒j、ィ⌒j
,. ‐-ゝ,J'ー'`li'
」、_)´ ||,r´ ̄lj⌒j
r'´、_ノヾ lj 人 ,)
{ 、jヽ、‐-u-─イ lnj
lj {,nl rJ ~
, ',ニ __7 lj {j ,l L==、丶
( ( ( 'ー'-‐'^ーー‐` ) ) )
ヽ、ヽニ二二_二二ニ‐' ノ
Rails active_support/core_ext がないと生きていけなくなる まず素人は、Nokogiri, Selenium WebDriver で、文字列で、HTML を組み立てる所から始める
str = <<"EOT"
<style type="text/css">
img { height: #{ picture_height }px; }
</style>
EOT
次いで、テンプレートエンジンのERB を使って、Sinatra でフルスクラッチでいじくり回す。
その後、Rails
遊ぶには、Sinatra がよい。
自然と、テスティング・フレームワークの構成がわかるようになる ■ワイヤレス給電ができる道路で、送電線が消え(ワイヤレス給電のコイル部分が送電線の役割も果たす)
バス、タクシー、トラック運転手やamazon、郵便配送員が自動運転化され、
ガソリンスタンドがなくなり、工場作業員(EVはモーターとバッテリーをくっつけるだけでできるので、
格段に生産工程がシンプルにできる)も自動化され、コンビニ店員もデジタル決済化で消え、
いまわしい存在が道路や街の景色から消えれば、
どれほど輝いて街の景色が見えるだろうか。
「すべては、道路をワイヤレス給電できるかどうかにかかっている」
卒論では、送電線とコイル一体化型の
道路のワイヤレス給電システム実現に向けた研究を行う可能性が高い。 元祖忍者村 嬉野温泉 肥前夢街道は、佐賀県嬉野市の嬉野温泉にある17世紀の長崎街道を再現した忍者体験テーマパークである。
佐賀元祖忍者村 肥前夢街道の5つのポイント
遊ぶ
手裏剣打道場・吹矢道場・からくり夢屋敷・忍者修業場など、忍者体験が楽しめる施設もたくさんございます。子供はもちろん、大人も忍者衣装に着替えて、ワイワイ忍者しましょう。
忍者ショー・忍者ミュージアムなど、見て楽しむ夢街道も沢山ございます。忍者とは関係ないですが、山田全自動館もございますよ。
体験する
扮装コスプレ写真館や夢工房(絵付け体験)顔ハメパネルなど、忍者以外にも体験できる施設もございます。
食べる
カレーライスやカレーうどん等の軽食をご用意しております。土日祝日、長期休暇(春休み、GW、夏休み、冬休みなど)に営業してます。
買う
夢街道で一番大きなお土産屋さん。
嬉野名物や民芸品など盛り沢山で大人気です! TIOBE12月インデックス値ランキング
1 Java 15.932% ↑
2 C 14.282% ↑
3 Python 8.376% ↑
4 C++ 7.562% ↑
5 Visual Basic .NET 7.127% ↑
6 C# 3.455% ↑
7 JavaScript 3.063% ↑
8 PHP 2.442% ↑
9 SQL 2.184% ↑
10 Objective-C 1.477% ↓
11 Delphi/Object Pascal 1.396% ↑
12 Assembly language 1.371% ↓
13 MATLAB 1.283% ↓
14 Swift 1.220% ↓
15 Go 1.189% ↓
16 R 1.111% ↓
17 Ruby 1.109% ↓
18 Perl 1.013% ↓
19 Visual Basic 0.979% ↓
20 PL/SQL 0.844% ↓ 4度目の挑戦でやっとRuby on Railsのインストールに成功。
Rubyのバージョンを少し古いのにしてみたら、すんなり行った。
疲れたw rubyいじってる人はサーバーどうしてるの?
さくらvps?heroku? 40万くらいじゃない?
会社だから正確には知らない
個人だともうRuby使ってないけど、Lambdaで遊ぶ程度で無料枠内 ヒアドキュメントの識別子は
END,EOS,EOL,TEXT
などあり、スタイルガイドにもどれを使うべきか書いていない
どれが主流なんだ? >>985
transient heap と ファイバの高速化 >>986
俺は中身によってその都度変えるようにしてるな
JSONとかYAMLとかHTMLに限らずREADMEとかBLACKLISTとかも使ってる
自家製スクリプトを軽く漁ってみたら「ポエム」とか「めぐみん」なんてのも出てきた こんちは質問宜しくて?
超初心者で何も分からんから質問しようもないんだけど、rubyでサイトにアクセスさせてたんだけど
そのrubyが急に動かなくなってしまいましてどうしたもんかと。
こうしたら動くとかあれば、もしくは何か確認するべき部分あれば教えて貰えると助かりますです、はい >>995
パソコン冷やすと動くよ
CPUの温度を確認しよう >>995
> こんちは質問宜しくて?
宜しくてよ 動かなくなる前と後で何をしたか?
何もしていないという決まり切った嘘の文言は無しで。
何もしていないで動かなくなる事は本体が壊れでもしない限りほぼ無い。
それまで正常に動いていたものが壊れてもいないのに動かなくなるのは必ずその前に何かをしたから。 >>998
動いてるんかなこれ?みたいなのでrubyを起動させるbatファイルは何回かダブルクリックしました。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 108日 20時間 38分 33秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。