কীভাবে কার্যকর করতে বিরতি দেওয়া, ঘুমানো, আর-তে X সেকেন্ডের জন্য অপেক্ষা করুন?


128

সেকেন্ড বা মিলিসেকেন্ডের নির্দিষ্ট সংখ্যার জন্য আপনি কীভাবে কোনও আর স্ক্রিপ্টটি থামিয়ে রাখবেন? অনেক ভাষায়, একটি sleepফাংশন রয়েছে, তবে ?sleepএকটি ডেটা সেট উল্লেখ করে। এবং ?pauseএবং ?waitনেই।

উদ্দিষ্ট উদ্দেশ্য স্ব-সময়সীমা অ্যানিমেশনগুলির জন্য। পছন্দসই সমাধান ব্যবহারকারীর ইনপুট না জিজ্ঞাসা করে কাজ করে।


5
@ রিকার্ডো, জোশুয়া এবং অন্যান্যদের সাথে আমরা এ নিয়ে পুরো আলোচনা করেছি এবং অবশেষে আমরা একমত হয়েছি যে "বিরতি" এবং "ঘুম" উভয়ই শিরোনামে থাকা উচিত। চূড়ান্ত শিরোনাম ছিল একটি আপোষের ফলাফল। এবং আপনি কেবল কোনও যুক্তি ছাড়াই এবং পদক্ষেপ দিয়েছিলেন কেন আপনার শিরোনাম আগের সংশোধনীতে আরও ভাল রোলব্যাক? শিরোনামে "ঘুম" যুক্ত করা প্রশ্নটি আরও সহজ করে তোলে কারণ "ঘুম" অনেক ভাষায় এবং ব্যবহারকারীরা এটি অনুসন্ধান করার উচ্চ সম্ভাবনা রয়েছে। বর্তমান শিরোনামে প্রচুর শব্দ বালাস্ট রয়েছে এবং গুরুত্বপূর্ণ কীওয়ার্ডটি অনুপস্থিত। আপনার রোলব্যাকের উদ্দেশ্য কী ছিল?
টিএমএস

গুগল "আর স্লিপ" এটি খুঁজে পেল না, এটি ঠিক করার চেষ্টা করেছিল।
টিএমএস

উত্তর:


144

দেখুন help(Sys.sleep)

উদাহরণস্বরূপ, থেকে ?Sys.sleep

testit <- function(x)
{
    p1 <- proc.time()
    Sys.sleep(x)
    proc.time() - p1 # The cpu usage should be negligible
}
testit(3.7)

প্রদায়ক

> testit(3.7)
   user  system elapsed 
  0.000   0.000   3.704 

1
এই পৃষ্ঠাটি থেকে উদাহরণ কোড এখানে। ৩.7 সেকেন্ডের জন্য বিরতি দেওয়ার জন্য টেস্টিট <- ফাংশন (এক্স) {পি 1 <- প্রো.টাইম () সিস.স্লিপ (এক্স) প্রো.টাইম () - পি 1 # সিপিইউ ব্যবহার নগণ্য হওয়া উচিত be টেস্টিট (3.7)
ড্যান গোল্ডস্টিন

21
যাইহোক, help.search ("ঘুম") আপনাকে সেই পথে পরিচালিত করবে।
ডার্ক এডেলবুয়েটেল

কেন আপনি ঠিক করতে পারবেন না Sys.sleep(10)?
লিও লোপোল্ড হার্টজ 준영

আমি মনে করি আপনি আমার উদাহরণ এবং চিত্রের ভুল
বোঝেন

13

সিপিইউর ব্যবহার খুব বেশি হলে সিস.স্লিপ () কাজ করবে না; যেমন অন্যান্য গুরুত্বপূর্ণ উচ্চ অগ্রাধিকার প্রক্রিয়া চলছে (সমান্তরালভাবে)।

এই কোডটি আমার পক্ষে কাজ করেছিল। এখানে আমি 2.5 থেকে দ্বিতীয় ব্যবধানে 1 থেকে 1000 মুদ্রণ করছি।

for (i in 1:1000)
{
  print(i)
  date_time<-Sys.time()
  while((as.numeric(Sys.time()) - as.numeric(date_time))<2.5){} #dummy while loop
}

সাইস.স্লিপ () ফাংশনটি আমার ব্যবহারের ক্ষেত্রে কার্যকর হয়নি এবং প্রয়োজনীয় বিলম্ব তৈরি করতেই আমি কেবল এটিই সক্ষম হয়েছি।
Pake
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.