나는 기본적으로 RSS 스크립트 &을 읽는 간단한 스크립트를 사용해 트위터에 푸시합니다.함수로 코드를 옮겼을 때 Ruby 스크립트가 실행되지 않는 이유는 무엇입니까?
스크립트는 제대로 작동하지만 함수를 모두 이동하고 함수를 호출하면 실행되지 않습니다. 이게 왜 그렇게?
가 여기에 작동하는 내용은 다음과 같습니다
require 'rubygems'
require 'simple-rss'
require 'open-uri'
require 'bitly'
require 'twitter'
def setup_bitly()
puts "Bitly setup"
bitly_username = "<user-name>"
bitly_apikey = "R_<api-key>"
Bitly.use_api_version_3
bitly = Bitly.new(bitly_username, bitly_apikey)
end
def setup_twitter()
Twitter.configure do |config|
config.consumer_key = "<key>"
config.consumer_secret = "<secret>"
config.oauth_token = "<token>"
config.oauth_token_secret = "<secret>"
twitter = Twitter::Client.new
end
end
bitly = setup_bitly()
twitter = setup_twitter()
url = "http://stackoverflow.com/feeds/tag/ruby"
puts 'Fetching and parsing feed: ' + url.to_s
rss = SimpleRSS.parse open(url)
rss.items.reverse.each_with_index do |i,idx|
u = bitly.shorten(i.link, :history => 1)
twitter_status = "#{i.title}"
puts twitter_status
twitter.update(twitter_status)
sleep 10
end
다음은 출력입니다 :
C:\Users\Sathya\Documents\code\read-feed>read-feed.rb
Fetching and parsing feed: http://stackoverflow.com/feeds/tag/ruby
Dynamic lists in rails 3
Ruby add dynamic events using AASM
내가 함수에 마지막 블록을 이동하는 경우, 그것은 실행되지 않습니다. "실행하지 않는다"는 것은 Ruby 인터프리터가 &을 종료하고 실행 (오류) 메시지가 없음을 의미합니다. 이게 왜 그렇게? 나는 윈도우 7 루비에 64 비트에서 실행 해요
C:\Users\Sathya\Documents\code\read-feed>read-feed.rb
:
require 'rubygems'
require 'simple-rss'
require 'open-uri'
require 'bitly'
require 'twitter'
def setup_bitly()
puts "Bitly setup"
bitly_username = "<username>"
bitly_apikey = "<api_key>"
Bitly.use_api_version_3
bitly = Bitly.new(bitly_username, bitly_apikey)
end
def setup_twitter()
Twitter.configure do |config|
config.consumer_key = "<key>"
config.consumer_secret = "<secret>"
config.oauth_token = "<token>"
config.oauth_token_secret = "<secret>"
twitter = Twitter::Client.new
end
end
def do_work()
url = "http://stackoverflow.com/feeds/tag/ruby"
puts 'Fetching and parsing feed: ' + url.to_s
rss = SimpleRSS.parse open(url)
rss.items.reverse.each_with_index do |i,idx|
u = bitly.shorten(i.link, :history => 1)
twitter_status = "#{i.title}"
puts twitter_status
twitter.update(twitter_status)
sleep 10
end
bitly = setup_bitly()
twitter = setup_twitter()
do_work()
end
내가 이것을 실행하는 경우는, 스크립트가 & 종료 될 실행 :
이
문제의 원인이되는 버전입니다 1.9.2p290
Err .. 네, 어리석은 것처럼 보입니다. 그렇죠?명백한 실수를 지적 해 주셔서 감사합니다 :) – Sathya
+1 "please do not". –