土台とするプログラム: httpGet1.rb
or
の意味をもつ2つの演算子、と優先度について
別ページの実施例も参照。
演算子 or
と ||
は、意味としては同じ。
左辺の値が 非false であれば、その左辺の値が演算子式の値となり、 右辺は無視される(評価もされない)。
左辺の値が false(あるいは nil)であれば、左辺の値は廃棄され、 右辺の値が演算子式の値となる。
ただし、式
fname=ARGV.shift||'xxx.txt'
の、演算子
||
を or
に置き換えると、想定された機能を満たせない。
fname=(ARGV.shift or 'xxx.txt')
のように ’( )’で囲めば、優先度にかかわらず同じ意味になる。
制御構造としての論理演算子
&&
の演算子は、左辺が偽の値だった時には右辺は評価も実行もされない (or
および ||
では、左辺が非偽の値のときに右辺が評価実行されない)。配列の最初の要素を取り出す
正規表現の資料ページ を参照。
正規表現の解説に先立って、Stringクラスに提供されているメソッドをいくつか確認しておく。
String#+
(連結)String#*
(回数を決めて繰り返して連結)String#index
(与えられたパターンの出現する場所=添字を見つける)String#[]
(部分文字列を取り出すなど)String#split
(分割)これらを代替する包括的な発想法として正規表現がある。
ネットワークアクセスするプログラムのアクセス先を渡す方法(プログラムの書き方)を考える。例えば、