モーダルを閉じる工作HardwareHub ロゴ画像

工作HardwareHubは、ロボット工作や電子工作に関する情報やモノが行き交うコミュニティサイトです。さらに詳しく

利用規約プライバシーポリシー に同意したうえでログインしてください。

アカウント プロフィール画像
だいふくうさぎ

Rubyを使った効率的なスクリプトの書き方を紹介

  • フィルター (AngularJS)
    AngularJS にはモデルの値を表示用に変換するフィルタという機能があります。コマンドラインにおけるパイプのように使用します。公式ドキュメントはこちらです。 フィルターの使用例 <!DOCTYPE html> <html lang="ja" ng-app="myApp"> <head> <meta charset="utf-8"> <...
    9/7/2021に更新
    いいねアイコン画像0
  • Ruby Nokogiri による HTML パース
    例えば Seleniumで複雑なことをしようとすると driver.page_source で取得したHTMLをパースしたくなります。このような用途のために、RubyにはNokogoriというライブラリがあります。 要素セレクタは2種類 XPathまたはjQueryでもお馴染のCSSセレクタを使用できます。本ページではCSSセレクタを用いた例を示します。 解析対象HTMLの読み込み Nokogir...
    9/7/2018に更新
    いいねアイコン画像0
  • Ruby ファイル入出力のコードスニペット
    読み込み sample.rb File.open("in.txt",'r:UTF-8'){|f| # r: 読み込み (省略可), # r:Shift_JISなどとすればエンコーディング指定可能 puts f.read } File.open("in.txt"){|f| f.each_line do |line| puts l...
    6/7/2018に更新
    いいねアイコン画像0
  • Ruby におけるクラス定義のコードスニペット
    sample.rb class Animal # クラス名は大文字で開始する必要がある (定数と同じ) @@class_var = 'ANIMAL' # クラス変数 (定数と区別) ANIMAL_CONST = 'ANIMAL CONST' # 定数 def self.class_method; puts 'class method' end # C++...
    4/13/2018に更新
    いいねアイコン画像0
  • Ruby で変数に値が入っていない場合に初期化する書き方
    "||=" と記載すると、既存の値が偽である場合にのみ代入を行うことができます。変数の初期化時などに用いられます。 sample.rb var = true var ||= "default val" p var var = false var ||= "default val" p var 出力例 $ ruby sample.rb true "default val"
    4/13/2018に更新
    いいねアイコン画像0
  • Ruby 多重代入および配列展開
    sample.rb a,b = 1,2 p [a,b] a,b = b,a # swap (右辺すべてが先に評価される) p [a,b] a,b = 1,2,3,4,5 p [a,b] # はみ出した分は捨てられる a,*b = 1,2,3,4,5 p [a,b] # はみ出した分を捨てない (配列化) c,d,e,f = *b # 配列展開 (この場合*は省略可だか省略非推奨) p [...
    4/13/2018に更新
    いいねアイコン画像0
  • Ruby におけるインクリメント・デクリメント処理
    Rubyにはインクリメント演算子やデクリメント演算子が実装されていません。イテレータが豊富にあり特段問題にはなりませんが、どうしても必要な場合は、"i = i+1"としたり下記のサンプルのようにnextメソッドやsuccメソッドを使用します。 sample.rb p i = 0 p i.succ # A->B, B->C,..., 1->2, 2->3,... ...
    4/13/2018に更新
    いいねアイコン画像0
  • Ruby コマンドライン引数を ARGV で取得
    コマンドライン引数を取得するためにはARGVを使用します。 sample.rb ARGV.each do |arg| puts arg end 出力例 $ ruby sample.rb 1 2 3 hoge 1 2 3 hoge
    4/13/2018に更新
    いいねアイコン画像0
  • Ruby コードスニペット (正規表現)
    sample.rb str = "001: This is a string." var1,var2 = 2,3 # 'EOS'とすると#{}による変数展開がなされない (%03dは展開される) doc = (<<"EOS" % var1) # 括弧は省略可。要は<<"EOS"の次の行からEOSまで。(参: <<-"EOS"とすると前に空白...
    4/13/2018に更新
    いいねアイコン画像0
  • コネクションプールとバッファプールについて
    コネクションプール データベースにアクセスするときに必要なコネクションを確立するためにはある程度の時間がかかります。そこで、一度確立したコネクションは解放せずに一定数プールしておいて次回のアクセス時に使い回すことを考えます。このコネクションプールという仕組みをクライアント側で実装することで、コネクションをプールしておくためのメモリなどは別途必要にはなりますが、アクセスのためのコネクション確立処理が...
    9/14/2017に更新
    いいねアイコン画像0
さらに読み込む