私はWebスクレーパーで作業しています。ページにはいくつかのバリエーションがあり、プログラムはそれぞれ異なる方法で動作するはずです。ページ上の内容に応じてページを処理する方法を変更する必要があります。私は入れ子にすることができますif
:Rubyが適切な構造の場合
if str=data.css('div#imgTag').to_s
str.delete('@')
#do something
elsif str=data.css('span#Title').to_s
#do something else
elseif str=data.css('span#block').to_s
#do something
end
return str
上記のコードは、常に動作しません。私には欠陥があると思います。私はそれに対処するより良い方法を探しています。私はよりエレガントな、建設を探しています。
あなたがここに間違えているelseif' noキーワードが '存在しませんか? –
'str = ...'または 'str == ...'? – Aetherus
'to_s'は常に文字列、つまり* truthy *値を返します。したがって、あなたの 'elsif'は決して到達されません。 – Stefan