बस हास्केल का उपयोग करके देखा और महसूस किया (जहां तक मैं कह सकता हूं) स्ट्रिंग को जांचने के लिए कोई सीधा तरीका नहीं है यह देखने के लिए कि इसमें एक छोटी स्ट्रिंग है या नहीं। तो मैंने सोचा कि मैं बस उस पर एक शॉट ले जाऊंगा।क्या "स्ट्रिंग युक्त एक्स" विधि लिखने का कोई बेहतर तरीका है?
अनिवार्य रूप से विचार यह जांचना था कि दोनों तार एक ही आकार के थे और बराबर थे। यदि स्ट्रिंग की जांच की जा रही थी, तो सिर की बार-बार लूप थी और स्ट्रिंग की जांच होने तक जांच को फिर से चलाएं।
बाकी संभावनाएं मैंने उन्हें संभालने के लिए पैटर्न का उपयोग किया। यही वह है जिसके साथ मैं आया:
stringExists "" wordToCheckAgainst = False
stringExists wordToCheckFor "" = False
stringExists wordToCheckFor wordToCheckAgainst | length wordToCheckAgainst < length wordToCheckFor = False
| length wordToCheckAgainst == length wordToCheckFor = wordToCheckAgainst == wordToCheckFor
| take (length wordToCheckFor) wordToCheckAgainst == wordToCheckFor = True
| otherwise = stringExists wordToCheckFor (tail wordToCheckAgainst)
Hoogle के लिए +1। यह सभी हास्केल कोडर्स का सबसे अच्छा दोस्त है :) – Daenyth
जांच रहा है ['InInfixOf'] का स्रोत] (http://hackage.haskell.org/packages/archive/base/latest/doc/html/src/Data-List.html #isInfixOf) निर्देशक है। – dave4420
@ डेव 4420 लिंक टूटा हुआ है। – ThreeFx