راکت
حل شده

استفاده از include در شرط

7 پاسخ

سلام دوستان
وقتتون بخیر
من تو یک نمونه پیاده سازی calculator با react به یه همچین شرطی برخوردم:

   if(this.state.result.includes('--'))

میدونید این عبارت ('--') include به چه معنی هست؟

ثبت پرسش جدید

پاسخ‌ها

7
میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

بهترین پاسخ

بله ممکنه این اتفاق بیفته.
بعلاوه در عبارات ریاضی هم ممکنه اتفاق بیفته.

حالت دیگه ای هم داره، بدین صورت:
5000 تا داریم، می خوایم منهای ِ منفی 3000 کنیم.

در مثالی که زدم هم در واقع معادلی برای همون منفی در منفی، می شود مثبت هستش.

اتفاقا به نظر من کسی که این کد رو نوشتم، دقت نظر بالایی داشته که این حالت رو در نظر گرفته.

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

includes() یک method هستش.
منبع: https://www.w3schools.com/jsref/jsref_includes.asp

بررسی می کنه که: آیا یک رشته ی موجود، شامل یک رشته ی خاص دیگه میشه یا نه؟
مقدار برگشتی هم: یا مقدار درست true هستش یا غلط false

درین مثال یعنی: آیا رشته ی (this.state.result)، شامل یک رشته ی ('--')، میشه یا نه؟

مونا
مونا
@mona.hagh

تخصص: علاقه مند به برنامه نویسی

@milad درسته اما الزام استفاده از این خط (('--') include )در ماشین حساب چی هست؟

شاید پاسخ شما همین‌جا باشد

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

درود

این یه عبارت شرطیه که چک میکنه «--» در استیت موردنظر هست یا نه .. احتمالا برای نوع محاسبه‌ای که باید انجام بشه ازش استفاده میشه اما تا کد کاملش رو به اشتراک نگذارید، نمیشه به طور قطعی گفت.

مونا
مونا
@mona.hagh

تخصص: علاقه مند به برنامه نویسی

کد کامل به این شکل هست:

import React, { Component } from 'react';
import './App.css';
import ResultComponent from './components/ResultComponent';
import KeyPadComponent from "./components/KeyPadComponent";

class App extends Component {
    constructor(){
        super();

        this.state = {
            result: ""
        }
    }

    onClick = button => {

        if(button === "="){
            this.calculate()
        }

        else if(button === "C"){
            this.reset()
        }
        else if(button === "CE"){
            this.backspace()
        }

        else {
            this.setState({
                result: this.state.result + button
            })
        }
    };

    calculate = () => {
        var checkResult = ''
        if(this.state.result.includes('--')){
            checkResult = this.state.result.replace('--','+')
        }

        else {
            checkResult = this.state.result
        }

        try {
            this.setState({
                // eslint-disable-next-line
                result: (eval(checkResult) || "" ) + ""
            })
        } catch (e) {
            this.setState({
                result: "error"
            })

        }
    };

    reset = () => {
        this.setState({
            result: ""
        })
    };

    backspace = () => {
        this.setState({
            result: this.state.result.slice(0, -1)
        })
    };

    render() {
        return (
            <div>
                <div className="calculator-body">
                    <h1>Simple Calculator</h1>
                    <ResultComponent result={this.state.result}/>
                    <KeyPadComponent onClick={this.onClick}/>
                </div>
            </div>
        );
    }
}

export default App;
میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

مرسی از بابت قرار دادن کدها، الان جوابش مشخصه:

if(this.state.result.includes('--')){
            checkResult = this.state.result.replace('--','+')
        }

داره میگه وقتی دوتا منفی پشت سرهم بودش، تبدیلش کن به مثبت.
خب این یک قاعده ی ریاضی هستش، منفی در منفی میشه مثبت.
متوجه شدید؟

مونا
مونا
@mona.hagh

تخصص: علاقه مند به برنامه نویسی

@milad
خب شما وقتی از ماشین حساب استفاده میکنید، اینکارو انجام میدید که مثلا تایپ کنید --3؟
در محاسبات روی کاغذ و مسایل ریاضی ممکنه این کارو انجام بدیم ولی لزوم اینکار در ماشین حساب رو متوجه نمیشم

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام