নিখুঁত পরিসীমা আক্ষরিক নকশা


10

আমি যদি ভাবছিলাম যে আমি যদি কোনও ভাষা ডিজাইন করি তবে কীভাবে আমি "নিখুঁত" পরিসীমা আক্ষরিক ডিজাইনের বিষয়ে যাব। আপনার জন্য যারা জানেন না যে কোনও বিবৃতিতে এমন একটি পরিসীমা আক্ষরিক নয় যা 1-4 এর মতো মানের একটি ব্যাপ্তি উপস্থাপন করে। এগুলি / ফরচ লুপগুলির জন্য সর্বাধিক ব্যবহৃত হয়

এক্ষেত্রে দু'টি বিষয় মনে করা উচিত

  • সমেত ও একচেটিয়া ব্যাপ্তির জন্য সমর্থন, +1 বা -1 এন্ডপয়েন্টগুলিতে তাক লাগিয়ে কিছুটা পলক এবং ত্রুটিযুক্ত বলে মনে হচ্ছে।

  • পদক্ষেপের জন্য সমর্থন, যাতে আপনি উদাহরণস্বরূপ বিভিন্ন বা এমনকি বিজোড় সংখ্যা তৈরি করতে পারেন

  • পাঠযোগ্যতা, পরিসীমা আক্ষরিক যা বর্ণনা করে তা সহজেই প্রকাশ হওয়া উচিত

  • অসম্পূর্ণতা, পরিসীমা আক্ষরিক যা বর্ণনা করে তা পুরোপুরি দ্ব্যর্থহীন হওয়া উচিত

  • ডিফল্ট সম্ভবত একচেটিয়া থেকে অন্তর্ভুক্ত হওয়া উচিত যেহেতু বেশিরভাগ ক্ষেত্রে অ্যারেগুলি লুপিংয়ের জন্য ব্যবহৃত হয় etc.

যাইহোক, আমি দেখেছি এমন পরিসরের আক্ষরিক একটি উদাহরণ হ'ল রুবি যা একচেটিয়া (শেষের দিকে) পরিসরের জন্য ১.৩ আকারে এবং অন্তর্ভুক্তির (1 টি শেষে) 1 ... 3 আকারে রয়েছে। আপনি 1..10.step (5 )ও করতে পারেন। যত্ন সহকারে বিবেচনা করার পরে আমি দেখতে পেলাম যে দুটি বিষয় আমার কাছে পছন্দ হয়নি (রুবি সম্পর্কে আমার সীমিত জ্ঞান থেকে)

  1. আপনি কেবল অন্তর্ভুক্তিমূলক এবং একচেটিয়া বর্ণনা করতে পারেন। বেশিরভাগ পরিস্থিতিতে বর্ণনা করার সময় এটি কিছুটা বেমানান বলে মনে হয়।

  2. মাত্র একটি অতিরিক্ত দ্বারা পরিবর্তিত। এটি পরিসীমা অন্তর্ভুক্ত বা একচেটিয়া কিনা তা শক্ত করে দেখার পক্ষে এটি একটি রেসিপি বলে মনে হচ্ছে। আমি আপনার সম্পর্কে জানি না তবে ডট এর ঝাপসা কিছু হয়ে যায় :)

  3. রেঞ্জগুলির জন্য স্বরলিখনের মতো পদ্ধতি যুক্ত করা কোনও শ্রেণীর সাথে আক্ষরিকের ধারণাকে মিশ্রিত বলে মনে হচ্ছে যা কিছুটা বেমানান বলে মনে হচ্ছে (এমনকি রেঞ্জগুলি কোনও শ্রেণিতে সংকলিত হয়ে গেলেও)

যাইহোক, বিভিন্ন বিকল্প বিবেচনা করার পরে। আমি এই নিয়ে এসেছি

  • [৫.১.১] ৫,৪,৩,২,১
  • [১.৫.২ [ ১,২,৩,৪
  • ] ১.৫] ২,৩,৪,৫
  • [ 0..5..20] 0,5,10,15,20

এবং তাই এগিয়ে। আমি এটি পছন্দ করি কারণ [সাধারণত একটি সেটকে অস্বীকৃতি জানায় এবং এই টাইপটি এটির সাথে ফিট করে, যদিও এটি কোনও সেটের বিপরীতে অর্ডার দেওয়া হবে।

যদিও আমি একচেটিয়াভাবে ছিড়েছি একচেটিয়া / অন্তর্ভুক্ত সূচককে বাধ্যতামূলক করা বা না করা, অর্থাত আপনি কেবল ১.৫ লিখলে ডিফল্টটি হবে 1,2,3,4 যেহেতু এটি অ্যারে ইত্যাদির মধ্যে সবচেয়ে সাধারণ ঘটনা case এটি সহজ এবং আরও পঠনযোগ্য তবে কম সুনির্দিষ্ট এবং আপনাকে যদি লিখতে হয় [1..5] তারা কীভাবে কাজ করে তা সম্পর্কে আপনি প্রথম দিকে শিখেন।

সুতরাং আপনি কী ভাবেন, আমি কি বেশিরভাগ ঘাঁটিগুলি coverেকে রেখেছি, কিছু উপেক্ষা করেছি? আপনি [বাধ্যতামূলক] করতে হবে? আপনি কি আপনার প্রোগ্রামিং ভাষায় বিস্তৃত আক্ষরিক নকশা করবেন?

প্রার্থী

  • বন্ধনী শৈলী: [0..10 [ , পদক্ষেপ সহ: [0..5..20 [
  • ব্যবধান স্বরলিপি: [0..10) পদক্ষেপ সহ: [0..5..20)
  • এক্সক্লুসিভ জন্য এক্সক্লুয়েশন। 0 ..! 10, পদক্ষেপ সহ: 0..5 ..! 20
    • বিভিন্ন পদক্ষেপ সহ। 0 ..! 20, 5
    • তবে, এটি ডিফল্ট * 0..10 ' সমেত-অন্তর্ভুক্ত করবে
  • শব্দযুক্ত: [২০ থেকে ২০!]

আমার অবশ্যই বলতে হবে যে আমার প্রিয় নান্দনিকভাবে এখন পর্যন্ত 0 ..! 10 এবং 0..5 ..! 20 , আমি কেবলমাত্র অন্তর্ভুক্ত-এক্সক্লুসিভের ডিফল্ট 0..10 আরও যুক্তিযুক্ত হতে চাই


2
1,5,10,15,20গ্যাপ 4, 5, 5, 5 ?!
পিটার টেলর

ওহো :) সংশোধন করেছেন
হোমডে

উত্তর:


14

গণিতে ইতিমধ্যে যা বিদ্যমান তা আবিষ্কার করুন কেন?

বিরতি স্বরলিপি

এটি ইতিমধ্যে বিদ্যমান হিসাবে আপনার 'Unambiguity' পয়েন্ট আবরণ করা উচিত।

আপনার একমাত্র সমস্যাটি পদক্ষেপটি সংজ্ঞায়িত করা হবে। গণিতের অন্য কোনও বিষয় এতে সাহায্য করতে পারে?


3
হাই, আমি আসলে বিরতি স্বরলিপি সম্পর্কে। তবে যে বিষয়টি আমাকে এটি ব্যবহার করতে চায়নি তা হ'ল এটি [এবং) উভয়ের সাথে প্রতিসাম্য নয় এবং ব্যবহৃত প্যারান্থেসিস পাশাপাশি পদক্ষেপগুলিও ছিল না (যেমন আপনি উল্লেখ করেছেন)। প্যারান্থেসিস ব্যবহার করে ব্রেস মিলাকে বিভ্রান্ত করার সম্ভাবনা রয়েছে বলে মনে হয় এবং আমি তাদের পরিবর্তে বাক্সে সংরক্ষণ করি। ব্যবহার] এবং [একটি আইসো স্ট্যান্ডার্ড এবং একীকরণের পদক্ষেপের সাথে আরও ভাল বলে মনে হয়েছিল, তবে এটি অবশ্যই আমার মতামত।
হোমডে

7
@ এমকেও: ​​আপনার তুলনাহীন বন্ধনী ব্যবহার করার মত ধারণা (যেমন [1..5[) স্ট্যান্ডার্ড অন্তর্বর্তী স্বীকৃতি হিসাবে সম্পাদকদের কমপক্ষে বিভ্রান্ত করবে।
ডেভিড থর্নলি

2
হুম, আরেকটি ধারণা, ব্যবহারের কী! এর জন্য, যেমন: 1 ..! 5 বা 0..5 ..! 20 (পদক্ষেপ সহ)
হোমদে

1
@ এমকেও: !প্রথম বা শেষ উপাদানটি বাদ দেওয়ার জন্য ব্যবহার করা ভাল হতে পারে।
হতাশিত

8

আপনি কি হাস্কেল রেঞ্জগুলি দেখেছেন? পদক্ষেপগুলির জন্য তাদের ধারণাটি আপনার (মাঝখানে) সমান তবে একটি সিন্ট্যাক্টিক পার্থক্য ( @ লুকির উত্তর থেকে ) দিয়ে নির্দেশিত :

[1,2..10] = [1,2,3,4,5,6,7,8,9,10]
[1,3..10] = [1,3,5,7,9]
[4,3..0]  = [4,3,2,1,0]
[0,5..]   = [0,5,10,15,20,25,30,35...  -- infinite
[1,1..]   = [1,1,1,1,1,1,1,1,1,1,1...  -- infinite

আমি এই স্বরলিপিটি খুব স্বজ্ঞাত বলে মনে করি: আপনি গণনা শুরু করেন এবং এটি কোথায় শেষ হবে তা চিহ্নিত করতে আপনি শরীরের উপরে ঝাঁপিয়ে পড়ে।

এটি "এক্সক্লুসিভ" জন্য কেসটি কাভার করে না, তবে প্রকৃতপক্ষে আমি আচরণের বিষয়ে একবার স্পষ্ট হয়ে উঠলাম (কোন সীমাটি অন্তর্ভুক্ত এবং কোনটি একচেটিয়া তা নির্দিষ্ট করুন) এবং সিনট্যাক্স চূড়ান্ত স্পষ্ট না হলে ব্যবহারকারী স্থগিতের প্রত্যাশা করবেন (এবং ভাষা অজ্ঞাব্য সম্পাদককে বিভ্রান্ত করে না)।


5

আপনার যে ভাষাগুলি অফার করে সেগুলি তালিকা বোধগম্য সম্পর্কে আপনার পড়া উচিত।

পাইথন, উদাহরণস্বরূপ, range()ফাংশনটি দিয়ে আপনার কেসগুলি খুব সুন্দরভাবে কভার করে এবং এত জটিল বিষয়গুলির সাথে তালিকার বোঝাপড়াটি প্রকাশ করে range()


2

আমি বিশ্বাস করি আপনার স্বরলিপিটি দ্ব্যর্থহীন থেকে অনেক দূরে। স্বজ্ঞাতভাবে, [0..5..20]আমার কাছে পদক্ষেপের প্রস্থের পরিসীমা = 5 এর মতো দেখায় না It এটি কোনও কোনও কোণেও ব্যর্থ হয়: সেটটি প্রকাশ করার বিষয়ে (0,2) - [0..2..2]বা আমার মাঝে কী রাখা উচিত?

আমি মনে করি পাইথনের স্লাইস সংকেতটি একটি দৃ approach় পদ্ধতির: [start:end:step](পদক্ষেপ beingচ্ছিক)।

যদি আপনার সত্যিই একচেটিয়া এবং অন্তর্ভুক্ত ব্যাপ্তির জন্য সমর্থন প্রয়োজন হয়, আমি যদি না এটি আপনার ভাষায় সিনট্যাকটিক অস্পষ্টতা না পরিচয় করে আমি মানক পরিসর স্বরলিপি ব্যবহার করব (অর্থাত্ ব্যবহার (এবং [)।


1
"মান" স্বরলিপি সংক্রান্ত, ইউরোপীয় বিদ্যালয় শেখান [], [[, ]]এবং ][, কোন প্রথম বন্ধনী ... আর আমাদের মান অবশ্যই, উত্তম;)
Matthieu এম

@Matthieu: বাস্তবিক, নেদারল্যান্ড (যেখানে এখানে নেই ইউরোপে), আমরা যে মান স্বরলিপি শেখানো হয়।
ফ্রেটস

1

আমি মনে করি আপনি যখন কোনও তৃতীয় বর্ধন মান নির্ধারণ করছেন তখন আপনি মাঝারিটির চেয়ে এ প্রান্তটি যুক্ত করা ভাল, যেহেতু এটি একটি alচ্ছিক মান, এবং মধ্যমতে একটি optionচ্ছিক তৃতীয় যুক্তি যুক্ত করার চেয়ে পাকা প্রোগ্রামারদের কাছে আরও স্বজ্ঞাত বলে মনে হয় ।

সুতরাং [1..5..20] এর পরিবর্তে আপনি [1..20] [5] বা [1..20,5] এর মতো কিছু করতে পারেন


এটি একটি বৈধ পয়েন্ট এবং সম্ভবত স্বাদের বিষয়, এটি কেবল আমার কাছে মনে হয়েছিল যে "1 থেকে 5 থেকে 20" না হয়ে "1 থেকে 2 পর্যন্ত," পদক্ষেপ 5 দিয়ে "[1..20] ব্যবহার করা আরও সহজ হবে [ [5] কিছুটা বিশৃঙ্খলাযুক্ত বলে মনে হচ্ছে তবে সম্ভবত কমা পদ্ধতির ব্যবহারযোগ্য হবে। আমি সে সম্পর্কে আরও প্রতিক্রিয়াটির প্রশংসা করব
হোমডে

1
  • [১.৫.২ [১,২,৩,৪
  • ] ১.৫] ২,৩,৪,৫
  • ] ১.৫ [২,৩,৪

কেন শুধু [1..4], [2..5], [2..4] ব্যবহার করবেন না? রেঞ্জগুলি বাদ দিয়ে খুব বেশি সুবিধা দেওয়া হয় না। হ্যাঁ, আপনার এমআইএন + 1 বা MAX-1 লেখার দরকার নেই তবে তারা এটিকে যাইহোক নিষেধ করে না। খুব বেশি প্রকরণ, ইমো। আমার পছন্দসই, স্কালার ভাষাতে (1 থেকে 3) এবং (1 পর্যন্ত 3) [= (1 থেকে 2)] তবে এটি শুরুতেই আমাকে বিভ্রান্ত করেছে। এখন আমি সর্বদা 'x থেকে y' ব্যবহার করি এবং তাই জানি, আমি যে বিকল্পটি ব্যবহার করি না তা হ'ল বাদ দেওয়া, তবে অবশ্যই আমি অপশনটি ব্যবহার করি না যা আমি ব্যবহার করি না।

  • [৫.১.১] ৫,৪,৩,২,১

অবশ্যই (1 থেকে MAX) (x => y = (MAX + 1) - x) তবে এটি অনেকটা বয়লারপ্লেট এবং ব্যবহারকারী হিসাবে বন্ধুত্বপূর্ণ নয়।

  • [0..5..20] 0,5,10,15,20

অবশ্যই (0 থেকে 4) (x => y = x * 5) এত বেশি বয়লারপ্লেট নয়। সন্দেহজনক।


রেখাগুলি বাদ দিয়ে মূল সুবিধা, আফিক, উপাদানগুলির সংখ্যা হ'ল শেষ পয়েন্টগুলির পার্থক্য।
জাস্টিন এল।

@ জাস্টিনএল .: 5-1টি আমার বীজগণিতের মধ্যে 4 কিন্তু সীমানা বাদ দিয়ে 3 টি উপাদান রয়েছে: 2, 3, 4
ব্যবহারকারী অজ্ঞাত

1

এরকম কিছু সম্পর্কে:

  • [৫.১.১] ৫,৪,৩,২,১
  • [১.৫] [আমি, ই] ১,২,৩,৪
  • [৫.১.১] [আমি, ই] ৫,৪,৩,২ জন
  • [১.৫] [ই, আই] ২,৩,৪,৫
  • [1..5] [ই, ই] 2,3,4
  • [0..20] 5 0,5,10,15,20 দ্বারা

iএবং eবর্গাকার বন্ধনী দ্বিতীয় জোড়ায় ইঙ্গিত যদি begining বা ব্যাপ্তির বিভক্তি সমেত বা একচেটিয়া (বা আপনি ব্যবহার করতে পারে incl, এবং exclযদি আপনি আরো স্পষ্ট হতে চান)। by 5পদবিন্যাস ব্যবধান নির্দেশ করে। প্রথম এবং শেষ উদাহরণটি প্রথম এবং শেষ মানের সহ অন্তর্ভুক্ত, তাই আমি বাদ দিয়েছি [i,i], যা আমি মনে করি একটি ঠিক আছে অনুমিত ডিফল্ট আচরণ।

ডিফল্ট মানগুলি [i,i]অন্তর্ভুক্ত / এক্সক্লুসিভ স্পেসিফায়ারের এবং by 1পদক্ষেপ নির্দিষ্টকারীর জন্য হতে পারে ।

সাধারণত আমি জড়িত স্ট্যান্ডার্ড নোটেশনটি পরামর্শ দিয়েছিলাম (এবং [@ ড্যান ম্যাকগ্রা দ্বারা উল্লিখিত হিসাবে, তবে আমি সম্মত হই যে কোডে এটি বিভ্রান্তিকর হতে পারে।


কেউ কি ডাউনটোটকে ব্যাখ্যা করতে পারে?
হতাশিত

আমি স্পষ্টত ভুল কিছু দেখিনি । ডাউনওয়েটের বিরুদ্ধে লড়াই করতে আমি উজ্জীবিত হয়েছি।
বারিন লরিটস

1

এবং বিজয়ী

আমার নিজের সমাধানটি বেছে নেওয়ার জন্য দুঃখিত, আমি সমস্ত মন্তব্য এবং প্রতিক্রিয়াটির সত্যই প্রশংসা করি এবং আপনি যদি এটির সাথে কোনও ভুল খুঁজে পান তবে দয়া করে এই সমাধানটির সমালোচনা করুন please

তাই আমি সিদ্ধান্ত নিয়েছিলাম:

0..5           = 0,1,2,3,5
0..5..10       = 0,5,10
..3            = 0,1,3
!0..!5         = 1,2,3,4
3..            = 3 to infinity

segmented ranges
-
0..5,..5..20   = 0,1,2,3,4,5,10,15,20
0..3,10..5..20 = 0,1,2,3,10,15,20

যেহেতু আপনি দেখতে পাচ্ছেন উভয় ইন্দ্রিয়ের মধ্যে অন্তর্ভুক্তি হ'ল বিশেষত পদক্ষেপ ব্যবহারের সময় এটি স্বজ্ঞাগতভাবে সর্বাধিক বোধ করে। তুমি ব্যবহার করতে পার ! শেষ একচেটিয়া করা।

নেতিবাচকতাটি হ'ল সাধারণত কোনও অ্যারের বিরুদ্ধে কাজ করার সময় আপনি একচেটিয়া ব্যবহার করতে চান, তবে আবার, বেশিরভাগ ক্ষেত্রে আপনার সম্ভবত এই ক্ষেত্রে প্রতিটিটির জন্য কিছু ব্যবহার করা উচিত। আপনি যদি সত্যিই সূচকটির বিরুদ্ধে কাজ করতে চান তবে আপনি যখন সম্ভবত সম্ভবত বাদ পড়ার চিহ্নটিকে ভুলে গিয়ে একটি সতর্কতা জারি করেছিলেন তখন পার্সার চিনতে পারে

আমি ব্যবহার করতে গিয়েছিলাম .. কমা বা অন্য কিছু ব্যবহার করার পরিবর্তে ধাপের ভেরিয়েবলের দুপাশে যেহেতু এটিকে সবচেয়ে পরিষ্কার দেখাচ্ছিল এবং আমি আশা করি যে সর্বাধিক পঠনযোগ্য।

বিভিন্ন অংশের বিভিন্ন পদক্ষেপ রয়েছে এমন রেঞ্জগুলি তৈরি করতে সক্ষম হবার জন্য আমি কমা'র সাথে কিছু বাক্য গঠনও ছুঁড়েছি


পদক্ষেপটি নির্দিষ্ট করার সময় বাদে এটি ঠিক আছে। আমি মনে করি যে এটি [0..10 দ্বারা 5] হিসাবে পরিষ্কার হবে। খণ্ড বিস্তৃত পরিসর [0..5, ..20 বাই 5] ইত্যাদি হতে পারে One ইত্যাদি [প্রথম ধাপে ধাপে] নামিমেটগুলিও নির্দিষ্ট করতে পারে, যা (অন্যান্য ফর্মগুলির বিপরীতে) এক ধাপের শূন্যের জন্য অনুমতি দিতে পারে।
সুপারক্যাট

0

আপনি প্যারেন এবং ধনুর্বন্ধনী মিশ্রণ এড়াতে পারবেন একই কারণগুলির জন্য আমি '[1..5 [' ফর্মটি ব্যবহার করব না) এটি বেশিরভাগ বিদ্যমান সম্পাদকদের ব্রেস মিলকে বিভ্রান্ত করবে। '[1 .. | 5]' এর মতো ব্রেসগুলির মধ্যে সম্ভবত একটি মার্কার ব্যবহার করুন।

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


0

রুবির স্বরলিপি এবং একটি ব্যাপ্তি অবজেক্ট রয়েছে যা কাজ করে। মূলত এটির মতো দেখাচ্ছে:

1..5  # range 1,2,3,4,5

রুবির সাথে, পদক্ষেপের আকারটি ব্যাপ্তির কোনও ক্রিয়া নয়, বরং পরিসীমাটির মধ্য দিয়ে পুনরাবৃত্তি করার একটি ফাংশন। আমরা উপরের একই সীমাটি ব্যবহার করতে পারি এবং যদি আমরা এটি করতে চাই তবে এটির মাধ্যমে আলাদাভাবে পুনরাবৃত্তি করতে পারি:

(1..5).step(3) { |x| puts x }
(1..5).step(2) { |x| puts x }

সুতরাং আপনি যে বিষয়গুলি বিবেচনা করতে চাইতে পারেন তা এখানে:

  • অন্তর্ভুক্ত / একচেটিয়া শেষ পয়েন্টগুলির জন্য ভাষা সমর্থন যুক্ত করা সমস্যাযুক্ত হতে পারে। যদি সমস্ত ব্যাপ্তিকে অন্তর্ভুক্ত করা হয় (রুবির পছন্দ), তবে বিকাশকারীরা সেই অনুযায়ী পরিসীমাটির শেষ প্রান্তগুলি সামঞ্জস্য করবে। সাধারণ পার্সার ব্যাকরণের সাথে দৃষ্টিগোচর ও অস্পষ্ট উভয়ভাবে এমন উপায়ে আপনি কীভাবে সমাপ্তি বা ব্যতিক্রমকে উপস্থাপন করবেন?
  • আপনি কি কেবল পুনরাবৃত্তির চেয়েও বেশি পরিসর ব্যবহার করছেন? সাধারণ উদাহরণগুলির মধ্যে পরিসীমা তুলনা, বিভক্তকরণের, পরিসরের তুলনাতে মান অন্তর্ভুক্ত। যদি তা হয় তবে কীভাবে আপনি এই সম্ভাবনার প্রতিনিধিত্ব করবেন? (এই উদাহরণগুলির প্রতিটি ধারণার জন্য রেঞ্জ শ্রেণীর লিঙ্কটি দেখুন))

বিটিডাব্লু, রেঞ্জগুলি যদি আপনি রুবির মতো একটি স্যুইচ বিবৃতিতে অন্তর্ভুক্ত করার অনুমতি দেন তবে এটি দুর্দান্ত থাকে:

switch(myval)
    when 0..33 then puts "Low"
    when 34..66 then puts "Medium"
    when 67..100 then puts "High"
end

আমি বলছি না যে রুবির ব্যাপ্তি অবজেক্টটি সব শেষ এবং সব হবে, তবে এটি আপনি যে ধারণার কথা বলছেন তার কার্যকরী বাস্তবায়ন। আপনি কী পছন্দ করেন, অপছন্দ করেন এবং অন্যভাবে করেন তা দেখতে এটি খেলুন।


প্রশ্নটি মনোযোগ সহকারে পড়ুন, ওপী রুবি রেঞ্জ সম্পর্কে ইতিমধ্যে সচেতন:Anyways, one example of range literal I've seen is Ruby which is in the form of 1..3 for an exclusive (on the end) range and 1...3 for inclusive (on the end). You can also do 1..10.step(5).
হতাশাগ্রস্থ

0

একটি সমাধান যা আমি অবশ্যই বিবেচনা করব তা হ'ল উদ্বোধক হিসাবে অপারেটর ব্যবহার করা

1+[0..3]*5

এটি অগত্যা প্রত্যেকের কাছে স্বচ্ছ হতে হবে না, তবে তারা একবার থামলে এবং মনে করে যে আমি আশা করি বেশিরভাগ প্রোগ্রামাররা এটি বুঝতে পেরেছেন, এবং যে সমস্ত লোকেরা নিয়মিত ভাষাটি ব্যবহার করেন তারা কেবল এটি একটি মূর্তি হিসাবে শিখবেন।

স্পষ্ট করার জন্য, ফলাফলটি হবে [1, 6, 11, 16], গুণটি উত্তোলন করবে এবং তারপরে পরিসীমাটির উপরে সংযোজন করবে। আমি বুঝতে পারি নি যে এটি পাইথন ব্যবহারকারীদের কাছে অস্পষ্ট হতে পারে; আমি তালিকা হিসাবে তালিকার চেয়ে মোট অর্ডারের সাবসেট হিসাবে মনে করি। এবং একটি সেট পুনরাবৃত্তি করা মানে না।


2
খুব অস্পষ্ট। পাইথনের মতো এটি "5 বারের list expression * 5মান পুনরাবৃত্তি list expression"ও করতে পারে।
নিকি

এটি দেখতে খুব অদ্ভুত লাগছে এবং আমি নিশ্চিত নই যে এটি কী হবে ... 1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3? 1,3,6,9,12? 5,10,15? অন্য কিছু, সম্ভবত? যেভাবেই হোক, আমি এই স্বরলিপিটি সম্পূর্ণরূপে বিপরীত বলে মনে করি। দেখে মনে হচ্ছে এটি কিছুটা অদ্ভুত সি পয়েন্টার অপারেশন ...
হতাশাগ্রস্থ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.