Ruby オブジェクト参照がよくわかるソース Rubyの変数の考え方は、オブジェクト自体ではなく、 オブジェクトの参照 です。 変数に値を代入するときは、代入先の変数の中にオブジェクトをコピーするのではなく、変数に オブジェクトの参照を格納 しています。 Stringオブジェクトを作り、参照を s に格納します...
Ruby 文字の配列の落とし穴 Array.new(3,'a') と Array.new(3){'b'} は違う Array.new(3,'a') と Array.new(3){'b'} は全く異なる動きをします。 同じ文字列オブジェクトへの参照の配列を作りたい場合は別として、通常は、同じ文字の配列を作る場合は、 Array.new(3){'b...
Ruby 配列を配列に入れるとき注意 参照渡しならないように 配列オブジェクトに dup や clone メソッドを実行すると、元のオブジェクトからコピーしたオブジェクトが新たに作られます。 dup や clone は、オブジェクト自身を複製しますが、 オブジェクトの指している先までは複製しません 。つまり、C言語でいうポインタ...
Ruby dupは、配列のオブジェクトは同じだが、中身のオブジェクトは同じものを指している Rubyの dup は、配列オブジェクトは異なるが、 配列の中身のオブジェクトは同じものを指している 。 配列のオブジェクトIDは 異なる 。 pp origin_arr = ["111", "000"] # =...
Ruby librosaとう音声処理ライブラリーについてChartGPTに聞いてみた librosa という便利そうな Pythonの音信号処理ライブラリー があることを知りました。 音声データの 可視化 テンポ や ビート の検出 周波数分析 メロディー ・ 和音 の分析 ピッチシフト タイムストレッチ 楽曲 構成 ...
Ruby irbでエラー 指定されたモジュールが見つかりません fiddleが影響 Ruby の irb で、エラーがおきました。いろいろ調べて最終的に解消できました。 <internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb...
Ruby faraday Gemでエラーになるので解消 Windows版 Ruby で、 faraday の インストールでエラー がおきました。いろいろ調べて最終的に解消できました。 >gem install faraday-patron Temporarily enhancing PATH for MSYS/MINGW... Buil...
Ruby言語は、サマーウォーズなど、いろいろなところで使われています Ruby言語 が使われているものを調べてみました。 なんと、細田守監督のアニメ映画である「 サマーウォーズ 」で使われているとのことです。 映画の画面に映ったコードが Ruby だったらしいのです。 そのほか調べてみるとこんなサイトで使われています。 ク...
人気プログラミング言語の変遷 1965年から2022まで 人気プログラミング言語 の変遷を1965年から2022まで動画でまとめたYouTubeが面白いです。 NEW! Most Popular Programming Languages 1965 - 2022 - YouTube Fortran から始まって、今は Pyt...
Ruby 書評 『アジャイル時代のオブジェクト脳のつくり方 Rubyで学ぶ究極の基礎講座』 わかりやすそうで難しい 『 アジャイル時代のオブジェクト脳のつくり方 Rubyで学ぶ究極の基礎講座 』という本を読んでみました。 複数の著者 で書かれており偏りがないのと、 まつもとゆきひろ さん監修 ということだし、 漫画チックで初心者向け かなと思ったのですが、かなり難しい本です。 いわゆる...
Ruby curl 大量のファイルを複数同時にダウンロードし、フォルダーを指定して保存する方法 Ruby で、 Opne3 と curl を使用して、 フォルダー指定でファイルをダウンロードする方法 です。 大量のファイル をループでダウンロードする場合は、 Parallel を使って 同時に複数起動 すると良いです。 下記の例は、 5個のスレッド で、 ...
Ruby case文を;で区切ってコンパクトに記述する Rubyの Switch文 は、 case when で記述します。 case文の値を変数に代入 する事もできるのでとても使い勝手が良いです。 ret = case sel when "get" GetDatMain() when ...
Ruby 範囲に入っているかチェックする === Rubyで、 === を使うと 範囲チェック ができます。 Rubyでは、 === は、JavaScriptのような 厳密等価ではなく曖昧等価 のような感じです。 (0..10) === x # true,falseを返す もしも逆に x === (0..10...
Ruby URI.openを使って、動画や画像などをダウンロード プログレスバーもつけてみた Rubyで、 動画や画像をダウンロード する場合は、 openメソッド を使うとダウンロードできます。 openメソッド は、以前はそのまま使えたのですが、 URI.open と URIを指定しないとエラー になってしまいます。検索すると結構openのままのソースコードがヒ...
Ruby Selenium Chromeヘッドレス 使いこなしの9つのツボ。Seleniumオプション設定完成版! 使用例(ログイン、ダウンロード、リンク取得) Selenium で、 Chromeをヘッドレスで使用 する場合、9つの注意(ツボ)と、私が設定したオプション設定を含めたSeleniumのソースコードを紹介します。 Selenium 9つのツボ WebDriverは自動的にバージョンをあわせる User...
Ruby Selenium Chromeヘッドレスで、リンクをクリックしてダウンロードさせるためのオプション設定 通常のChromeの場合、動画やPDFなどダウンロードできますが、 SeleniumのChromeヘッドレスにするとダウンロードできません。それは通常時の設定とSelenium時の設定が別 だからです。 そのため、 ダウンロード時の追加設定 が必要になります。 まずは...
Ruby Seleniumを使うため、ChromeのWebDriverを自動的にChromeのバージョンと合わせる方法 Selenium を使うためには、 WebDriver が必要ですが、 ブラウザのバージョンと合っていないとエラー になってしまいます。どちらかが新しくてもだめです。 This version of ChromeDriver only supports Chrome vers...
Python VBS Ruby bash Java C# ChromeDriverの自動更新 Seleniumでエラーにならないために Selenium で、 ChromeDriver を使う場合、 バージョンが合っていないとエラー になってしまいます。 Selenium::WebDriver::Error::SessionNotCreatedError: session not created: This ...
JavaScript 変数宣言で for文の i は保持される JavaScript では、C言語などと違って、 ブロックレベルの変数がありません 。 つまり、 for文 などで宣言した変数を使用できるということです。ちょっと便利ですね。 下記の例では、 var による宣言をしていますが、 10 と表示されます。 for( v...
Ruby 関数メソッドを後に書く方法 プロトタイプ宣言のような関数の後方参照 Ruby で、C, C++のように、 プロトタイプ宣言 して使用する関数メソッドを後ろに書く方法です。 Rubyでは、C, C++のように、プロトタイプ宣言することはできません 。 つまり、 呼び出されるメソッドは、呼び出される前に書かなければなりません 。 C, C++...